window.location.href='" . esc_url($location) . "';"; exit; } public static function render_shortcode($attributes = []) { $is_success = isset($_GET['aetta_success']) ? true : false; $error_msg = isset($_GET['aetta_err']) ? sanitize_text_field(wp_unslash($_GET['aetta_err'])) : ''; $options = AETTAEC_Plugin::get_plugin_options(); if ((int)$options['use_css'] === 1) { wp_enqueue_style('aettaec-form', AETTAEC_PLUGIN_URL . 'assets/css/form.css', [], AETTAEC_VERSION); } $css_variables = [ '--aettaec-border-color:' . $options['ui_border_color'], '--aettaec-border-width:' . (int)$options['ui_border_width'] . 'px', '--aettaec-radius:' . (int)$options['ui_radius'] . 'px', '--aettaec-input-height:' . (int)$options['ui_input_height'] . 'px', '--aettaec-button-bg:' . $options['ui_button_bg'], '--aettaec-button-text:' . $options['ui_button_text'], '--aettaec-success-border:' . $options['ui_success_border'], '--aettaec-error-border:' . $options['ui_error_border'] ]; $style_attr = implode(';', $css_variables); $html = ''; if ($is_success) { $html .= '
' . esc_html__('Success!', 'aetta-email-capture') . ' — ' . esc_html($options['success_message']) . '
'; } if ($error_msg) { $msg = ($error_msg === 'invalid') ? $options['error_invalid'] : urldecode($error_msg); $html .= '
' . esc_html__('Error:', 'aetta-email-capture') . ' ' . esc_html($msg) . '
'; } $html .= '
'; $html .= wp_nonce_field('aettaec_submit', 'aettaec_nonce', true, false); $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; if ((int)$options['consent_required'] === 1) { $html .= ''; } $html .= '
'; $html .= ''; $html .= '
'; return $html; } private static function execute_submission_logic($options, $data) { if (!empty($data['aettaec_hp'])) return $options['error_invalid']; $ts = isset($data['aettaec_ts']) ? absint($data['aettaec_ts']) : 0; if ((time() - $ts) < (int)$options['min_submit_seconds']) return $options['error_wait']; $name = isset($data['aettaec_name']) ? sanitize_text_field(wp_unslash($data['aettaec_name'])) : ''; $email = isset($data['aettaec_email']) ? sanitize_email(wp_unslash($data['aettaec_email'])) : ''; if ($name === '' || !is_email($email)) return $options['error_required']; if ((int)$options['consent_required'] === 1 && empty($data['aettaec_consent'])) return $options['error_consent']; $pid = wp_insert_post([ 'post_type' => AETTAEC_CPT::POST_TYPE, 'post_status' => 'private', 'post_title' => $email, ]); if (is_wp_error($pid)) return $options['error_invalid']; update_post_meta($pid, '_aettaec_name', $name); update_post_meta($pid, '_aettaec_email', $email); update_post_meta($pid, '_aettaec_consent', !empty($data['aettaec_consent']) ? 1 : 0); return true; } }