@@ -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 ) { |
@@ -208,8 +208,8 @@ discard block |
||
208 | 208 | $member_data = apply_filters( 'yikes-mailchimp-filter-subscribe-request', $member_data, $form_id ); |
209 | 209 | $member_data = apply_filters( "yikes-mailchimp-filter-subscribe-request-{$form_id}", $member_data, $form_id ); |
210 | 210 | |
211 | -foreach( $form_data['tags'] as $tag ) { |
|
212 | - $member_data['tags'][] = $tag['name']; |
|
211 | +foreach ( $form_data[ 'tags' ] as $tag ) { |
|
212 | + $member_data[ 'tags' ][ ] = $tag[ 'name' ]; |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | // Send the API request to create a new subscriber! (Or update an existing one) |