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 .= '';
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;
}
}