@@ -8,10 +8,10 @@ discard block |
||
| 8 | 8 | $submission_handler = new Yikes_Inc_Easy_Mailchimp_Extender_Process_Submission_Handler( $is_ajax = true ); |
| 9 | 9 | |
| 10 | 10 | // parse our form data |
| 11 | -parse_str( $_POST['form_data'], $data ); |
|
| 11 | +parse_str( $_POST[ 'form_data' ], $data ); |
|
| 12 | 12 | |
| 13 | 13 | // Get the form_id |
| 14 | -$form_id = absint( $_POST['form_id'] ); |
|
| 14 | +$form_id = absint( $_POST[ 'form_id' ] ); |
|
| 15 | 15 | |
| 16 | 16 | // Send an error if for some reason we can't find the $form_id |
| 17 | 17 | $submission_handler->handle_empty_form_id( $form_id ); |
@@ -20,7 +20,7 @@ discard block |
||
| 20 | 20 | $submission_handler->set_form_id( $form_id ); |
| 21 | 21 | |
| 22 | 22 | // Check our nonce |
| 23 | -$submission_handler->handle_nonce( $_POST['ajax_security_nonce'], 'yikes_mc_form_submission_security_nonce' ); |
|
| 23 | +$submission_handler->handle_nonce( $_POST[ 'ajax_security_nonce' ], 'yikes_mc_form_submission_security_nonce' ); |
|
| 24 | 24 | |
| 25 | 25 | // Get the form data |
| 26 | 26 | $interface = yikes_easy_mailchimp_extender_get_form_interface(); |
@@ -30,10 +30,10 @@ discard block |
||
| 30 | 30 | $submission_handler->handle_empty_form( $form_data ); |
| 31 | 31 | |
| 32 | 32 | // Set up some variables from the form data -- these are required |
| 33 | -$list_id = isset( $form_data['list_id'] ) ? $form_data['list_id'] : null; |
|
| 34 | -$submission_settings = isset( $form_data['submission_settings'] ) ? $form_data['submission_settings'] : null; |
|
| 35 | -$optin_settings = isset( $form_data['optin_settings'] ) ? $form_data['optin_settings'] : null; |
|
| 36 | -$form_fields = isset( $form_data['fields'] ) ? $form_data['fields'] : null; |
|
| 33 | +$list_id = isset( $form_data[ 'list_id' ] ) ? $form_data[ 'list_id' ] : null; |
|
| 34 | +$submission_settings = isset( $form_data[ 'submission_settings' ] ) ? $form_data[ 'submission_settings' ] : null; |
|
| 35 | +$optin_settings = isset( $form_data[ 'optin_settings' ] ) ? $form_data[ 'optin_settings' ] : null; |
|
| 36 | +$form_fields = isset( $form_data[ 'fields' ] ) ? $form_data[ 'fields' ] : null; |
|
| 37 | 37 | |
| 38 | 38 | // Send an error if for some reason we can't find the required form data |
| 39 | 39 | $submission_handler->handle_empty_fields_generic( array( $list_id, $submission_settings, $optin_settings, $form_fields ) ); |
@@ -47,14 +47,14 @@ discard block |
||
| 47 | 47 | $submission_handler->check_for_required_interest_groups( $data, $form_fields ); |
| 48 | 48 | |
| 49 | 49 | // Set up some variables from the form data -- these are not required |
| 50 | -$error_messages = isset( $form_data['error_messages'] ) ? $form_data['error_messages'] : array(); |
|
| 51 | -$notifications = isset( $form_data['custom_notifications'] ) ? $form_data['custom_notifications'] : array(); |
|
| 50 | +$error_messages = isset( $form_data[ 'error_messages' ] ) ? $form_data[ 'error_messages' ] : array(); |
|
| 51 | +$notifications = isset( $form_data[ 'custom_notifications' ] ) ? $form_data[ 'custom_notifications' ] : array(); |
|
| 52 | 52 | |
| 53 | 53 | // Set the error messages in our class |
| 54 | 54 | $submission_handler->set_error_messages( $error_messages ); |
| 55 | 55 | |
| 56 | 56 | // Some other variables we'll need. |
| 57 | -$page_data = isset( $_POST['page_data'] ) ? $_POST['page_data'] : ''; |
|
| 57 | +$page_data = isset( $_POST[ 'page_data' ] ) ? $_POST[ 'page_data' ] : ''; |
|
| 58 | 58 | $merge_variables = array(); |
| 59 | 59 | $error = 0; |
| 60 | 60 | $list_handler = yikes_get_mc_api_manager()->get_list_handler(); |
@@ -62,13 +62,13 @@ discard block |
||
| 62 | 62 | // As of 6.4 we no longer pass the post object, only the ID. |
| 63 | 63 | // For any users relying on the $post object for their `yikes-mailchimp-redirect-url` filter we'll grab the post object here. |
| 64 | 64 | // Eventually we should just pass the $post_id into the filter instead of the whole object. |
| 65 | -$page_data = ! empty( $page_data ) ? get_post( $page_data ) : ''; |
|
| 65 | +$page_data = ! empty( $page_data ) ? get_post( $page_data ) : ''; |
|
| 66 | 66 | |
| 67 | 67 | // Send an error if for some reason we can't find the list_handler |
| 68 | 68 | $submission_handler->handle_empty_list_handler( $list_handler ); |
| 69 | 69 | |
| 70 | 70 | // Get, sanitize and lowercasify the email |
| 71 | -$submitted_email = isset( $data['EMAIL'] ) ? $data['EMAIL'] : ''; |
|
| 71 | +$submitted_email = isset( $data[ 'EMAIL' ] ) ? $data[ 'EMAIL' ] : ''; |
|
| 72 | 72 | $sanitized_email = $submission_handler->get_sanitized_email( $submitted_email ); |
| 73 | 73 | $submission_handler->set_email( $sanitized_email ); |
| 74 | 74 | |
@@ -76,14 +76,14 @@ discard block |
||
| 76 | 76 | $submission_handler->handle_empty_email( $sanitized_email ); |
| 77 | 77 | |
| 78 | 78 | // Check for Honeypot filled |
| 79 | -$honey_pot_filled = ( isset( $data['yikes-mailchimp-honeypot'] ) && '' !== $data['yikes-mailchimp-honeypot'] ) ? true : false; |
|
| 79 | +$honey_pot_filled = ( isset( $data[ 'yikes-mailchimp-honeypot' ] ) && '' !== $data[ 'yikes-mailchimp-honeypot' ] ) ? true : false; |
|
| 80 | 80 | |
| 81 | 81 | // Send an error if honey pot is not empty |
| 82 | 82 | $submission_handler->handle_non_empty_honeypot( $honey_pot_filled ); |
| 83 | 83 | |
| 84 | 84 | // Check if reCAPTCHA Response was submitted with the form data, and handle it if needed |
| 85 | -if ( isset( $data['g-recaptcha-response'] ) ) { |
|
| 86 | - $recaptcha_response = $data['g-recaptcha-response']; |
|
| 85 | +if ( isset( $data[ 'g-recaptcha-response' ] ) ) { |
|
| 86 | + $recaptcha_response = $data[ 'g-recaptcha-response' ]; |
|
| 87 | 87 | $submission_handler->handle_recaptcha( $recaptcha_response ); |
| 88 | 88 | } |
| 89 | 89 | |
@@ -91,7 +91,7 @@ discard block |
||
| 91 | 91 | $merge_variables = $submission_handler->get_submitted_merge_values( $data, $form_fields ); |
| 92 | 92 | |
| 93 | 93 | // Submission Setting: Replace interest groups or update interest groups |
| 94 | -$replace_interests = isset( $submission_settings['replace_interests'] ) ? (bool) $submission_settings['replace_interests'] : true; |
|
| 94 | +$replace_interests = isset( $submission_settings[ 'replace_interests' ] ) ? (bool) $submission_settings[ 'replace_interests' ] : true; |
|
| 95 | 95 | |
| 96 | 96 | // Get the default groups |
| 97 | 97 | $groups = $submission_handler->get_default_interest_groups( $replace_interests, $list_handler ); |
@@ -106,15 +106,15 @@ discard block |
||
| 106 | 106 | * |
| 107 | 107 | * @param $merge_variables array Array of merge variable to use |
| 108 | 108 | */ |
| 109 | -do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
| 109 | +do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
| 110 | 110 | do_action( "yikes-mailchimp-before-submission-{$form_id}", $merge_variables ); |
| 111 | 111 | |
| 112 | 112 | // Allow users to check for form values (using the `yikes-mailchimp-filter-before-submission` filter hook in function `get_submitted_merge_values`) |
| 113 | 113 | // and pass back an error and message to the user |
| 114 | 114 | // If error is set and no message, default to our class variable's default error message |
| 115 | -if ( isset( $merge_variables['error'] ) ) { |
|
| 116 | - $merge_error_message = isset( $merge_variables['message'] ) ? $merge_variables['message'] : $submission_handler->default_error_response_message; |
|
| 117 | - $submission_handler->handle_merge_variables_error( $merge_variables['error'], $merge_error_message ); |
|
| 115 | +if ( isset( $merge_variables[ 'error' ] ) ) { |
|
| 116 | + $merge_error_message = isset( $merge_variables[ 'message' ] ) ? $merge_variables[ 'message' ] : $submission_handler->default_error_response_message; |
|
| 117 | + $submission_handler->handle_merge_variables_error( $merge_variables[ 'error' ], $merge_error_message ); |
|
| 118 | 118 | } |
| 119 | 119 | |
| 120 | 120 | // This is the array we're going to pass through to the Mailchimp API |
@@ -125,7 +125,7 @@ discard block |
||
| 125 | 125 | |
| 126 | 126 | // Only add groups if they exist |
| 127 | 127 | if ( ! empty( $groups ) ) { |
| 128 | - $member_data['interests'] = $groups; |
|
| 128 | + $member_data[ 'interests' ] = $groups; |
|
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | // Check if this member already exists |
@@ -136,12 +136,12 @@ discard block |
||
| 136 | 136 | // Likewise, if this member exists but their status is 'pending' it means we're dealing with a double opt-in list and they never confirmed |
| 137 | 137 | // Or, if this member but their status is 'unsubscribed' it means we're dealing with someone who unsubscribed and they need to re-subscribe |
| 138 | 138 | // Continue as if they're a new member to force another double opt-in email |
| 139 | -if ( is_array( $member_exists ) && isset( $member_exists['status'] ) ) { |
|
| 140 | - $double_optin_resubscribe = $member_exists['status'] === 'pending' || $member_exists['status'] === 'unsubscribed'; |
|
| 139 | +if ( is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) ) { |
|
| 140 | + $double_optin_resubscribe = $member_exists[ 'status' ] === 'pending' || $member_exists[ 'status' ] === 'unsubscribed'; |
|
| 141 | 141 | } else { |
| 142 | 142 | |
| 143 | 143 | // If this member doesn't exist, set their timestamp signup to the current time. |
| 144 | - $member_data['timestamp_signup'] = current_time( 'Y-m-d H:i:s', 1 ); |
|
| 144 | + $member_data[ 'timestamp_signup' ] = current_time( 'Y-m-d H:i:s', 1 ); |
|
| 145 | 145 | } |
| 146 | 146 | |
| 147 | 147 | if ( is_wp_error( $member_exists ) || $double_optin_resubscribe === true ) { |
@@ -150,24 +150,24 @@ discard block |
||
| 150 | 150 | |
| 151 | 151 | // Check the opt-in value - is it double or single? |
| 152 | 152 | // Double opt-in means 'status_if_new' => 'pending' |
| 153 | - $double_optin = isset( $optin_settings['optin'] ) ? (int) $optin_settings['optin'] : 0; |
|
| 153 | + $double_optin = isset( $optin_settings[ 'optin' ] ) ? (int) $optin_settings[ 'optin' ] : 0; |
|
| 154 | 154 | |
| 155 | 155 | // If the user was unsubscribed and is re-subscribing, we set the status to 'pending', which |
| 156 | 156 | // causes Mailchimp to send them a confirmation email. This is the only way Mailchimp will |
| 157 | 157 | // allow us to re-subscribe the user. |
| 158 | - $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists['status'] ) && $member_exists['status'] === 'unsubscribed'; |
|
| 158 | + $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) && $member_exists[ 'status' ] === 'unsubscribed'; |
|
| 159 | 159 | $was_unsubscribed = apply_filters( 'yikes_mailchimp_single_resubscribe', $was_unsubscribed ); |
| 160 | 160 | |
| 161 | 161 | if ( $double_optin === 1 || $was_unsubscribed === true ) { |
| 162 | 162 | |
| 163 | 163 | // Double opt-in |
| 164 | - $member_data['status_if_new'] = 'pending'; |
|
| 165 | - $member_data['status'] = 'pending'; |
|
| 164 | + $member_data[ 'status_if_new' ] = 'pending'; |
|
| 165 | + $member_data[ 'status' ] = 'pending'; |
|
| 166 | 166 | } else { |
| 167 | 167 | |
| 168 | 168 | // Single opt-in |
| 169 | - $member_data['status_if_new'] = 'subscribed'; |
|
| 170 | - $member_data['status'] = 'subscribed'; |
|
| 169 | + $member_data[ 'status_if_new' ] = 'subscribed'; |
|
| 170 | + $member_data[ 'status' ] = 'subscribed'; |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | } else { |
@@ -176,10 +176,10 @@ discard block |
||
| 176 | 176 | |
| 177 | 177 | // But first let's set our flag, and set the Mailchimp status flag |
| 178 | 178 | $new_subscriber = false; |
| 179 | - $member_data['status'] = 'subscribed'; |
|
| 179 | + $member_data[ 'status' ] = 'subscribed'; |
|
| 180 | 180 | |
| 181 | 181 | // Check our update_existing_user optin setting |
| 182 | - $update_existing_user = ( $optin_settings['update_existing_user'] === '1' ) ? true : false; |
|
| 182 | + $update_existing_user = ( $optin_settings[ 'update_existing_user' ] === '1' ) ? true : false; |
|
| 183 | 183 | |
| 184 | 184 | // If update_existing_user is false (not allowed) then simply fail and return a response message |
| 185 | 185 | if ( $update_existing_user === false ) { |
@@ -187,7 +187,7 @@ discard block |
||
| 187 | 187 | } |
| 188 | 188 | |
| 189 | 189 | // If update_existing_user is true, we need to check our 'send_update_email' option |
| 190 | - $send_update_email = ( $optin_settings['send_update_email'] === '1' ) ? true : false; |
|
| 190 | + $send_update_email = ( $optin_settings[ 'send_update_email' ] === '1' ) ? true : false; |
|
| 191 | 191 | |
| 192 | 192 | // If $send_update_email is true (we send the email) then we need to fire off the 'send update email' logic |
| 193 | 193 | if ( $send_update_email === true ) { |
@@ -210,9 +210,9 @@ discard block |
||
| 210 | 210 | |
| 211 | 211 | // If this is the first time subscriber add the tags along with the subscribe request. |
| 212 | 212 | // This allows for double opt-in forms submissions to be tagged. |
| 213 | -if ( ! empty( $form_data['tags'] ) && ! is_array( $member_exists ) ) { |
|
| 214 | - foreach( $form_data['tags'] as $tag ) { |
|
| 215 | - $member_data['tags'][] = $tag['name']; |
|
| 213 | +if ( ! empty( $form_data[ 'tags' ] ) && ! is_array( $member_exists ) ) { |
|
| 214 | + foreach ( $form_data[ 'tags' ] as $tag ) { |
|
| 215 | + $member_data[ 'tags' ][ ] = $tag[ 'name' ]; |
|
| 216 | 216 | } |
| 217 | 217 | } |
| 218 | 218 | |
@@ -14,7 +14,7 @@ discard block |
||
| 14 | 14 | $data = $_POST; |
| 15 | 15 | |
| 16 | 16 | // Confirm we have a form id to work with |
| 17 | -$form_id = ( isset( $data['yikes-mailchimp-submitted-form'] ) ) ? absint( $data['yikes-mailchimp-submitted-form'] ) : false; |
|
| 17 | +$form_id = ( isset( $data[ 'yikes-mailchimp-submitted-form' ] ) ) ? absint( $data[ 'yikes-mailchimp-submitted-form' ] ) : false; |
|
| 18 | 18 | |
| 19 | 19 | // Set the form id in our class |
| 20 | 20 | $submission_handler->set_form_id( $form_id ); |
@@ -28,7 +28,7 @@ discard block |
||
| 28 | 28 | } |
| 29 | 29 | |
| 30 | 30 | // Check our nonce |
| 31 | -if ( $submission_handler->handle_nonce( $_POST['yikes_easy_mc_new_subscriber'], 'yikes_easy_mc_form_submit' ) === false ) { |
|
| 31 | +if ( $submission_handler->handle_nonce( $_POST[ 'yikes_easy_mc_new_subscriber' ], 'yikes_easy_mc_form_submit' ) === false ) { |
|
| 32 | 32 | $process_submission_response = $submission_handler->wrap_form_submission_response( $submission_handler->handle_nonce_message, $is_success = false ); |
| 33 | 33 | return; |
| 34 | 34 | } |
@@ -44,10 +44,10 @@ discard block |
||
| 44 | 44 | } |
| 45 | 45 | |
| 46 | 46 | // Set up some variables from the form data -- these are required |
| 47 | -$list_id = isset( $form_data['list_id'] ) ? $form_data['list_id'] : null; |
|
| 48 | -$submission_settings = isset( $form_data['submission_settings'] ) ? $form_data['submission_settings'] : null; |
|
| 49 | -$optin_settings = isset( $form_data['optin_settings'] ) ? $form_data['optin_settings'] : null; |
|
| 50 | -$form_fields = isset( $form_data['fields'] ) ? $form_data['fields'] : null; |
|
| 47 | +$list_id = isset( $form_data[ 'list_id' ] ) ? $form_data[ 'list_id' ] : null; |
|
| 48 | +$submission_settings = isset( $form_data[ 'submission_settings' ] ) ? $form_data[ 'submission_settings' ] : null; |
|
| 49 | +$optin_settings = isset( $form_data[ 'optin_settings' ] ) ? $form_data[ 'optin_settings' ] : null; |
|
| 50 | +$form_fields = isset( $form_data[ 'fields' ] ) ? $form_data[ 'fields' ] : null; |
|
| 51 | 51 | |
| 52 | 52 | // Send an error if for some reason we can't find the required form data |
| 53 | 53 | if ( $submission_handler->handle_empty_fields_generic( array( $list_id, $submission_settings, $optin_settings, $form_fields ) ) === false ) { |
@@ -70,8 +70,8 @@ discard block |
||
| 70 | 70 | $submission_handler->set_list_id( $list_id ); |
| 71 | 71 | |
| 72 | 72 | // Set up some variables from the form data -- these are not required |
| 73 | -$error_messages = isset( $form_data['error_messages'] ) ? $form_data['error_messages'] : array(); |
|
| 74 | -$notifications = isset( $form_data['custom_notifications'] ) ? $form_data['custom_notifications'] : array(); // Do we need this? |
|
| 73 | +$error_messages = isset( $form_data[ 'error_messages' ] ) ? $form_data[ 'error_messages' ] : array(); |
|
| 74 | +$notifications = isset( $form_data[ 'custom_notifications' ] ) ? $form_data[ 'custom_notifications' ] : array(); // Do we need this? |
|
| 75 | 75 | |
| 76 | 76 | // Set the error messages in our class |
| 77 | 77 | $submission_handler->set_error_messages( $error_messages ); |
@@ -87,7 +87,7 @@ discard block |
||
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | // Get, sanitize, and lowercasify the email |
| 90 | -$submitted_email = isset( $data['EMAIL'] ) ? $data['EMAIL'] : ''; |
|
| 90 | +$submitted_email = isset( $data[ 'EMAIL' ] ) ? $data[ 'EMAIL' ] : ''; |
|
| 91 | 91 | $sanitized_email = $submission_handler->get_sanitized_email( $submitted_email ); |
| 92 | 92 | $submission_handler->set_email( $sanitized_email ); |
| 93 | 93 | |
@@ -98,7 +98,7 @@ discard block |
||
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | // Check for Honeypot filled |
| 101 | -$honey_pot_filled = ( isset( $data['yikes-mailchimp-honeypot'] ) && '' !== $data['yikes-mailchimp-honeypot'] ) ? true : false; |
|
| 101 | +$honey_pot_filled = ( isset( $data[ 'yikes-mailchimp-honeypot' ] ) && '' !== $data[ 'yikes-mailchimp-honeypot' ] ) ? true : false; |
|
| 102 | 102 | |
| 103 | 103 | // Send an error if honey pot is not empty |
| 104 | 104 | if ( $submission_handler->handle_non_empty_honeypot( $honey_pot_filled ) === false ) { |
@@ -107,11 +107,11 @@ discard block |
||
| 107 | 107 | } |
| 108 | 108 | |
| 109 | 109 | // Check if reCAPTCHA Response was submitted with the form data, and handle it if needed |
| 110 | -if ( isset( $data['g-recaptcha-response'] ) ) { |
|
| 111 | - $recaptcha_response = $data['g-recaptcha-response']; |
|
| 110 | +if ( isset( $data[ 'g-recaptcha-response' ] ) ) { |
|
| 111 | + $recaptcha_response = $data[ 'g-recaptcha-response' ]; |
|
| 112 | 112 | $recaptcha_handle = $submission_handler->handle_recaptcha( $recaptcha_response ); |
| 113 | - if ( isset( $recaptcha_handle['success'] ) && $recaptcha_handle['success'] === false ) { |
|
| 114 | - $process_submission_response = $submission_handler->wrap_form_submission_response( $recaptcha_handle['message'], $is_success = false ); |
|
| 113 | + if ( isset( $recaptcha_handle[ 'success' ] ) && $recaptcha_handle[ 'success' ] === false ) { |
|
| 114 | + $process_submission_response = $submission_handler->wrap_form_submission_response( $recaptcha_handle[ 'message' ], $is_success = false ); |
|
| 115 | 115 | return; |
| 116 | 116 | } |
| 117 | 117 | } |
@@ -120,7 +120,7 @@ discard block |
||
| 120 | 120 | $merge_variables = $submission_handler->get_submitted_merge_values( $data, $form_fields ); |
| 121 | 121 | |
| 122 | 122 | // Submission Setting: Replace interest groups or update interest groups |
| 123 | -$replace_interests = isset( $submission_settings['replace_interests'] ) ? (bool) $submission_settings['replace_interests'] : true; |
|
| 123 | +$replace_interests = isset( $submission_settings[ 'replace_interests' ] ) ? (bool) $submission_settings[ 'replace_interests' ] : true; |
|
| 124 | 124 | |
| 125 | 125 | // Get the default groups |
| 126 | 126 | $groups = $submission_handler->get_default_interest_groups( $replace_interests, $list_handler ); |
@@ -135,17 +135,17 @@ discard block |
||
| 135 | 135 | * |
| 136 | 136 | * @param $merge_variables array Array of merge variable to use |
| 137 | 137 | */ |
| 138 | -do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
| 138 | +do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
| 139 | 139 | do_action( "yikes-mailchimp-before-submission-{$form_id}", $merge_variables ); |
| 140 | 140 | |
| 141 | 141 | // Allow users to check for form values (using the `yikes-mailchimp-filter-before-submission` filter hook in function `get_submitted_merge_values`) |
| 142 | 142 | // and pass back an error and message to the user |
| 143 | 143 | // If error is set and no message, default to our class variable's default error message |
| 144 | -if ( isset( $merge_variables['error'] ) ) { |
|
| 145 | - $merge_error_message = isset( $merge_variables['message'] ) ? $merge_variables['message'] : $submission_handler->default_error_response_message; |
|
| 146 | - $merge_vars_error_array = $submission_handler->handle_merge_variables_error( $merge_variables['error'], $merge_error_message ); |
|
| 147 | - if ( $merge_vars_error_array['success'] === false ) { |
|
| 148 | - $process_submission_response = $submission_handler->wrap_form_submission_response( $merge_vars_error_array['message'], $is_success = false ); |
|
| 144 | +if ( isset( $merge_variables[ 'error' ] ) ) { |
|
| 145 | + $merge_error_message = isset( $merge_variables[ 'message' ] ) ? $merge_variables[ 'message' ] : $submission_handler->default_error_response_message; |
|
| 146 | + $merge_vars_error_array = $submission_handler->handle_merge_variables_error( $merge_variables[ 'error' ], $merge_error_message ); |
|
| 147 | + if ( $merge_vars_error_array[ 'success' ] === false ) { |
|
| 148 | + $process_submission_response = $submission_handler->wrap_form_submission_response( $merge_vars_error_array[ 'message' ], $is_success = false ); |
|
| 149 | 149 | return; |
| 150 | 150 | } |
| 151 | 151 | } |
@@ -158,7 +158,7 @@ discard block |
||
| 158 | 158 | |
| 159 | 159 | // Only add groups if they exist |
| 160 | 160 | if ( ! empty( $groups ) ) { |
| 161 | - $member_data['interests'] = $groups; |
|
| 161 | + $member_data[ 'interests' ] = $groups; |
|
| 162 | 162 | } |
| 163 | 163 | |
| 164 | 164 | // Check if this member already exists |
@@ -169,12 +169,12 @@ discard block |
||
| 169 | 169 | // Likewise, if this member exists but their status is 'pending' it means we're dealing with a double opt-in list and they never confirmed |
| 170 | 170 | // Or, if this member but their status is 'unsubscribed' it means we're dealing with someone who unsubscribed and they need to re-subscribe |
| 171 | 171 | // Continue as if they're a new member to force another double opt-in email. |
| 172 | -if ( is_array( $member_exists ) && isset( $member_exists['status'] ) ) { |
|
| 173 | - $double_optin_resubscribe = $member_exists['status'] === 'pending' || $member_exists['status'] === 'unsubscribed'; |
|
| 172 | +if ( is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) ) { |
|
| 173 | + $double_optin_resubscribe = $member_exists[ 'status' ] === 'pending' || $member_exists[ 'status' ] === 'unsubscribed'; |
|
| 174 | 174 | } else { |
| 175 | 175 | |
| 176 | 176 | // If this member doesn't exist, set their timestamp signup to the current time. |
| 177 | - $member_data['timestamp_signup'] = current_time( 'Y-m-d H:i:s', 1 ); |
|
| 177 | + $member_data[ 'timestamp_signup' ] = current_time( 'Y-m-d H:i:s', 1 ); |
|
| 178 | 178 | } |
| 179 | 179 | |
| 180 | 180 | if ( is_wp_error( $member_exists ) || $double_optin_resubscribe === true ) { |
@@ -182,24 +182,24 @@ discard block |
||
| 182 | 182 | |
| 183 | 183 | // Check the opt-in value - is it double or single? |
| 184 | 184 | // Double opt-in means 'status_if_new' => 'pending' |
| 185 | - $double_optin = isset( $optin_settings['optin'] ) ? (int) $optin_settings['optin'] : 0; |
|
| 185 | + $double_optin = isset( $optin_settings[ 'optin' ] ) ? (int) $optin_settings[ 'optin' ] : 0; |
|
| 186 | 186 | |
| 187 | 187 | // If the user was unsubscribed and is re-subscribing, we set the status to 'pending', which |
| 188 | 188 | // causes Mailchimp to send them a confirmation email. This is the only way Mailchimp will |
| 189 | 189 | // allow us to re-subscribe the user. |
| 190 | - $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists['status'] ) && $member_exists['status'] === 'unsubscribed'; |
|
| 190 | + $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) && $member_exists[ 'status' ] === 'unsubscribed'; |
|
| 191 | 191 | $was_unsubscribed = apply_filters( 'yikes_mailchimp_single_resubscribe', $was_unsubscribed ); |
| 192 | 192 | |
| 193 | 193 | if ( $double_optin === 1 || $was_unsubscribed === true ) { |
| 194 | 194 | |
| 195 | 195 | // Double opt-in |
| 196 | - $member_data['status_if_new'] = 'pending'; |
|
| 197 | - $member_data['status'] = 'pending'; |
|
| 196 | + $member_data[ 'status_if_new' ] = 'pending'; |
|
| 197 | + $member_data[ 'status' ] = 'pending'; |
|
| 198 | 198 | } else { |
| 199 | 199 | |
| 200 | 200 | // Single opt-in |
| 201 | - $member_data['status_if_new'] = 'subscribed'; |
|
| 202 | - $member_data['status'] = 'subscribed'; |
|
| 201 | + $member_data[ 'status_if_new' ] = 'subscribed'; |
|
| 202 | + $member_data[ 'status' ] = 'subscribed'; |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | } else { |
@@ -208,28 +208,28 @@ discard block |
||
| 208 | 208 | |
| 209 | 209 | // But first let's set our flag, and set the Mailchimp status flag |
| 210 | 210 | $new_subscriber = false; |
| 211 | - $member_data['status'] = 'subscribed'; |
|
| 211 | + $member_data[ 'status' ] = 'subscribed'; |
|
| 212 | 212 | |
| 213 | 213 | // Check our update_existing_user optin setting |
| 214 | - $update_existing_user = ( $optin_settings['update_existing_user'] === '1' ) ? true : false; |
|
| 214 | + $update_existing_user = ( $optin_settings[ 'update_existing_user' ] === '1' ) ? true : false; |
|
| 215 | 215 | |
| 216 | 216 | // If update_existing_user is false (not allowed) then simply fail and return a response message |
| 217 | 217 | if ( $update_existing_user === false ) { |
| 218 | 218 | $disallow_update_array = $submission_handler->handle_disallowed_existing_user_update(); |
| 219 | - if ( $disallow_update_array['success'] === false ) { |
|
| 220 | - $process_submission_response = $submission_handler->wrap_form_submission_response( $disallow_update_array['message'], $is_success = false ); |
|
| 219 | + if ( $disallow_update_array[ 'success' ] === false ) { |
|
| 220 | + $process_submission_response = $submission_handler->wrap_form_submission_response( $disallow_update_array[ 'message' ], $is_success = false ); |
|
| 221 | 221 | return; |
| 222 | 222 | } |
| 223 | 223 | } |
| 224 | 224 | |
| 225 | 225 | // If update_existing_user is true, we need to check our 'send_update_email' option |
| 226 | - $send_update_email = ( $optin_settings['send_update_email'] === '1' ) ? true : false; |
|
| 226 | + $send_update_email = ( $optin_settings[ 'send_update_email' ] === '1' ) ? true : false; |
|
| 227 | 227 | |
| 228 | 228 | // If $send_update_email is true (we send the email) then we need to fire off the 'send update email' logic |
| 229 | 229 | if ( $send_update_email === true ) { |
| 230 | 230 | $update_existing_user_array = $submission_handler->handle_updating_existing_user(); |
| 231 | - if ( $update_existing_user_array['success'] === false ) { |
|
| 232 | - $process_submission_response = $submission_handler->wrap_form_submission_response( $update_existing_user_array['message'], $is_success = false ); |
|
| 231 | + if ( $update_existing_user_array[ 'success' ] === false ) { |
|
| 232 | + $process_submission_response = $submission_handler->wrap_form_submission_response( $update_existing_user_array[ 'message' ], $is_success = false ); |
|
| 233 | 233 | return; |
| 234 | 234 | } |
| 235 | 235 | } |
@@ -250,9 +250,9 @@ discard block |
||
| 250 | 250 | |
| 251 | 251 | // If this is the first time subscriber add the tags along with the subscribe request. |
| 252 | 252 | // This allows for double opt-in forms submissions to be tagged. |
| 253 | -if ( ! empty( $form_data['tags'] ) && ! is_array( $member_exists ) ) { |
|
| 254 | - foreach( $form_data['tags'] as $tag ) { |
|
| 255 | - $member_data['tags'][] = $tag['name']; |
|
| 253 | +if ( ! empty( $form_data[ 'tags' ] ) && ! is_array( $member_exists ) ) { |
|
| 254 | + foreach ( $form_data[ 'tags' ] as $tag ) { |
|
| 255 | + $member_data[ 'tags' ][ ] = $tag[ 'name' ]; |
|
| 256 | 256 | } |
| 257 | 257 | } |
| 258 | 258 | |
@@ -272,9 +272,9 @@ discard block |
||
| 272 | 272 | } |
| 273 | 273 | |
| 274 | 274 | // Handle errors in the response |
| 275 | -if ( isset( $success_array ) && isset( $success_array['success'] ) && $success_array['success'] === false ) { |
|
| 276 | - $process_submission_response = isset( $success_array['message'] ) ? $success_array['message'] : ''; |
|
| 277 | - $process_submission_response = $submission_handler->wrap_form_submission_response( $success_array['message'], $is_success = false ); |
|
| 275 | +if ( isset( $success_array ) && isset( $success_array[ 'success' ] ) && $success_array[ 'success' ] === false ) { |
|
| 276 | + $process_submission_response = isset( $success_array[ 'message' ] ) ? $success_array[ 'message' ] : ''; |
|
| 277 | + $process_submission_response = $submission_handler->wrap_form_submission_response( $success_array[ 'message' ], $is_success = false ); |
|
| 278 | 278 | return; |
| 279 | 279 | } |
| 280 | 280 | |
@@ -284,7 +284,7 @@ discard block |
||
| 284 | 284 | // For non-AJAX submissions, if we have a new subscriber we need to increment our submissions count by 1 |
| 285 | 285 | // For AJAX, this is an AJAX call that gets fired off after form submission |
| 286 | 286 | if ( $new_subscriber === true ) { |
| 287 | - $submissions = (int) $form_settings['submissions'] + 1; |
|
| 287 | + $submissions = (int) $form_settings[ 'submissions' ] + 1; |
|
| 288 | 288 | $interface->update_form_field( $form_id, 'submissions', $submissions ); |
| 289 | 289 | } |
| 290 | 290 | |