@@ -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,26 +76,26 @@ 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 | |
90 | -if ( isset( $data['recaptcha_three_response'] ) ) { |
|
91 | - $submission_handler->handle_recaptcha( $data['recaptcha_three_response'], 3 ); |
|
90 | +if ( isset( $data[ 'recaptcha_three_response' ] ) ) { |
|
91 | + $submission_handler->handle_recaptcha( $data[ 'recaptcha_three_response' ], 3 ); |
|
92 | 92 | } |
93 | 93 | |
94 | 94 | // Loop through the submitted data to sanitize and format values |
95 | 95 | $merge_variables = $submission_handler->get_submitted_merge_values( $data, $form_fields ); |
96 | 96 | |
97 | 97 | // Submission Setting: Replace interest groups or update interest groups |
98 | -$replace_interests = isset( $submission_settings['replace_interests'] ) ? (bool) $submission_settings['replace_interests'] : true; |
|
98 | +$replace_interests = isset( $submission_settings[ 'replace_interests' ] ) ? (bool) $submission_settings[ 'replace_interests' ] : true; |
|
99 | 99 | |
100 | 100 | // Get the default groups |
101 | 101 | $groups = $submission_handler->get_default_interest_groups( $replace_interests, $list_handler ); |
@@ -110,15 +110,15 @@ discard block |
||
110 | 110 | * |
111 | 111 | * @param $merge_variables array Array of merge variable to use |
112 | 112 | */ |
113 | -do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
113 | +do_action( 'yikes-mailchimp-before-submission', $merge_variables ); |
|
114 | 114 | do_action( "yikes-mailchimp-before-submission-{$form_id}", $merge_variables ); |
115 | 115 | |
116 | 116 | // Allow users to check for form values (using the `yikes-mailchimp-filter-before-submission` filter hook in function `get_submitted_merge_values`) |
117 | 117 | // and pass back an error and message to the user |
118 | 118 | // If error is set and no message, default to our class variable's default error message |
119 | -if ( isset( $merge_variables['error'] ) ) { |
|
120 | - $merge_error_message = isset( $merge_variables['message'] ) ? $merge_variables['message'] : $submission_handler->default_error_response_message; |
|
121 | - $submission_handler->handle_merge_variables_error( $merge_variables['error'], $merge_error_message ); |
|
119 | +if ( isset( $merge_variables[ 'error' ] ) ) { |
|
120 | + $merge_error_message = isset( $merge_variables[ 'message' ] ) ? $merge_variables[ 'message' ] : $submission_handler->default_error_response_message; |
|
121 | + $submission_handler->handle_merge_variables_error( $merge_variables[ 'error' ], $merge_error_message ); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | // This is the array we're going to pass through to the Mailchimp API |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | |
130 | 130 | // Only add groups if they exist |
131 | 131 | if ( ! empty( $groups ) ) { |
132 | - $member_data['interests'] = $groups; |
|
132 | + $member_data[ 'interests' ] = $groups; |
|
133 | 133 | } |
134 | 134 | |
135 | 135 | // Check if this member already exists |
@@ -140,12 +140,12 @@ discard block |
||
140 | 140 | // 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 |
141 | 141 | // Or, if this member but their status is 'unsubscribed' it means we're dealing with someone who unsubscribed and they need to re-subscribe |
142 | 142 | // Continue as if they're a new member to force another double opt-in email |
143 | -if ( is_array( $member_exists ) && isset( $member_exists['status'] ) ) { |
|
144 | - $double_optin_resubscribe = $member_exists['status'] === 'pending' || $member_exists['status'] === 'unsubscribed'; |
|
143 | +if ( is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) ) { |
|
144 | + $double_optin_resubscribe = $member_exists[ 'status' ] === 'pending' || $member_exists[ 'status' ] === 'unsubscribed'; |
|
145 | 145 | } else { |
146 | 146 | |
147 | 147 | // If this member doesn't exist, set their timestamp signup to the current time. |
148 | - $member_data['timestamp_signup'] = current_time( 'Y-m-d H:i:s', 1 ); |
|
148 | + $member_data[ 'timestamp_signup' ] = current_time( 'Y-m-d H:i:s', 1 ); |
|
149 | 149 | } |
150 | 150 | |
151 | 151 | if ( is_wp_error( $member_exists ) || $double_optin_resubscribe === true ) { |
@@ -154,24 +154,24 @@ discard block |
||
154 | 154 | |
155 | 155 | // Check the opt-in value - is it double or single? |
156 | 156 | // Double opt-in means 'status_if_new' => 'pending' |
157 | - $double_optin = isset( $optin_settings['optin'] ) ? (int) $optin_settings['optin'] : 0; |
|
157 | + $double_optin = isset( $optin_settings[ 'optin' ] ) ? (int) $optin_settings[ 'optin' ] : 0; |
|
158 | 158 | |
159 | 159 | // If the user was unsubscribed and is re-subscribing, we set the status to 'pending', which |
160 | 160 | // causes Mailchimp to send them a confirmation email. This is the only way Mailchimp will |
161 | 161 | // allow us to re-subscribe the user. |
162 | - $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists['status'] ) && $member_exists['status'] === 'unsubscribed'; |
|
162 | + $was_unsubscribed = is_array( $member_exists ) && isset( $member_exists[ 'status' ] ) && $member_exists[ 'status' ] === 'unsubscribed'; |
|
163 | 163 | $was_unsubscribed = apply_filters( 'yikes_mailchimp_single_resubscribe', $was_unsubscribed ); |
164 | 164 | |
165 | 165 | if ( $double_optin === 1 || $was_unsubscribed === true ) { |
166 | 166 | |
167 | 167 | // Double opt-in |
168 | - $member_data['status_if_new'] = 'pending'; |
|
169 | - $member_data['status'] = 'pending'; |
|
168 | + $member_data[ 'status_if_new' ] = 'pending'; |
|
169 | + $member_data[ 'status' ] = 'pending'; |
|
170 | 170 | } else { |
171 | 171 | |
172 | 172 | // Single opt-in |
173 | - $member_data['status_if_new'] = 'subscribed'; |
|
174 | - $member_data['status'] = 'subscribed'; |
|
173 | + $member_data[ 'status_if_new' ] = 'subscribed'; |
|
174 | + $member_data[ 'status' ] = 'subscribed'; |
|
175 | 175 | } |
176 | 176 | |
177 | 177 | } else { |
@@ -180,10 +180,10 @@ discard block |
||
180 | 180 | |
181 | 181 | // But first let's set our flag, and set the Mailchimp status flag |
182 | 182 | $new_subscriber = false; |
183 | - $member_data['status'] = 'subscribed'; |
|
183 | + $member_data[ 'status' ] = 'subscribed'; |
|
184 | 184 | |
185 | 185 | // Check our update_existing_user optin setting |
186 | - $update_existing_user = ( $optin_settings['update_existing_user'] === '1' ) ? true : false; |
|
186 | + $update_existing_user = ( $optin_settings[ 'update_existing_user' ] === '1' ) ? true : false; |
|
187 | 187 | |
188 | 188 | // If update_existing_user is false (not allowed) then simply fail and return a response message |
189 | 189 | if ( $update_existing_user === false ) { |
@@ -191,7 +191,7 @@ discard block |
||
191 | 191 | } |
192 | 192 | |
193 | 193 | // If update_existing_user is true, we need to check our 'send_update_email' option |
194 | - $send_update_email = ( $optin_settings['send_update_email'] === '1' ) ? true : false; |
|
194 | + $send_update_email = ( $optin_settings[ 'send_update_email' ] === '1' ) ? true : false; |
|
195 | 195 | |
196 | 196 | // If $send_update_email is true (we send the email) then we need to fire off the 'send update email' logic |
197 | 197 | if ( $send_update_email === true ) { |
@@ -214,9 +214,9 @@ discard block |
||
214 | 214 | |
215 | 215 | // If this is the first time subscriber add the tags along with the subscribe request. |
216 | 216 | // This allows for double opt-in forms submissions to be tagged. |
217 | -if ( ! empty( $form_data['tags'] ) && ! is_array( $member_exists ) ) { |
|
218 | - foreach( $form_data['tags'] as $tag ) { |
|
219 | - $member_data['tags'][] = $tag['name']; |
|
217 | +if ( ! empty( $form_data[ 'tags' ] ) && ! is_array( $member_exists ) ) { |
|
218 | + foreach ( $form_data[ 'tags' ] as $tag ) { |
|
219 | + $member_data[ 'tags' ][ ] = $tag[ 'name' ]; |
|
220 | 220 | } |
221 | 221 | } |
222 | 222 |