Beispiel #1
0
 function validate_widget()
 {
     if (isset($_POST['submit-subscribe-widget-user'])) {
         global $mailchimp_sync;
         $doing_ajax = defined('DOING_AJAX') && DOING_AJAX;
         $errors = array();
         if (!$doing_ajax) {
             if (!wp_verify_nonce($_POST['_wpnonce'], 'mailchimp_subscribe_user')) {
                 return false;
             }
         } else {
             check_ajax_referer('mailchimp_subscribe_user', 'nonce');
         }
         $_form_id = $_POST['form_id'];
         $form_id = explode('-', $_form_id);
         $number = $form_id[count($form_id) - 1];
         $settings = $this->get_settings();
         if (!isset($settings[$number])) {
             return;
         }
         $settings = $settings[$number];
         $errors = WPMUDEV_MailChimp_Form::validate_subscription_form($_POST, $settings);
         if (empty($errors)) {
             $user['email'] = sanitize_email($_POST['subscription-email']);
             $user['first_name'] = sanitize_text_field($_POST['subscription-firstname']);
             $user['last_name'] = sanitize_text_field($_POST['subscription-lastname']);
             $mailchimp_sync->mailchimp_add_user($user);
             if (!$doing_ajax) {
                 $redirect_to = add_query_arg('mailchimp-subscribed-' . $number, 'true') . '#' . $_form_id;
                 wp_redirect($redirect_to);
                 exit;
             } else {
                 $text = apply_filters('mailchimp_form_subscribed_placeholder', $this->args['subscribed_placeholder'], $_POST['form_id']);
                 wp_send_json_success(array('message' => $text));
             }
         } elseif (!empty($errors) && $doing_ajax) {
             wp_send_json_error($errors);
         }
         $this->errors[$number] = $errors;
     }
 }
Beispiel #2
0
 public function validate_shortcode($settings = array())
 {
     if (isset($_POST['submit-subscribe-shortcode-user'])) {
         global $mailchimp_sync;
         $errors = array();
         if (!wp_verify_nonce($_POST['_wpnonce'], 'mailchimp_subscribe_user')) {
             return false;
         }
         $_form_id = $_POST['form_id'];
         $form_id = explode('-', $_form_id);
         $number = $form_id[count($form_id) - 1];
         $errors = WPMUDEV_MailChimp_Form::validate_subscription_form($_POST, $settings);
         if (empty($errors)) {
             $user['email'] = sanitize_email($_POST['subscription-email']);
             $user['first_name'] = sanitize_text_field($_POST['subscription-firstname']);
             $user['last_name'] = sanitize_text_field($_POST['subscription-lastname']);
             $mailchimp_sync->mailchimp_add_user($user);
         }
         $this->errors[$number] = $errors;
     }
 }