@@ -99,14 +99,14 @@ discard block |
||
99 | 99 | $primary_registration = ! $primary_registration instanceof EE_Messages_Addressee && ! empty($this->_extra_data['data']) && $this->_extra_data['data'] instanceof EE_Messages_Addressee |
100 | 100 | ? $this->_extra_data['data'] : $primary_registration; |
101 | 101 | |
102 | - if (! $primary_registration instanceof EE_Messages_Addressee) { |
|
102 | + if ( ! $primary_registration instanceof EE_Messages_Addressee) { |
|
103 | 103 | return ''; |
104 | 104 | } |
105 | 105 | |
106 | 106 | $attendee = $primary_registration->primary_att_obj; |
107 | 107 | $primary_reg = $primary_registration->primary_reg_obj; |
108 | 108 | |
109 | - if (! $attendee instanceof EE_Attendee || ! $primary_reg instanceof EE_Registration) { |
|
109 | + if ( ! $attendee instanceof EE_Attendee || ! $primary_reg instanceof EE_Registration) { |
|
110 | 110 | return ''; |
111 | 111 | } |
112 | 112 | |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | break; |
163 | 163 | |
164 | 164 | case '[PRIMARY_REGISTRANT_REGISTRATION_DATE]': |
165 | - if (! $primary_registration->primary_reg_obj instanceof EE_Registration) { |
|
165 | + if ( ! $primary_registration->primary_reg_obj instanceof EE_Registration) { |
|
166 | 166 | return ''; |
167 | 167 | } |
168 | 168 | return $primary_registration->primary_reg_obj->get_i18n_datetime('REG_date', get_option('date_format')); |
@@ -187,9 +187,9 @@ discard block |
||
187 | 187 | if ( |
188 | 188 | $question instanceof EE_Question |
189 | 189 | && trim($question->get('QST_display_text')) === trim($shortcode) |
190 | - && isset($primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]) |
|
190 | + && isset($primary_registration->registrations[$primary_reg->ID()]['ans_objs'][$ansid]) |
|
191 | 191 | ) { |
192 | - $primary_reg_ansid = $primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]; |
|
192 | + $primary_reg_ansid = $primary_registration->registrations[$primary_reg->ID()]['ans_objs'][$ansid]; |
|
193 | 193 | |
194 | 194 | // what we show for the answer depends on the question type! |
195 | 195 | switch ($question->get('QST_type')) { |
@@ -17,201 +17,201 @@ |
||
17 | 17 | */ |
18 | 18 | class EE_Primary_Registration_Details_Shortcodes extends EE_Shortcodes |
19 | 19 | { |
20 | - protected function _init_props() |
|
21 | - { |
|
22 | - $this->label = esc_html__('Primary_Registration Details Shortcodes', 'event_espresso'); |
|
23 | - $this->description = esc_html__('All shortcodes specific primary registrant data', 'event_espresso'); |
|
24 | - $this->_shortcodes = array( |
|
25 | - '[PRIMARY_REGISTRANT_FNAME]' => esc_html__( |
|
26 | - 'Parses to the first name of the primary registration for the transaction.', |
|
27 | - 'event_espresso' |
|
28 | - ), |
|
29 | - '[PRIMARY_REGISTRANT_LNAME]' => esc_html__( |
|
30 | - 'Parses to the last name of the primary registration for the transaction.', |
|
31 | - 'event_espresso' |
|
32 | - ), |
|
33 | - '[PRIMARY_REGISTRANT_EMAIL]' => esc_html__( |
|
34 | - 'Parses to the email address of the primary registration for the transaction.', |
|
35 | - 'event_espresso' |
|
36 | - ), |
|
37 | - '[PRIMARY_REGISTRANT_REGISTRATION_ID]' => esc_html__( |
|
38 | - 'Parses to the registration ID of the primary registrant for the transaction.', |
|
39 | - 'event_espresso' |
|
40 | - ), |
|
41 | - '[PRIMARY_REGISTRANT_REGISTRATION_CODE]' => esc_html__( |
|
42 | - 'Parses to the registration code of the primary registrant for the transaction.', |
|
43 | - 'event_espresso' |
|
44 | - ), |
|
45 | - '[PRIMARY_REGISTRANT_PHONE_NUMBER]' => esc_html__( |
|
46 | - 'The Phone Number for the primary registrant for the transaction.', |
|
47 | - 'event_espresso' |
|
48 | - ), |
|
49 | - '[PRIMARY_REGISTRANT_ADDRESS]' => esc_html__( |
|
50 | - 'The Address for the primary registrant for the transaction.', |
|
51 | - 'event_espresso' |
|
52 | - ), |
|
53 | - '[PRIMARY_REGISTRANT_ADDRESS2]' => esc_html__( |
|
54 | - 'Whatever was in the address 2 field for the primary registrant for the transaction.', |
|
55 | - 'event_espresso' |
|
56 | - ), |
|
57 | - '[PRIMARY_REGISTRANT_CITY]' => esc_html__( |
|
58 | - 'The city for the primary registrant for the transaction.', |
|
59 | - 'event_espresso' |
|
60 | - ), |
|
61 | - '[PRIMARY_REGISTRANT_ZIP_PC]' => esc_html__( |
|
62 | - 'The ZIP (or Postal) Code for the primary registrant for the transaction.', |
|
63 | - 'event_espresso' |
|
64 | - ), |
|
65 | - '[PRIMARY_REGISTRANT_ADDRESS_STATE]' => esc_html__( |
|
66 | - 'The state/province for the primary registrant for the transaction.', |
|
67 | - 'event_espresso' |
|
68 | - ), |
|
69 | - '[PRIMARY_REGISTRANT_COUNTRY]' => esc_html__( |
|
70 | - 'The country for the primary registrant for the transaction.', |
|
71 | - 'event_espresso' |
|
72 | - ), |
|
73 | - '[PRIMARY_REGISTRANT_REGISTRATION_DATE]' => esc_html__( |
|
74 | - 'The date the registration occured for the primary registration.', |
|
75 | - 'event_espresso' |
|
76 | - ), |
|
77 | - '[PRIMARY_REGISTRANT_FRONTEND_EDIT_REG_LINK]' => esc_html__( |
|
78 | - 'Generates a link for the given registration to edit this registration details on the frontend.', |
|
79 | - 'event_espresso' |
|
80 | - ), |
|
81 | - '[PRIMARY_REGISTRANT_ANSWER_*]' => esc_html__( |
|
82 | - 'This is a special dynamic shortcode. After the "*", add the exact text of an existing question, and if there is an answer for that question for this primary registrant, then it will be output in place of this shortcode.', |
|
83 | - 'event_espresso' |
|
84 | - ), |
|
85 | - ); |
|
86 | - } |
|
87 | - |
|
88 | - |
|
89 | - protected function _parser($shortcode) |
|
90 | - { |
|
91 | - // make sure we end up with a copy of the EE_Messages_Addressee object |
|
92 | - $primary_registration = $this->_data instanceof EE_Messages_Addressee ? $this->_data : null; |
|
93 | - $primary_registration = ! $primary_registration instanceof EE_Messages_Addressee && is_array( |
|
94 | - $this->_data |
|
95 | - ) && isset($this->_data['data']) && $this->_data['data'] instanceof EE_Messages_Addressee ? $this->_data['data'] |
|
96 | - : $primary_registration; |
|
97 | - $primary_registration = ! $primary_registration instanceof EE_Messages_Addressee && ! empty($this->_extra_data['data']) && $this->_extra_data['data'] instanceof EE_Messages_Addressee |
|
98 | - ? $this->_extra_data['data'] : $primary_registration; |
|
99 | - |
|
100 | - if (! $primary_registration instanceof EE_Messages_Addressee) { |
|
101 | - return ''; |
|
102 | - } |
|
103 | - |
|
104 | - $attendee = $primary_registration->primary_att_obj; |
|
105 | - $primary_reg = $primary_registration->primary_reg_obj; |
|
106 | - |
|
107 | - if (! $attendee instanceof EE_Attendee || ! $primary_reg instanceof EE_Registration) { |
|
108 | - return ''; |
|
109 | - } |
|
110 | - |
|
111 | - switch ($shortcode) { |
|
112 | - case '[PRIMARY_REGISTRANT_FNAME]': |
|
113 | - return $attendee->fname(); |
|
114 | - break; |
|
115 | - |
|
116 | - case '[PRIMARY_REGISTRANT_LNAME]': |
|
117 | - return $attendee->lname(); |
|
118 | - break; |
|
119 | - |
|
120 | - case '[PRIMARY_REGISTRANT_EMAIL]': |
|
121 | - return $attendee->email(); |
|
122 | - break; |
|
123 | - |
|
124 | - case '[PRIMARY_REGISTRANT_REGISTRATION_ID]': |
|
125 | - return $primary_reg->ID(); |
|
126 | - break; |
|
127 | - |
|
128 | - case '[PRIMARY_REGISTRANT_REGISTRATION_CODE]': |
|
129 | - return $primary_reg->reg_code(); |
|
130 | - break; |
|
131 | - |
|
132 | - case '[PRIMARY_REGISTRANT_PHONE_NUMBER]': |
|
133 | - return $attendee->phone(); |
|
134 | - break; |
|
135 | - |
|
136 | - case '[PRIMARY_REGISTRANT_ADDRESS]': |
|
137 | - return $attendee->address(); |
|
138 | - break; |
|
139 | - |
|
140 | - case '[PRIMARY_REGISTRANT_ADDRESS2]': |
|
141 | - return $attendee->address2(); |
|
142 | - break; |
|
143 | - |
|
144 | - case '[PRIMARY_REGISTRANT_CITY]': |
|
145 | - return $attendee->city(); |
|
146 | - break; |
|
147 | - |
|
148 | - case '[PRIMARY_REGISTRANT_ZIP_PC]': |
|
149 | - return $attendee->zip(); |
|
150 | - break; |
|
151 | - |
|
152 | - case '[PRIMARY_REGISTRANT_ADDRESS_STATE]': |
|
153 | - $state_obj = $attendee->state_obj(); |
|
154 | - return $state_obj instanceof EE_State ? $state_obj->name() : ''; |
|
155 | - break; |
|
156 | - |
|
157 | - case '[PRIMARY_REGISTRANT_COUNTRY]': |
|
158 | - $country_obj = $attendee->country_obj(); |
|
159 | - return $country_obj instanceof EE_Country ? $country_obj->name() : ''; |
|
160 | - break; |
|
161 | - |
|
162 | - case '[PRIMARY_REGISTRANT_REGISTRATION_DATE]': |
|
163 | - if (! $primary_registration->primary_reg_obj instanceof EE_Registration) { |
|
164 | - return ''; |
|
165 | - } |
|
166 | - return $primary_registration->primary_reg_obj->get_i18n_datetime('REG_date', get_option('date_format')); |
|
167 | - break; |
|
168 | - |
|
169 | - case '[PRIMARY_REGISTRANT_FRONTEND_EDIT_REG_LINK]': |
|
170 | - return $primary_reg->edit_attendee_information_url(); |
|
171 | - break; |
|
172 | - } |
|
173 | - |
|
174 | - if (strpos($shortcode, '[PRIMARY_REGISTRANT_ANSWER_*') !== false) { |
|
175 | - $shortcode = str_replace('[PRIMARY_REGISTRANT_ANSWER_*', '', $shortcode); |
|
176 | - $shortcode = trim(str_replace(']', '', $shortcode)); |
|
177 | - |
|
178 | - |
|
179 | - // now let's figure out what question has this text |
|
180 | - if (empty($primary_registration->questions)) { |
|
181 | - return ''; |
|
182 | - } |
|
183 | - |
|
184 | - foreach ($primary_registration->questions as $ansid => $question) { |
|
185 | - if ( |
|
186 | - $question instanceof EE_Question |
|
187 | - && trim($question->get('QST_display_text')) === trim($shortcode) |
|
188 | - && isset($primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]) |
|
189 | - ) { |
|
190 | - $primary_reg_ansid = $primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]; |
|
191 | - |
|
192 | - // what we show for the answer depends on the question type! |
|
193 | - switch ($question->get('QST_type')) { |
|
194 | - case EEM_Question::QST_type_state: |
|
195 | - $state = EEM_State::instance()->get_one_by_ID($primary_reg_ansid->get('ANS_value')); |
|
196 | - $answer = $state instanceof EE_State ? $state->name() : ''; |
|
197 | - break; |
|
198 | - |
|
199 | - case EEM_Question::QST_type_country: |
|
200 | - $country = EEM_Country::instance()->get_one_by_ID($primary_reg_ansid->get('ANS_value')); |
|
201 | - $answer = $country instanceof EE_Country ? $country->name() : ''; |
|
202 | - break; |
|
203 | - |
|
204 | - default: |
|
205 | - $answer = $primary_reg_ansid->get_pretty('ANS_value', 'no_wpautop'); |
|
206 | - break; |
|
207 | - } |
|
208 | - |
|
209 | - return $answer; |
|
210 | - break; |
|
211 | - } |
|
212 | - } |
|
213 | - } |
|
214 | - |
|
215 | - return ''; |
|
216 | - } |
|
20 | + protected function _init_props() |
|
21 | + { |
|
22 | + $this->label = esc_html__('Primary_Registration Details Shortcodes', 'event_espresso'); |
|
23 | + $this->description = esc_html__('All shortcodes specific primary registrant data', 'event_espresso'); |
|
24 | + $this->_shortcodes = array( |
|
25 | + '[PRIMARY_REGISTRANT_FNAME]' => esc_html__( |
|
26 | + 'Parses to the first name of the primary registration for the transaction.', |
|
27 | + 'event_espresso' |
|
28 | + ), |
|
29 | + '[PRIMARY_REGISTRANT_LNAME]' => esc_html__( |
|
30 | + 'Parses to the last name of the primary registration for the transaction.', |
|
31 | + 'event_espresso' |
|
32 | + ), |
|
33 | + '[PRIMARY_REGISTRANT_EMAIL]' => esc_html__( |
|
34 | + 'Parses to the email address of the primary registration for the transaction.', |
|
35 | + 'event_espresso' |
|
36 | + ), |
|
37 | + '[PRIMARY_REGISTRANT_REGISTRATION_ID]' => esc_html__( |
|
38 | + 'Parses to the registration ID of the primary registrant for the transaction.', |
|
39 | + 'event_espresso' |
|
40 | + ), |
|
41 | + '[PRIMARY_REGISTRANT_REGISTRATION_CODE]' => esc_html__( |
|
42 | + 'Parses to the registration code of the primary registrant for the transaction.', |
|
43 | + 'event_espresso' |
|
44 | + ), |
|
45 | + '[PRIMARY_REGISTRANT_PHONE_NUMBER]' => esc_html__( |
|
46 | + 'The Phone Number for the primary registrant for the transaction.', |
|
47 | + 'event_espresso' |
|
48 | + ), |
|
49 | + '[PRIMARY_REGISTRANT_ADDRESS]' => esc_html__( |
|
50 | + 'The Address for the primary registrant for the transaction.', |
|
51 | + 'event_espresso' |
|
52 | + ), |
|
53 | + '[PRIMARY_REGISTRANT_ADDRESS2]' => esc_html__( |
|
54 | + 'Whatever was in the address 2 field for the primary registrant for the transaction.', |
|
55 | + 'event_espresso' |
|
56 | + ), |
|
57 | + '[PRIMARY_REGISTRANT_CITY]' => esc_html__( |
|
58 | + 'The city for the primary registrant for the transaction.', |
|
59 | + 'event_espresso' |
|
60 | + ), |
|
61 | + '[PRIMARY_REGISTRANT_ZIP_PC]' => esc_html__( |
|
62 | + 'The ZIP (or Postal) Code for the primary registrant for the transaction.', |
|
63 | + 'event_espresso' |
|
64 | + ), |
|
65 | + '[PRIMARY_REGISTRANT_ADDRESS_STATE]' => esc_html__( |
|
66 | + 'The state/province for the primary registrant for the transaction.', |
|
67 | + 'event_espresso' |
|
68 | + ), |
|
69 | + '[PRIMARY_REGISTRANT_COUNTRY]' => esc_html__( |
|
70 | + 'The country for the primary registrant for the transaction.', |
|
71 | + 'event_espresso' |
|
72 | + ), |
|
73 | + '[PRIMARY_REGISTRANT_REGISTRATION_DATE]' => esc_html__( |
|
74 | + 'The date the registration occured for the primary registration.', |
|
75 | + 'event_espresso' |
|
76 | + ), |
|
77 | + '[PRIMARY_REGISTRANT_FRONTEND_EDIT_REG_LINK]' => esc_html__( |
|
78 | + 'Generates a link for the given registration to edit this registration details on the frontend.', |
|
79 | + 'event_espresso' |
|
80 | + ), |
|
81 | + '[PRIMARY_REGISTRANT_ANSWER_*]' => esc_html__( |
|
82 | + 'This is a special dynamic shortcode. After the "*", add the exact text of an existing question, and if there is an answer for that question for this primary registrant, then it will be output in place of this shortcode.', |
|
83 | + 'event_espresso' |
|
84 | + ), |
|
85 | + ); |
|
86 | + } |
|
87 | + |
|
88 | + |
|
89 | + protected function _parser($shortcode) |
|
90 | + { |
|
91 | + // make sure we end up with a copy of the EE_Messages_Addressee object |
|
92 | + $primary_registration = $this->_data instanceof EE_Messages_Addressee ? $this->_data : null; |
|
93 | + $primary_registration = ! $primary_registration instanceof EE_Messages_Addressee && is_array( |
|
94 | + $this->_data |
|
95 | + ) && isset($this->_data['data']) && $this->_data['data'] instanceof EE_Messages_Addressee ? $this->_data['data'] |
|
96 | + : $primary_registration; |
|
97 | + $primary_registration = ! $primary_registration instanceof EE_Messages_Addressee && ! empty($this->_extra_data['data']) && $this->_extra_data['data'] instanceof EE_Messages_Addressee |
|
98 | + ? $this->_extra_data['data'] : $primary_registration; |
|
99 | + |
|
100 | + if (! $primary_registration instanceof EE_Messages_Addressee) { |
|
101 | + return ''; |
|
102 | + } |
|
103 | + |
|
104 | + $attendee = $primary_registration->primary_att_obj; |
|
105 | + $primary_reg = $primary_registration->primary_reg_obj; |
|
106 | + |
|
107 | + if (! $attendee instanceof EE_Attendee || ! $primary_reg instanceof EE_Registration) { |
|
108 | + return ''; |
|
109 | + } |
|
110 | + |
|
111 | + switch ($shortcode) { |
|
112 | + case '[PRIMARY_REGISTRANT_FNAME]': |
|
113 | + return $attendee->fname(); |
|
114 | + break; |
|
115 | + |
|
116 | + case '[PRIMARY_REGISTRANT_LNAME]': |
|
117 | + return $attendee->lname(); |
|
118 | + break; |
|
119 | + |
|
120 | + case '[PRIMARY_REGISTRANT_EMAIL]': |
|
121 | + return $attendee->email(); |
|
122 | + break; |
|
123 | + |
|
124 | + case '[PRIMARY_REGISTRANT_REGISTRATION_ID]': |
|
125 | + return $primary_reg->ID(); |
|
126 | + break; |
|
127 | + |
|
128 | + case '[PRIMARY_REGISTRANT_REGISTRATION_CODE]': |
|
129 | + return $primary_reg->reg_code(); |
|
130 | + break; |
|
131 | + |
|
132 | + case '[PRIMARY_REGISTRANT_PHONE_NUMBER]': |
|
133 | + return $attendee->phone(); |
|
134 | + break; |
|
135 | + |
|
136 | + case '[PRIMARY_REGISTRANT_ADDRESS]': |
|
137 | + return $attendee->address(); |
|
138 | + break; |
|
139 | + |
|
140 | + case '[PRIMARY_REGISTRANT_ADDRESS2]': |
|
141 | + return $attendee->address2(); |
|
142 | + break; |
|
143 | + |
|
144 | + case '[PRIMARY_REGISTRANT_CITY]': |
|
145 | + return $attendee->city(); |
|
146 | + break; |
|
147 | + |
|
148 | + case '[PRIMARY_REGISTRANT_ZIP_PC]': |
|
149 | + return $attendee->zip(); |
|
150 | + break; |
|
151 | + |
|
152 | + case '[PRIMARY_REGISTRANT_ADDRESS_STATE]': |
|
153 | + $state_obj = $attendee->state_obj(); |
|
154 | + return $state_obj instanceof EE_State ? $state_obj->name() : ''; |
|
155 | + break; |
|
156 | + |
|
157 | + case '[PRIMARY_REGISTRANT_COUNTRY]': |
|
158 | + $country_obj = $attendee->country_obj(); |
|
159 | + return $country_obj instanceof EE_Country ? $country_obj->name() : ''; |
|
160 | + break; |
|
161 | + |
|
162 | + case '[PRIMARY_REGISTRANT_REGISTRATION_DATE]': |
|
163 | + if (! $primary_registration->primary_reg_obj instanceof EE_Registration) { |
|
164 | + return ''; |
|
165 | + } |
|
166 | + return $primary_registration->primary_reg_obj->get_i18n_datetime('REG_date', get_option('date_format')); |
|
167 | + break; |
|
168 | + |
|
169 | + case '[PRIMARY_REGISTRANT_FRONTEND_EDIT_REG_LINK]': |
|
170 | + return $primary_reg->edit_attendee_information_url(); |
|
171 | + break; |
|
172 | + } |
|
173 | + |
|
174 | + if (strpos($shortcode, '[PRIMARY_REGISTRANT_ANSWER_*') !== false) { |
|
175 | + $shortcode = str_replace('[PRIMARY_REGISTRANT_ANSWER_*', '', $shortcode); |
|
176 | + $shortcode = trim(str_replace(']', '', $shortcode)); |
|
177 | + |
|
178 | + |
|
179 | + // now let's figure out what question has this text |
|
180 | + if (empty($primary_registration->questions)) { |
|
181 | + return ''; |
|
182 | + } |
|
183 | + |
|
184 | + foreach ($primary_registration->questions as $ansid => $question) { |
|
185 | + if ( |
|
186 | + $question instanceof EE_Question |
|
187 | + && trim($question->get('QST_display_text')) === trim($shortcode) |
|
188 | + && isset($primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]) |
|
189 | + ) { |
|
190 | + $primary_reg_ansid = $primary_registration->registrations[ $primary_reg->ID() ]['ans_objs'][ $ansid ]; |
|
191 | + |
|
192 | + // what we show for the answer depends on the question type! |
|
193 | + switch ($question->get('QST_type')) { |
|
194 | + case EEM_Question::QST_type_state: |
|
195 | + $state = EEM_State::instance()->get_one_by_ID($primary_reg_ansid->get('ANS_value')); |
|
196 | + $answer = $state instanceof EE_State ? $state->name() : ''; |
|
197 | + break; |
|
198 | + |
|
199 | + case EEM_Question::QST_type_country: |
|
200 | + $country = EEM_Country::instance()->get_one_by_ID($primary_reg_ansid->get('ANS_value')); |
|
201 | + $answer = $country instanceof EE_Country ? $country->name() : ''; |
|
202 | + break; |
|
203 | + |
|
204 | + default: |
|
205 | + $answer = $primary_reg_ansid->get_pretty('ANS_value', 'no_wpautop'); |
|
206 | + break; |
|
207 | + } |
|
208 | + |
|
209 | + return $answer; |
|
210 | + break; |
|
211 | + } |
|
212 | + } |
|
213 | + } |
|
214 | + |
|
215 | + return ''; |
|
216 | + } |
|
217 | 217 | } |
@@ -21,13 +21,13 @@ |
||
21 | 21 | { |
22 | 22 | $query_params = array('order_by' => array('CNT_name' => 'asc')); |
23 | 23 | if ($only_specific_currency_codes) { |
24 | - $query_params[0]['CNT_cur_code'] = array('IN',$only_specific_currency_codes); |
|
24 | + $query_params[0]['CNT_cur_code'] = array('IN', $only_specific_currency_codes); |
|
25 | 25 | } |
26 | 26 | $all_countries = EEM_Country::instance()->get_all($query_params); |
27 | 27 | $country_options = array(); |
28 | 28 | foreach ($all_countries as $country) { |
29 | 29 | /* @var $country EE_Country */ |
30 | - $country_options[ $country->currency_code() ] = $country->name() . ": " . $country->currency_name_single() . " (" . $country->currency_sign() . ")"; |
|
30 | + $country_options[$country->currency_code()] = $country->name().": ".$country->currency_name_single()." (".$country->currency_sign().")"; |
|
31 | 31 | } |
32 | 32 | parent::__construct($country_options, 'int', $input_settings); |
33 | 33 | } |
@@ -11,23 +11,23 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_Currency_Input extends EE_Select_Input |
13 | 13 | { |
14 | - /** |
|
15 | - * |
|
16 | - * @param array $only_specific_currency_codes numerically-indexed array of allowed currency codes. By default, all are allowed |
|
17 | - * @param array $input_settings |
|
18 | - */ |
|
19 | - public function __construct($only_specific_currency_codes = array(), $input_settings = array()) |
|
20 | - { |
|
21 | - $query_params = array('order_by' => array('CNT_name' => 'asc')); |
|
22 | - if ($only_specific_currency_codes) { |
|
23 | - $query_params[0]['CNT_cur_code'] = array('IN',$only_specific_currency_codes); |
|
24 | - } |
|
25 | - $all_countries = EEM_Country::instance()->get_all($query_params); |
|
26 | - $country_options = array(); |
|
27 | - foreach ($all_countries as $country) { |
|
28 | - /* @var $country EE_Country */ |
|
29 | - $country_options[ $country->currency_code() ] = $country->name() . ": " . $country->currency_name_single() . " (" . $country->currency_sign() . ")"; |
|
30 | - } |
|
31 | - parent::__construct($country_options, 'int', $input_settings); |
|
32 | - } |
|
14 | + /** |
|
15 | + * |
|
16 | + * @param array $only_specific_currency_codes numerically-indexed array of allowed currency codes. By default, all are allowed |
|
17 | + * @param array $input_settings |
|
18 | + */ |
|
19 | + public function __construct($only_specific_currency_codes = array(), $input_settings = array()) |
|
20 | + { |
|
21 | + $query_params = array('order_by' => array('CNT_name' => 'asc')); |
|
22 | + if ($only_specific_currency_codes) { |
|
23 | + $query_params[0]['CNT_cur_code'] = array('IN',$only_specific_currency_codes); |
|
24 | + } |
|
25 | + $all_countries = EEM_Country::instance()->get_all($query_params); |
|
26 | + $country_options = array(); |
|
27 | + foreach ($all_countries as $country) { |
|
28 | + /* @var $country EE_Country */ |
|
29 | + $country_options[ $country->currency_code() ] = $country->name() . ": " . $country->currency_name_single() . " (" . $country->currency_sign() . ")"; |
|
30 | + } |
|
31 | + parent::__construct($country_options, 'int', $input_settings); |
|
32 | + } |
|
33 | 33 | } |
@@ -45,12 +45,12 @@ discard block |
||
45 | 45 | if (empty($sibling_section_name)) { |
46 | 46 | continue; |
47 | 47 | } |
48 | - $sibling_section = $this->find_section_from_path('../' . $sibling_section_name); |
|
48 | + $sibling_section = $this->find_section_from_path('../'.$sibling_section_name); |
|
49 | 49 | if ( |
50 | 50 | $sibling_section instanceof EE_Form_Section_Base |
51 | 51 | && ! empty($sibling_section_name) |
52 | 52 | ) { |
53 | - $sibling_sections[ $sibling_section_name ] = $sibling_section; |
|
53 | + $sibling_sections[$sibling_section_name] = $sibling_section; |
|
54 | 54 | } |
55 | 55 | } |
56 | 56 | return $sibling_sections; |
@@ -66,14 +66,14 @@ discard block |
||
66 | 66 | public function get_other_js_data($form_other_js_data = array()) |
67 | 67 | { |
68 | 68 | $form_other_js_data = parent::get_other_js_data($form_other_js_data); |
69 | - if (! isset($form_other_js_data['select_reveal_inputs'])) { |
|
69 | + if ( ! isset($form_other_js_data['select_reveal_inputs'])) { |
|
70 | 70 | $form_other_js_data['select_reveal_inputs'] = array(); |
71 | 71 | } |
72 | 72 | $sibling_input_to_html_id_map = array(); |
73 | 73 | foreach ($this->sibling_sections_controlled() as $sibling_section_path => $sibling_section) { |
74 | - $sibling_input_to_html_id_map[ $sibling_section_path ] = $sibling_section->html_id(); |
|
74 | + $sibling_input_to_html_id_map[$sibling_section_path] = $sibling_section->html_id(); |
|
75 | 75 | } |
76 | - $form_other_js_data['select_reveal_inputs'][ $this->html_id() ] = $sibling_input_to_html_id_map; |
|
76 | + $form_other_js_data['select_reveal_inputs'][$this->html_id()] = $sibling_input_to_html_id_map; |
|
77 | 77 | return $form_other_js_data; |
78 | 78 | } |
79 | 79 | } |
@@ -14,65 +14,65 @@ |
||
14 | 14 | */ |
15 | 15 | class EE_Select_Reveal_Input extends EE_Select_Input |
16 | 16 | { |
17 | - /** |
|
18 | - * @param array $answer_options Array keys which match a sibling section's name |
|
19 | - * will show/unhide that sibling subsection. Otherwise, siblings whose names |
|
20 | - * match array keys of $answer_options are hidden. |
|
21 | - * Note: internally each array key is considered a relative form input path |
|
22 | - * (see EE_Form_Section_Base::find_section_from_path) but relative |
|
23 | - * to THIS INPUT's PARENT section, not this input itself. ie, |
|
24 | - * a '../' is automatically added onto each each array key, to produce |
|
25 | - * the relative form input path. |
|
26 | - * Note however: array keys which are an EMPTY STRING are left as-is |
|
27 | - * |
|
28 | - * @param array $input_settings |
|
29 | - */ |
|
30 | - public function __construct($answer_options, $input_settings = array()) |
|
31 | - { |
|
32 | - parent::__construct($answer_options, $input_settings); |
|
33 | - } |
|
17 | + /** |
|
18 | + * @param array $answer_options Array keys which match a sibling section's name |
|
19 | + * will show/unhide that sibling subsection. Otherwise, siblings whose names |
|
20 | + * match array keys of $answer_options are hidden. |
|
21 | + * Note: internally each array key is considered a relative form input path |
|
22 | + * (see EE_Form_Section_Base::find_section_from_path) but relative |
|
23 | + * to THIS INPUT's PARENT section, not this input itself. ie, |
|
24 | + * a '../' is automatically added onto each each array key, to produce |
|
25 | + * the relative form input path. |
|
26 | + * Note however: array keys which are an EMPTY STRING are left as-is |
|
27 | + * |
|
28 | + * @param array $input_settings |
|
29 | + */ |
|
30 | + public function __construct($answer_options, $input_settings = array()) |
|
31 | + { |
|
32 | + parent::__construct($answer_options, $input_settings); |
|
33 | + } |
|
34 | 34 | |
35 | - /** |
|
36 | - * Gets all the sibling sections controlled by this reveal select input |
|
37 | - * @return \EE_Form_Section_Base[] keys are their form section paths |
|
38 | - */ |
|
39 | - public function sibling_sections_controlled() |
|
40 | - { |
|
41 | - $sibling_sections = array(); |
|
42 | - foreach ($this->options() as $sibling_section_name => $sibling_section) { |
|
43 | - // if it's an empty string just leave it alone |
|
44 | - if (empty($sibling_section_name)) { |
|
45 | - continue; |
|
46 | - } |
|
47 | - $sibling_section = $this->find_section_from_path('../' . $sibling_section_name); |
|
48 | - if ( |
|
49 | - $sibling_section instanceof EE_Form_Section_Base |
|
50 | - && ! empty($sibling_section_name) |
|
51 | - ) { |
|
52 | - $sibling_sections[ $sibling_section_name ] = $sibling_section; |
|
53 | - } |
|
54 | - } |
|
55 | - return $sibling_sections; |
|
56 | - } |
|
35 | + /** |
|
36 | + * Gets all the sibling sections controlled by this reveal select input |
|
37 | + * @return \EE_Form_Section_Base[] keys are their form section paths |
|
38 | + */ |
|
39 | + public function sibling_sections_controlled() |
|
40 | + { |
|
41 | + $sibling_sections = array(); |
|
42 | + foreach ($this->options() as $sibling_section_name => $sibling_section) { |
|
43 | + // if it's an empty string just leave it alone |
|
44 | + if (empty($sibling_section_name)) { |
|
45 | + continue; |
|
46 | + } |
|
47 | + $sibling_section = $this->find_section_from_path('../' . $sibling_section_name); |
|
48 | + if ( |
|
49 | + $sibling_section instanceof EE_Form_Section_Base |
|
50 | + && ! empty($sibling_section_name) |
|
51 | + ) { |
|
52 | + $sibling_sections[ $sibling_section_name ] = $sibling_section; |
|
53 | + } |
|
54 | + } |
|
55 | + return $sibling_sections; |
|
56 | + } |
|
57 | 57 | |
58 | - /** |
|
59 | - * Adds an entry of 'select_reveal_inputs' to the js data, which is an array |
|
60 | - * whose top-level keys are select reveal input html ids; values are arrays |
|
61 | - * whose keys are select option values and values are the sections they reveal |
|
62 | - * @param array $form_other_js_data |
|
63 | - * @return array |
|
64 | - */ |
|
65 | - public function get_other_js_data($form_other_js_data = array()) |
|
66 | - { |
|
67 | - $form_other_js_data = parent::get_other_js_data($form_other_js_data); |
|
68 | - if (! isset($form_other_js_data['select_reveal_inputs'])) { |
|
69 | - $form_other_js_data['select_reveal_inputs'] = array(); |
|
70 | - } |
|
71 | - $sibling_input_to_html_id_map = array(); |
|
72 | - foreach ($this->sibling_sections_controlled() as $sibling_section_path => $sibling_section) { |
|
73 | - $sibling_input_to_html_id_map[ $sibling_section_path ] = $sibling_section->html_id(); |
|
74 | - } |
|
75 | - $form_other_js_data['select_reveal_inputs'][ $this->html_id() ] = $sibling_input_to_html_id_map; |
|
76 | - return $form_other_js_data; |
|
77 | - } |
|
58 | + /** |
|
59 | + * Adds an entry of 'select_reveal_inputs' to the js data, which is an array |
|
60 | + * whose top-level keys are select reveal input html ids; values are arrays |
|
61 | + * whose keys are select option values and values are the sections they reveal |
|
62 | + * @param array $form_other_js_data |
|
63 | + * @return array |
|
64 | + */ |
|
65 | + public function get_other_js_data($form_other_js_data = array()) |
|
66 | + { |
|
67 | + $form_other_js_data = parent::get_other_js_data($form_other_js_data); |
|
68 | + if (! isset($form_other_js_data['select_reveal_inputs'])) { |
|
69 | + $form_other_js_data['select_reveal_inputs'] = array(); |
|
70 | + } |
|
71 | + $sibling_input_to_html_id_map = array(); |
|
72 | + foreach ($this->sibling_sections_controlled() as $sibling_section_path => $sibling_section) { |
|
73 | + $sibling_input_to_html_id_map[ $sibling_section_path ] = $sibling_section->html_id(); |
|
74 | + } |
|
75 | + $form_other_js_data['select_reveal_inputs'][ $this->html_id() ] = $sibling_input_to_html_id_map; |
|
76 | + return $form_other_js_data; |
|
77 | + } |
|
78 | 78 | } |
@@ -23,7 +23,7 @@ |
||
23 | 23 | $this->_add_validation_strategy( |
24 | 24 | new EE_Text_Validation_Strategy( |
25 | 25 | isset($input_settings['validation_error_message']) |
26 | - ? $input_settings['validation_error_message'] |
|
26 | + ? $input_settings['validation_error_message'] |
|
27 | 27 | : esc_html__( |
28 | 28 | 'The CVV is either a 3 digit number on the back of your card, or 4 digit number on the front', |
29 | 29 | 'event_espresso' |
@@ -11,43 +11,43 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_CVV_Input extends EE_Text_Input |
13 | 13 | { |
14 | - /** |
|
15 | - * @param array $input_settings { |
|
16 | - * @type boolean $include_whats_this_link defaults to true |
|
17 | - * } |
|
18 | - */ |
|
19 | - public function __construct($input_settings = array()) |
|
20 | - { |
|
21 | - $this->set_sensitive_data_removal_strategy(new EE_CCV_Sensitive_Data_Removal()); |
|
22 | - $this->_add_validation_strategy( |
|
23 | - new EE_Text_Validation_Strategy( |
|
24 | - isset($input_settings['validation_error_message']) |
|
25 | - ? $input_settings['validation_error_message'] |
|
26 | - : esc_html__( |
|
27 | - 'The CVV is either a 3 digit number on the back of your card, or 4 digit number on the front', |
|
28 | - 'event_espresso' |
|
29 | - ), |
|
30 | - '~^\d{3,4}$~' |
|
31 | - ) |
|
32 | - ); |
|
33 | - parent::__construct($input_settings); |
|
34 | - if ( |
|
35 | - ! isset($input_settings['include_whats_this_link']) |
|
36 | - || ( |
|
37 | - isset($input_settings['include_whats_this_link']) |
|
38 | - && $input_settings['include_whats_this_link'] === true |
|
39 | - ) |
|
40 | - ) { |
|
41 | - $this->_html_label_text = sprintf( |
|
42 | - esc_html_x( |
|
43 | - '%1$s %2$s(What\'s this?)%3$s', |
|
44 | - 'CVV (What\'s this?)', |
|
45 | - 'event_espresso' |
|
46 | - ), |
|
47 | - $this->_html_label_text, |
|
48 | - '<a href="https://www.cvvnumber.com/" target="_blank" rel="noopener noreferrer">', |
|
49 | - '</a>' |
|
50 | - ); |
|
51 | - } |
|
52 | - } |
|
14 | + /** |
|
15 | + * @param array $input_settings { |
|
16 | + * @type boolean $include_whats_this_link defaults to true |
|
17 | + * } |
|
18 | + */ |
|
19 | + public function __construct($input_settings = array()) |
|
20 | + { |
|
21 | + $this->set_sensitive_data_removal_strategy(new EE_CCV_Sensitive_Data_Removal()); |
|
22 | + $this->_add_validation_strategy( |
|
23 | + new EE_Text_Validation_Strategy( |
|
24 | + isset($input_settings['validation_error_message']) |
|
25 | + ? $input_settings['validation_error_message'] |
|
26 | + : esc_html__( |
|
27 | + 'The CVV is either a 3 digit number on the back of your card, or 4 digit number on the front', |
|
28 | + 'event_espresso' |
|
29 | + ), |
|
30 | + '~^\d{3,4}$~' |
|
31 | + ) |
|
32 | + ); |
|
33 | + parent::__construct($input_settings); |
|
34 | + if ( |
|
35 | + ! isset($input_settings['include_whats_this_link']) |
|
36 | + || ( |
|
37 | + isset($input_settings['include_whats_this_link']) |
|
38 | + && $input_settings['include_whats_this_link'] === true |
|
39 | + ) |
|
40 | + ) { |
|
41 | + $this->_html_label_text = sprintf( |
|
42 | + esc_html_x( |
|
43 | + '%1$s %2$s(What\'s this?)%3$s', |
|
44 | + 'CVV (What\'s this?)', |
|
45 | + 'event_espresso' |
|
46 | + ), |
|
47 | + $this->_html_label_text, |
|
48 | + '<a href="https://www.cvvnumber.com/" target="_blank" rel="noopener noreferrer">', |
|
49 | + '</a>' |
|
50 | + ); |
|
51 | + } |
|
52 | + } |
|
53 | 53 | } |
@@ -115,7 +115,7 @@ discard block |
||
115 | 115 | $all_ints = true; |
116 | 116 | array_walk_recursive( |
117 | 117 | $this->_options, |
118 | - function ($value, $key) use (&$all_ints) { |
|
118 | + function($value, $key) use (&$all_ints) { |
|
119 | 119 | // is this a top-level key? ignore it |
120 | 120 | if ( |
121 | 121 | ! is_array($value) |
@@ -177,13 +177,13 @@ discard block |
||
177 | 177 | if (EEH_Array::is_multi_dimensional_array($arr)) { |
178 | 178 | foreach ($arr as $sub_array) { |
179 | 179 | foreach ((array) $sub_array as $key => $value) { |
180 | - $flat_array[ $key ] = $value; |
|
180 | + $flat_array[$key] = $value; |
|
181 | 181 | $this->_set_label_size($value); |
182 | 182 | } |
183 | 183 | } |
184 | 184 | } else { |
185 | 185 | foreach ($arr as $key => $value) { |
186 | - $flat_array[ $key ] = $value; |
|
186 | + $flat_array[$key] = $value; |
|
187 | 187 | $this->_set_label_size($value); |
188 | 188 | } |
189 | 189 | } |
@@ -204,17 +204,17 @@ discard block |
||
204 | 204 | $desc = ''; |
205 | 205 | if ($this->_use_desc_in_label) { |
206 | 206 | $desc = $question_option->desc(); |
207 | - $desc = ! empty($desc) ? '<span class="ee-question-option-desc">' . $desc . '</span>' : ''; |
|
207 | + $desc = ! empty($desc) ? '<span class="ee-question-option-desc">'.$desc.'</span>' : ''; |
|
208 | 208 | } |
209 | 209 | $value = $question_option->value(); |
210 | 210 | // add value even if it's empty |
211 | - $flat_array[ $value ] = $value; |
|
211 | + $flat_array[$value] = $value; |
|
212 | 212 | // if both value and desc are not empty, then separate with a dash |
213 | - if (! empty($value) && ! empty($desc)) { |
|
214 | - $flat_array[ $value ] .= ' - ' . $desc; |
|
213 | + if ( ! empty($value) && ! empty($desc)) { |
|
214 | + $flat_array[$value] .= ' - '.$desc; |
|
215 | 215 | } else { |
216 | 216 | // otherwise, just add desc, since either or both of the vars is empty, and no dash is necessary |
217 | - $flat_array[ $value ] .= $desc; |
|
217 | + $flat_array[$value] .= $desc; |
|
218 | 218 | } |
219 | 219 | } elseif (is_array($question_option)) { |
220 | 220 | $flat_array += $this->_flatten_select_options($question_option); |
@@ -233,7 +233,7 @@ discard block |
||
233 | 233 | public function set_label_sizes() |
234 | 234 | { |
235 | 235 | // did the input settings specifically say to NOT set the label size dynamically ? |
236 | - if (! $this->_enforce_label_size) { |
|
236 | + if ( ! $this->_enforce_label_size) { |
|
237 | 237 | foreach ($this->_options as $option) { |
238 | 238 | // calculate the strlen of the label |
239 | 239 | $this->_set_label_size($option); |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | private function _set_label_size($value = '') |
253 | 253 | { |
254 | 254 | // don't change label size if it has already been set and is being enforced |
255 | - if ($this->_enforce_label_size && $this->_label_size > 0) { |
|
255 | + if ($this->_enforce_label_size && $this->_label_size > 0) { |
|
256 | 256 | return; |
257 | 257 | } |
258 | 258 | // determine length of option value |
@@ -299,13 +299,13 @@ discard block |
||
299 | 299 | { |
300 | 300 | $options = $this->flat_options(); |
301 | 301 | $unnormalized_value_choices = $this->get_normalization_strategy()->unnormalize($this->_normalized_value); |
302 | - if (! $this->_multiple_selections) { |
|
302 | + if ( ! $this->_multiple_selections) { |
|
303 | 303 | $unnormalized_value_choices = array($unnormalized_value_choices); |
304 | 304 | } |
305 | 305 | $pretty_strings = array(); |
306 | 306 | foreach ((array) $unnormalized_value_choices as $unnormalized_value_choice) { |
307 | - if (isset($options[ $unnormalized_value_choice ])) { |
|
308 | - $pretty_strings[] = $options[ $unnormalized_value_choice ]; |
|
307 | + if (isset($options[$unnormalized_value_choice])) { |
|
308 | + $pretty_strings[] = $options[$unnormalized_value_choice]; |
|
309 | 309 | } else { |
310 | 310 | $pretty_strings[] = $this->normalized_value(); |
311 | 311 | } |
@@ -11,324 +11,324 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_Form_Input_With_Options_Base extends EE_Form_Input_Base |
13 | 13 | { |
14 | - /** |
|
15 | - * array of available options to choose as an answer |
|
16 | - * |
|
17 | - * @var array |
|
18 | - */ |
|
19 | - protected $_options = array(); |
|
20 | - |
|
21 | - /** |
|
22 | - * whether to display the html_label_text above the checkbox/radio button options |
|
23 | - * |
|
24 | - * @var boolean |
|
25 | - */ |
|
26 | - protected $_display_html_label_text = true; |
|
27 | - |
|
28 | - /** |
|
29 | - * whether to display an question option description as part of the input label |
|
30 | - * |
|
31 | - * @var boolean |
|
32 | - */ |
|
33 | - protected $_use_desc_in_label = true; |
|
34 | - |
|
35 | - /** |
|
36 | - * strlen() result for the longest input value (what gets displayed in the label) |
|
37 | - * this is used to apply a css class to the input label |
|
38 | - * |
|
39 | - * @var int |
|
40 | - */ |
|
41 | - protected $_label_size = 0; |
|
42 | - |
|
43 | - /** |
|
44 | - * whether to enforce the label size value passed in the constructor |
|
45 | - * |
|
46 | - * @var boolean |
|
47 | - */ |
|
48 | - protected $_enforce_label_size = false; |
|
49 | - |
|
50 | - /** |
|
51 | - * whether to allow multiple selections (ie, the value of this input should be an array) |
|
52 | - * or not (ie, the value should be a simple int, string, etc) |
|
53 | - * |
|
54 | - * @var boolean |
|
55 | - */ |
|
56 | - protected $_multiple_selections = false; |
|
57 | - |
|
58 | - |
|
59 | - |
|
60 | - /** |
|
61 | - * @param array $answer_options |
|
62 | - * @param array $input_settings { |
|
63 | - * @type int|string $label_size |
|
64 | - * @type boolean $display_html_label_text |
|
65 | - * } |
|
66 | - * And all the options accepted by EE_Form_Input_Base |
|
67 | - */ |
|
68 | - public function __construct($answer_options = array(), $input_settings = array()) |
|
69 | - { |
|
70 | - if (isset($input_settings['label_size'])) { |
|
71 | - $this->_set_label_size($input_settings['label_size']); |
|
72 | - if (isset($input_settings['enforce_label_size']) && $input_settings['enforce_label_size']) { |
|
73 | - $this->_enforce_label_size = true; |
|
74 | - } |
|
75 | - } |
|
76 | - if (isset($input_settings['display_html_label_text'])) { |
|
77 | - $this->set_display_html_label_text($input_settings['display_html_label_text']); |
|
78 | - } |
|
79 | - $this->set_select_options($answer_options); |
|
80 | - parent::__construct($input_settings); |
|
81 | - } |
|
82 | - |
|
83 | - |
|
84 | - |
|
85 | - /** |
|
86 | - * Sets the allowed options for this input. Also has the side-effect of |
|
87 | - * updating the normalization strategy to match the keys provided in the array |
|
88 | - * |
|
89 | - * @param array $answer_options |
|
90 | - * @return void just has the side-effect of setting the options for this input |
|
91 | - */ |
|
92 | - public function set_select_options($answer_options = array()) |
|
93 | - { |
|
94 | - $answer_options = is_array($answer_options) ? $answer_options : array($answer_options); |
|
95 | - // get the first item in the select options and check it's type |
|
96 | - $this->_options = reset($answer_options) instanceof EE_Question_Option |
|
97 | - ? $this->_process_question_options($answer_options) |
|
98 | - : $answer_options; |
|
99 | - // d( $this->_options ); |
|
100 | - $select_option_keys = array_keys($this->_options); |
|
101 | - // attempt to determine data type for values in order to set normalization type |
|
102 | - // purposefully only |
|
103 | - if ( |
|
104 | - count($this->_options) === 2 |
|
105 | - && ( |
|
106 | - (in_array(true, $select_option_keys, true) && in_array(false, $select_option_keys, true)) |
|
107 | - || (in_array(1, $select_option_keys, true) && in_array(0, $select_option_keys, true)) |
|
108 | - ) |
|
109 | - ) { |
|
110 | - // values appear to be boolean, like TRUE, FALSE, 1, 0 |
|
111 | - $normalization = new EE_Boolean_Normalization(); |
|
112 | - } else { |
|
113 | - // are ALL the options ints (even if we're using a multi-dimensional array)? If so use int validation |
|
114 | - $all_ints = true; |
|
115 | - array_walk_recursive( |
|
116 | - $this->_options, |
|
117 | - function ($value, $key) use (&$all_ints) { |
|
118 | - // is this a top-level key? ignore it |
|
119 | - if ( |
|
120 | - ! is_array($value) |
|
121 | - && ! is_int($key) |
|
122 | - && $key !== '' |
|
123 | - && $key !== null |
|
124 | - ) { |
|
125 | - $all_ints = false; |
|
126 | - } |
|
127 | - } |
|
128 | - ); |
|
129 | - if ($all_ints) { |
|
130 | - $normalization = new EE_Int_Normalization(); |
|
131 | - } else { |
|
132 | - $normalization = new EE_Text_Normalization(); |
|
133 | - } |
|
134 | - } |
|
135 | - // does input type have multiple options ? |
|
136 | - if ($this->_multiple_selections) { |
|
137 | - $this->_set_normalization_strategy(new EE_Many_Valued_Normalization($normalization)); |
|
138 | - } else { |
|
139 | - $this->_set_normalization_strategy($normalization); |
|
140 | - } |
|
141 | - } |
|
142 | - |
|
143 | - |
|
144 | - |
|
145 | - /** |
|
146 | - * @return array |
|
147 | - */ |
|
148 | - public function options() |
|
149 | - { |
|
150 | - return $this->_options; |
|
151 | - } |
|
152 | - |
|
153 | - |
|
154 | - |
|
155 | - /** |
|
156 | - * Returns an array which is guaranteed to not be multidimensional |
|
157 | - * |
|
158 | - * @return array |
|
159 | - */ |
|
160 | - public function flat_options() |
|
161 | - { |
|
162 | - return $this->_flatten_select_options($this->options()); |
|
163 | - } |
|
164 | - |
|
165 | - |
|
166 | - |
|
167 | - /** |
|
168 | - * Makes sure $arr is a flat array, not a multidimensional one |
|
169 | - * |
|
170 | - * @param array $arr |
|
171 | - * @return array |
|
172 | - */ |
|
173 | - protected function _flatten_select_options($arr) |
|
174 | - { |
|
175 | - $flat_array = array(); |
|
176 | - if (EEH_Array::is_multi_dimensional_array($arr)) { |
|
177 | - foreach ($arr as $sub_array) { |
|
178 | - foreach ((array) $sub_array as $key => $value) { |
|
179 | - $flat_array[ $key ] = $value; |
|
180 | - $this->_set_label_size($value); |
|
181 | - } |
|
182 | - } |
|
183 | - } else { |
|
184 | - foreach ($arr as $key => $value) { |
|
185 | - $flat_array[ $key ] = $value; |
|
186 | - $this->_set_label_size($value); |
|
187 | - } |
|
188 | - } |
|
189 | - return $flat_array; |
|
190 | - } |
|
191 | - |
|
192 | - |
|
193 | - |
|
194 | - /** |
|
195 | - * @param EE_Question_Option[] $question_options_array |
|
196 | - * @return array |
|
197 | - */ |
|
198 | - protected function _process_question_options($question_options_array = array()) |
|
199 | - { |
|
200 | - $flat_array = array(); |
|
201 | - foreach ($question_options_array as $question_option) { |
|
202 | - if ($question_option instanceof EE_Question_Option) { |
|
203 | - $desc = ''; |
|
204 | - if ($this->_use_desc_in_label) { |
|
205 | - $desc = $question_option->desc(); |
|
206 | - $desc = ! empty($desc) ? '<span class="ee-question-option-desc">' . $desc . '</span>' : ''; |
|
207 | - } |
|
208 | - $value = $question_option->value(); |
|
209 | - // add value even if it's empty |
|
210 | - $flat_array[ $value ] = $value; |
|
211 | - // if both value and desc are not empty, then separate with a dash |
|
212 | - if (! empty($value) && ! empty($desc)) { |
|
213 | - $flat_array[ $value ] .= ' - ' . $desc; |
|
214 | - } else { |
|
215 | - // otherwise, just add desc, since either or both of the vars is empty, and no dash is necessary |
|
216 | - $flat_array[ $value ] .= $desc; |
|
217 | - } |
|
218 | - } elseif (is_array($question_option)) { |
|
219 | - $flat_array += $this->_flatten_select_options($question_option); |
|
220 | - } |
|
221 | - } |
|
222 | - return $flat_array; |
|
223 | - } |
|
224 | - |
|
225 | - |
|
226 | - |
|
227 | - /** |
|
228 | - * set_label_sizes |
|
229 | - * |
|
230 | - * @return void |
|
231 | - */ |
|
232 | - public function set_label_sizes() |
|
233 | - { |
|
234 | - // did the input settings specifically say to NOT set the label size dynamically ? |
|
235 | - if (! $this->_enforce_label_size) { |
|
236 | - foreach ($this->_options as $option) { |
|
237 | - // calculate the strlen of the label |
|
238 | - $this->_set_label_size($option); |
|
239 | - } |
|
240 | - } |
|
241 | - } |
|
242 | - |
|
243 | - |
|
244 | - |
|
245 | - /** |
|
246 | - * _set_label_size_class |
|
247 | - * |
|
248 | - * @param int|string $value |
|
249 | - * @return void |
|
250 | - */ |
|
251 | - private function _set_label_size($value = '') |
|
252 | - { |
|
253 | - // don't change label size if it has already been set and is being enforced |
|
254 | - if ($this->_enforce_label_size && $this->_label_size > 0) { |
|
255 | - return; |
|
256 | - } |
|
257 | - // determine length of option value |
|
258 | - $val_size = is_int($value) ? $value : strlen($value); |
|
259 | - // use new value if bigger than existing |
|
260 | - $this->_label_size = $val_size > $this->_label_size ? $val_size : $this->_label_size; |
|
261 | - } |
|
262 | - |
|
263 | - |
|
264 | - |
|
265 | - /** |
|
266 | - * get_label_size_class |
|
267 | - * |
|
268 | - * @return string |
|
269 | - */ |
|
270 | - public function get_label_size_class() |
|
271 | - { |
|
272 | - $size = ' medium-lbl'; |
|
273 | - // use maximum option value length to determine label size |
|
274 | - if ($this->_label_size < 3) { |
|
275 | - $size = ' nano-lbl'; |
|
276 | - } elseif ($this->_label_size < 6) { |
|
277 | - $size = ' micro-lbl'; |
|
278 | - } elseif ($this->_label_size < 12) { |
|
279 | - $size = ' tiny-lbl'; |
|
280 | - } elseif ($this->_label_size < 25) { |
|
281 | - $size = ' small-lbl'; |
|
282 | - } elseif ($this->_label_size < 50) { |
|
283 | - $size = ' medium-lbl'; |
|
284 | - } elseif ($this->_label_size >= 100) { |
|
285 | - $size = ' big-lbl'; |
|
286 | - } |
|
287 | - return $size; |
|
288 | - } |
|
289 | - |
|
290 | - |
|
291 | - |
|
292 | - /** |
|
293 | - * Returns the pretty value for the normalized value |
|
294 | - * |
|
295 | - * @return string |
|
296 | - */ |
|
297 | - public function pretty_value() |
|
298 | - { |
|
299 | - $options = $this->flat_options(); |
|
300 | - $unnormalized_value_choices = $this->get_normalization_strategy()->unnormalize($this->_normalized_value); |
|
301 | - if (! $this->_multiple_selections) { |
|
302 | - $unnormalized_value_choices = array($unnormalized_value_choices); |
|
303 | - } |
|
304 | - $pretty_strings = array(); |
|
305 | - foreach ((array) $unnormalized_value_choices as $unnormalized_value_choice) { |
|
306 | - if (isset($options[ $unnormalized_value_choice ])) { |
|
307 | - $pretty_strings[] = $options[ $unnormalized_value_choice ]; |
|
308 | - } else { |
|
309 | - $pretty_strings[] = $this->normalized_value(); |
|
310 | - } |
|
311 | - } |
|
312 | - return implode(', ', $pretty_strings); |
|
313 | - } |
|
314 | - |
|
315 | - |
|
316 | - |
|
317 | - /** |
|
318 | - * @return boolean |
|
319 | - */ |
|
320 | - public function display_html_label_text() |
|
321 | - { |
|
322 | - return $this->_display_html_label_text; |
|
323 | - } |
|
324 | - |
|
325 | - |
|
326 | - |
|
327 | - /** |
|
328 | - * @param boolean $display_html_label_text |
|
329 | - */ |
|
330 | - public function set_display_html_label_text($display_html_label_text) |
|
331 | - { |
|
332 | - $this->_display_html_label_text = filter_var($display_html_label_text, FILTER_VALIDATE_BOOLEAN); |
|
333 | - } |
|
14 | + /** |
|
15 | + * array of available options to choose as an answer |
|
16 | + * |
|
17 | + * @var array |
|
18 | + */ |
|
19 | + protected $_options = array(); |
|
20 | + |
|
21 | + /** |
|
22 | + * whether to display the html_label_text above the checkbox/radio button options |
|
23 | + * |
|
24 | + * @var boolean |
|
25 | + */ |
|
26 | + protected $_display_html_label_text = true; |
|
27 | + |
|
28 | + /** |
|
29 | + * whether to display an question option description as part of the input label |
|
30 | + * |
|
31 | + * @var boolean |
|
32 | + */ |
|
33 | + protected $_use_desc_in_label = true; |
|
34 | + |
|
35 | + /** |
|
36 | + * strlen() result for the longest input value (what gets displayed in the label) |
|
37 | + * this is used to apply a css class to the input label |
|
38 | + * |
|
39 | + * @var int |
|
40 | + */ |
|
41 | + protected $_label_size = 0; |
|
42 | + |
|
43 | + /** |
|
44 | + * whether to enforce the label size value passed in the constructor |
|
45 | + * |
|
46 | + * @var boolean |
|
47 | + */ |
|
48 | + protected $_enforce_label_size = false; |
|
49 | + |
|
50 | + /** |
|
51 | + * whether to allow multiple selections (ie, the value of this input should be an array) |
|
52 | + * or not (ie, the value should be a simple int, string, etc) |
|
53 | + * |
|
54 | + * @var boolean |
|
55 | + */ |
|
56 | + protected $_multiple_selections = false; |
|
57 | + |
|
58 | + |
|
59 | + |
|
60 | + /** |
|
61 | + * @param array $answer_options |
|
62 | + * @param array $input_settings { |
|
63 | + * @type int|string $label_size |
|
64 | + * @type boolean $display_html_label_text |
|
65 | + * } |
|
66 | + * And all the options accepted by EE_Form_Input_Base |
|
67 | + */ |
|
68 | + public function __construct($answer_options = array(), $input_settings = array()) |
|
69 | + { |
|
70 | + if (isset($input_settings['label_size'])) { |
|
71 | + $this->_set_label_size($input_settings['label_size']); |
|
72 | + if (isset($input_settings['enforce_label_size']) && $input_settings['enforce_label_size']) { |
|
73 | + $this->_enforce_label_size = true; |
|
74 | + } |
|
75 | + } |
|
76 | + if (isset($input_settings['display_html_label_text'])) { |
|
77 | + $this->set_display_html_label_text($input_settings['display_html_label_text']); |
|
78 | + } |
|
79 | + $this->set_select_options($answer_options); |
|
80 | + parent::__construct($input_settings); |
|
81 | + } |
|
82 | + |
|
83 | + |
|
84 | + |
|
85 | + /** |
|
86 | + * Sets the allowed options for this input. Also has the side-effect of |
|
87 | + * updating the normalization strategy to match the keys provided in the array |
|
88 | + * |
|
89 | + * @param array $answer_options |
|
90 | + * @return void just has the side-effect of setting the options for this input |
|
91 | + */ |
|
92 | + public function set_select_options($answer_options = array()) |
|
93 | + { |
|
94 | + $answer_options = is_array($answer_options) ? $answer_options : array($answer_options); |
|
95 | + // get the first item in the select options and check it's type |
|
96 | + $this->_options = reset($answer_options) instanceof EE_Question_Option |
|
97 | + ? $this->_process_question_options($answer_options) |
|
98 | + : $answer_options; |
|
99 | + // d( $this->_options ); |
|
100 | + $select_option_keys = array_keys($this->_options); |
|
101 | + // attempt to determine data type for values in order to set normalization type |
|
102 | + // purposefully only |
|
103 | + if ( |
|
104 | + count($this->_options) === 2 |
|
105 | + && ( |
|
106 | + (in_array(true, $select_option_keys, true) && in_array(false, $select_option_keys, true)) |
|
107 | + || (in_array(1, $select_option_keys, true) && in_array(0, $select_option_keys, true)) |
|
108 | + ) |
|
109 | + ) { |
|
110 | + // values appear to be boolean, like TRUE, FALSE, 1, 0 |
|
111 | + $normalization = new EE_Boolean_Normalization(); |
|
112 | + } else { |
|
113 | + // are ALL the options ints (even if we're using a multi-dimensional array)? If so use int validation |
|
114 | + $all_ints = true; |
|
115 | + array_walk_recursive( |
|
116 | + $this->_options, |
|
117 | + function ($value, $key) use (&$all_ints) { |
|
118 | + // is this a top-level key? ignore it |
|
119 | + if ( |
|
120 | + ! is_array($value) |
|
121 | + && ! is_int($key) |
|
122 | + && $key !== '' |
|
123 | + && $key !== null |
|
124 | + ) { |
|
125 | + $all_ints = false; |
|
126 | + } |
|
127 | + } |
|
128 | + ); |
|
129 | + if ($all_ints) { |
|
130 | + $normalization = new EE_Int_Normalization(); |
|
131 | + } else { |
|
132 | + $normalization = new EE_Text_Normalization(); |
|
133 | + } |
|
134 | + } |
|
135 | + // does input type have multiple options ? |
|
136 | + if ($this->_multiple_selections) { |
|
137 | + $this->_set_normalization_strategy(new EE_Many_Valued_Normalization($normalization)); |
|
138 | + } else { |
|
139 | + $this->_set_normalization_strategy($normalization); |
|
140 | + } |
|
141 | + } |
|
142 | + |
|
143 | + |
|
144 | + |
|
145 | + /** |
|
146 | + * @return array |
|
147 | + */ |
|
148 | + public function options() |
|
149 | + { |
|
150 | + return $this->_options; |
|
151 | + } |
|
152 | + |
|
153 | + |
|
154 | + |
|
155 | + /** |
|
156 | + * Returns an array which is guaranteed to not be multidimensional |
|
157 | + * |
|
158 | + * @return array |
|
159 | + */ |
|
160 | + public function flat_options() |
|
161 | + { |
|
162 | + return $this->_flatten_select_options($this->options()); |
|
163 | + } |
|
164 | + |
|
165 | + |
|
166 | + |
|
167 | + /** |
|
168 | + * Makes sure $arr is a flat array, not a multidimensional one |
|
169 | + * |
|
170 | + * @param array $arr |
|
171 | + * @return array |
|
172 | + */ |
|
173 | + protected function _flatten_select_options($arr) |
|
174 | + { |
|
175 | + $flat_array = array(); |
|
176 | + if (EEH_Array::is_multi_dimensional_array($arr)) { |
|
177 | + foreach ($arr as $sub_array) { |
|
178 | + foreach ((array) $sub_array as $key => $value) { |
|
179 | + $flat_array[ $key ] = $value; |
|
180 | + $this->_set_label_size($value); |
|
181 | + } |
|
182 | + } |
|
183 | + } else { |
|
184 | + foreach ($arr as $key => $value) { |
|
185 | + $flat_array[ $key ] = $value; |
|
186 | + $this->_set_label_size($value); |
|
187 | + } |
|
188 | + } |
|
189 | + return $flat_array; |
|
190 | + } |
|
191 | + |
|
192 | + |
|
193 | + |
|
194 | + /** |
|
195 | + * @param EE_Question_Option[] $question_options_array |
|
196 | + * @return array |
|
197 | + */ |
|
198 | + protected function _process_question_options($question_options_array = array()) |
|
199 | + { |
|
200 | + $flat_array = array(); |
|
201 | + foreach ($question_options_array as $question_option) { |
|
202 | + if ($question_option instanceof EE_Question_Option) { |
|
203 | + $desc = ''; |
|
204 | + if ($this->_use_desc_in_label) { |
|
205 | + $desc = $question_option->desc(); |
|
206 | + $desc = ! empty($desc) ? '<span class="ee-question-option-desc">' . $desc . '</span>' : ''; |
|
207 | + } |
|
208 | + $value = $question_option->value(); |
|
209 | + // add value even if it's empty |
|
210 | + $flat_array[ $value ] = $value; |
|
211 | + // if both value and desc are not empty, then separate with a dash |
|
212 | + if (! empty($value) && ! empty($desc)) { |
|
213 | + $flat_array[ $value ] .= ' - ' . $desc; |
|
214 | + } else { |
|
215 | + // otherwise, just add desc, since either or both of the vars is empty, and no dash is necessary |
|
216 | + $flat_array[ $value ] .= $desc; |
|
217 | + } |
|
218 | + } elseif (is_array($question_option)) { |
|
219 | + $flat_array += $this->_flatten_select_options($question_option); |
|
220 | + } |
|
221 | + } |
|
222 | + return $flat_array; |
|
223 | + } |
|
224 | + |
|
225 | + |
|
226 | + |
|
227 | + /** |
|
228 | + * set_label_sizes |
|
229 | + * |
|
230 | + * @return void |
|
231 | + */ |
|
232 | + public function set_label_sizes() |
|
233 | + { |
|
234 | + // did the input settings specifically say to NOT set the label size dynamically ? |
|
235 | + if (! $this->_enforce_label_size) { |
|
236 | + foreach ($this->_options as $option) { |
|
237 | + // calculate the strlen of the label |
|
238 | + $this->_set_label_size($option); |
|
239 | + } |
|
240 | + } |
|
241 | + } |
|
242 | + |
|
243 | + |
|
244 | + |
|
245 | + /** |
|
246 | + * _set_label_size_class |
|
247 | + * |
|
248 | + * @param int|string $value |
|
249 | + * @return void |
|
250 | + */ |
|
251 | + private function _set_label_size($value = '') |
|
252 | + { |
|
253 | + // don't change label size if it has already been set and is being enforced |
|
254 | + if ($this->_enforce_label_size && $this->_label_size > 0) { |
|
255 | + return; |
|
256 | + } |
|
257 | + // determine length of option value |
|
258 | + $val_size = is_int($value) ? $value : strlen($value); |
|
259 | + // use new value if bigger than existing |
|
260 | + $this->_label_size = $val_size > $this->_label_size ? $val_size : $this->_label_size; |
|
261 | + } |
|
262 | + |
|
263 | + |
|
264 | + |
|
265 | + /** |
|
266 | + * get_label_size_class |
|
267 | + * |
|
268 | + * @return string |
|
269 | + */ |
|
270 | + public function get_label_size_class() |
|
271 | + { |
|
272 | + $size = ' medium-lbl'; |
|
273 | + // use maximum option value length to determine label size |
|
274 | + if ($this->_label_size < 3) { |
|
275 | + $size = ' nano-lbl'; |
|
276 | + } elseif ($this->_label_size < 6) { |
|
277 | + $size = ' micro-lbl'; |
|
278 | + } elseif ($this->_label_size < 12) { |
|
279 | + $size = ' tiny-lbl'; |
|
280 | + } elseif ($this->_label_size < 25) { |
|
281 | + $size = ' small-lbl'; |
|
282 | + } elseif ($this->_label_size < 50) { |
|
283 | + $size = ' medium-lbl'; |
|
284 | + } elseif ($this->_label_size >= 100) { |
|
285 | + $size = ' big-lbl'; |
|
286 | + } |
|
287 | + return $size; |
|
288 | + } |
|
289 | + |
|
290 | + |
|
291 | + |
|
292 | + /** |
|
293 | + * Returns the pretty value for the normalized value |
|
294 | + * |
|
295 | + * @return string |
|
296 | + */ |
|
297 | + public function pretty_value() |
|
298 | + { |
|
299 | + $options = $this->flat_options(); |
|
300 | + $unnormalized_value_choices = $this->get_normalization_strategy()->unnormalize($this->_normalized_value); |
|
301 | + if (! $this->_multiple_selections) { |
|
302 | + $unnormalized_value_choices = array($unnormalized_value_choices); |
|
303 | + } |
|
304 | + $pretty_strings = array(); |
|
305 | + foreach ((array) $unnormalized_value_choices as $unnormalized_value_choice) { |
|
306 | + if (isset($options[ $unnormalized_value_choice ])) { |
|
307 | + $pretty_strings[] = $options[ $unnormalized_value_choice ]; |
|
308 | + } else { |
|
309 | + $pretty_strings[] = $this->normalized_value(); |
|
310 | + } |
|
311 | + } |
|
312 | + return implode(', ', $pretty_strings); |
|
313 | + } |
|
314 | + |
|
315 | + |
|
316 | + |
|
317 | + /** |
|
318 | + * @return boolean |
|
319 | + */ |
|
320 | + public function display_html_label_text() |
|
321 | + { |
|
322 | + return $this->_display_html_label_text; |
|
323 | + } |
|
324 | + |
|
325 | + |
|
326 | + |
|
327 | + /** |
|
328 | + * @param boolean $display_html_label_text |
|
329 | + */ |
|
330 | + public function set_display_html_label_text($display_html_label_text) |
|
331 | + { |
|
332 | + $this->_display_html_label_text = filter_var($display_html_label_text, FILTER_VALIDATE_BOOLEAN); |
|
333 | + } |
|
334 | 334 | } |
@@ -11,18 +11,18 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_CCV_Sensitive_Data_Removal extends EE_Sensitive_Data_Removal_Base |
13 | 13 | { |
14 | - public function remove_sensitive_data($normalized_value) |
|
15 | - { |
|
16 | - // Get the ccv Length |
|
17 | - $ccv_lenght = strlen($normalized_value); |
|
18 | - // Replace all characters of credit card except the last four and dashes |
|
19 | - for ($i = 0; $i < $ccv_lenght; $i++) { |
|
20 | - if ($normalized_value[ $i ] == '-') { |
|
21 | - continue; |
|
22 | - } |
|
23 | - $normalized_value[ $i ] = 'X'; |
|
24 | - } |
|
25 | - // Return the masked Credit Card # |
|
26 | - return $normalized_value; |
|
27 | - } |
|
14 | + public function remove_sensitive_data($normalized_value) |
|
15 | + { |
|
16 | + // Get the ccv Length |
|
17 | + $ccv_lenght = strlen($normalized_value); |
|
18 | + // Replace all characters of credit card except the last four and dashes |
|
19 | + for ($i = 0; $i < $ccv_lenght; $i++) { |
|
20 | + if ($normalized_value[ $i ] == '-') { |
|
21 | + continue; |
|
22 | + } |
|
23 | + $normalized_value[ $i ] = 'X'; |
|
24 | + } |
|
25 | + // Return the masked Credit Card # |
|
26 | + return $normalized_value; |
|
27 | + } |
|
28 | 28 | } |
@@ -17,10 +17,10 @@ |
||
17 | 17 | $ccv_lenght = strlen($normalized_value); |
18 | 18 | // Replace all characters of credit card except the last four and dashes |
19 | 19 | for ($i = 0; $i < $ccv_lenght; $i++) { |
20 | - if ($normalized_value[ $i ] == '-') { |
|
20 | + if ($normalized_value[$i] == '-') { |
|
21 | 21 | continue; |
22 | 22 | } |
23 | - $normalized_value[ $i ] = 'X'; |
|
23 | + $normalized_value[$i] = 'X'; |
|
24 | 24 | } |
25 | 25 | // Return the masked Credit Card # |
26 | 26 | return $normalized_value; |
@@ -11,18 +11,18 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_Credit_Card_Sensitive_Data_Removal extends EE_Sensitive_Data_Removal_Base |
13 | 13 | { |
14 | - public function remove_sensitive_data($normalized_value) |
|
15 | - { |
|
16 | - // Get the cc Length |
|
17 | - $cc_length = strlen($normalized_value); |
|
18 | - // Replace all characters of credit card except the last four and dashes |
|
19 | - for ($i = 0; $i < $cc_length - 4; $i++) { |
|
20 | - if ($normalized_value[ $i ] == '-') { |
|
21 | - continue; |
|
22 | - } |
|
23 | - $normalized_value[ $i ] = 'X'; |
|
24 | - } |
|
25 | - // Return the masked Credit Card # |
|
26 | - return $normalized_value; |
|
27 | - } |
|
14 | + public function remove_sensitive_data($normalized_value) |
|
15 | + { |
|
16 | + // Get the cc Length |
|
17 | + $cc_length = strlen($normalized_value); |
|
18 | + // Replace all characters of credit card except the last four and dashes |
|
19 | + for ($i = 0; $i < $cc_length - 4; $i++) { |
|
20 | + if ($normalized_value[ $i ] == '-') { |
|
21 | + continue; |
|
22 | + } |
|
23 | + $normalized_value[ $i ] = 'X'; |
|
24 | + } |
|
25 | + // Return the masked Credit Card # |
|
26 | + return $normalized_value; |
|
27 | + } |
|
28 | 28 | } |
@@ -17,10 +17,10 @@ |
||
17 | 17 | $cc_length = strlen($normalized_value); |
18 | 18 | // Replace all characters of credit card except the last four and dashes |
19 | 19 | for ($i = 0; $i < $cc_length - 4; $i++) { |
20 | - if ($normalized_value[ $i ] == '-') { |
|
20 | + if ($normalized_value[$i] == '-') { |
|
21 | 21 | continue; |
22 | 22 | } |
23 | - $normalized_value[ $i ] = 'X'; |
|
23 | + $normalized_value[$i] = 'X'; |
|
24 | 24 | } |
25 | 25 | // Return the masked Credit Card # |
26 | 26 | return $normalized_value; |
@@ -44,7 +44,7 @@ |
||
44 | 44 | public function get_jquery_validation_rule_array() |
45 | 45 | { |
46 | 46 | if ($this->_max_length !== EE_INF) { |
47 | - return array( 'maxlength' => $this->_max_length, 'messages' => array( 'maxlength' => $this->get_validation_error_message() ) ); |
|
47 | + return array('maxlength' => $this->_max_length, 'messages' => array('maxlength' => $this->get_validation_error_message())); |
|
48 | 48 | } else { |
49 | 49 | return array(); |
50 | 50 | } |
@@ -11,41 +11,41 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_Max_Length_Validation_Strategy extends EE_Validation_Strategy_Base |
13 | 13 | { |
14 | - protected $_max_length; |
|
14 | + protected $_max_length; |
|
15 | 15 | |
16 | - public function __construct($validation_error_message = null, $max_length = EE_INF) |
|
17 | - { |
|
18 | - $this->_max_length = $max_length; |
|
19 | - if ($validation_error_message === null) { |
|
20 | - $validation_error_message = sprintf(esc_html__('Input is too long. Maximum number of characters is %1$s', 'event_espresso'), $max_length); |
|
21 | - } |
|
22 | - parent::__construct($validation_error_message); |
|
23 | - } |
|
16 | + public function __construct($validation_error_message = null, $max_length = EE_INF) |
|
17 | + { |
|
18 | + $this->_max_length = $max_length; |
|
19 | + if ($validation_error_message === null) { |
|
20 | + $validation_error_message = sprintf(esc_html__('Input is too long. Maximum number of characters is %1$s', 'event_espresso'), $max_length); |
|
21 | + } |
|
22 | + parent::__construct($validation_error_message); |
|
23 | + } |
|
24 | 24 | |
25 | - /** |
|
26 | - * @param $normalized_value |
|
27 | - */ |
|
28 | - public function validate($normalized_value) |
|
29 | - { |
|
30 | - if ( |
|
31 | - $this->_max_length !== EE_INF && |
|
32 | - $normalized_value && |
|
33 | - is_string($normalized_value) && |
|
34 | - strlen($normalized_value) > $this->_max_length |
|
35 | - ) { |
|
36 | - throw new EE_Validation_Error($this->get_validation_error_message(), 'maxlength'); |
|
37 | - } |
|
38 | - } |
|
25 | + /** |
|
26 | + * @param $normalized_value |
|
27 | + */ |
|
28 | + public function validate($normalized_value) |
|
29 | + { |
|
30 | + if ( |
|
31 | + $this->_max_length !== EE_INF && |
|
32 | + $normalized_value && |
|
33 | + is_string($normalized_value) && |
|
34 | + strlen($normalized_value) > $this->_max_length |
|
35 | + ) { |
|
36 | + throw new EE_Validation_Error($this->get_validation_error_message(), 'maxlength'); |
|
37 | + } |
|
38 | + } |
|
39 | 39 | |
40 | - /** |
|
41 | - * @return array |
|
42 | - */ |
|
43 | - public function get_jquery_validation_rule_array() |
|
44 | - { |
|
45 | - if ($this->_max_length !== EE_INF) { |
|
46 | - return array( 'maxlength' => $this->_max_length, 'messages' => array( 'maxlength' => $this->get_validation_error_message() ) ); |
|
47 | - } else { |
|
48 | - return array(); |
|
49 | - } |
|
50 | - } |
|
40 | + /** |
|
41 | + * @return array |
|
42 | + */ |
|
43 | + public function get_jquery_validation_rule_array() |
|
44 | + { |
|
45 | + if ($this->_max_length !== EE_INF) { |
|
46 | + return array( 'maxlength' => $this->_max_length, 'messages' => array( 'maxlength' => $this->get_validation_error_message() ) ); |
|
47 | + } else { |
|
48 | + return array(); |
|
49 | + } |
|
50 | + } |
|
51 | 51 | } |
@@ -40,6 +40,6 @@ |
||
40 | 40 | */ |
41 | 41 | public function get_jquery_validation_rule_array() |
42 | 42 | { |
43 | - return array( 'minlength' => $this->_min_length, 'messages' => array( 'minlength' => $this->get_validation_error_message() ) ); |
|
43 | + return array('minlength' => $this->_min_length, 'messages' => array('minlength' => $this->get_validation_error_message())); |
|
44 | 44 | } |
45 | 45 | } |
@@ -11,34 +11,34 @@ |
||
11 | 11 | */ |
12 | 12 | class EE_Min_Length_Validation_Strategy extends EE_Validation_Strategy_Base |
13 | 13 | { |
14 | - protected $_min_length; |
|
14 | + protected $_min_length; |
|
15 | 15 | |
16 | - public function __construct($validation_error_message = null, $min_length = 0) |
|
17 | - { |
|
18 | - $this->_min_length = $min_length; |
|
19 | - parent::__construct($validation_error_message); |
|
20 | - } |
|
16 | + public function __construct($validation_error_message = null, $min_length = 0) |
|
17 | + { |
|
18 | + $this->_min_length = $min_length; |
|
19 | + parent::__construct($validation_error_message); |
|
20 | + } |
|
21 | 21 | |
22 | - /** |
|
23 | - * @param $normalized_value |
|
24 | - */ |
|
25 | - public function validate($normalized_value) |
|
26 | - { |
|
27 | - if ( |
|
28 | - $this->_min_length > 0 && |
|
29 | - $normalized_value && |
|
30 | - is_string($normalized_value) && |
|
31 | - strlen($normalized_value) < $this->_min_length |
|
32 | - ) { |
|
33 | - throw new EE_Validation_Error($this->get_validation_error_message(), 'minlength'); |
|
34 | - } |
|
35 | - } |
|
22 | + /** |
|
23 | + * @param $normalized_value |
|
24 | + */ |
|
25 | + public function validate($normalized_value) |
|
26 | + { |
|
27 | + if ( |
|
28 | + $this->_min_length > 0 && |
|
29 | + $normalized_value && |
|
30 | + is_string($normalized_value) && |
|
31 | + strlen($normalized_value) < $this->_min_length |
|
32 | + ) { |
|
33 | + throw new EE_Validation_Error($this->get_validation_error_message(), 'minlength'); |
|
34 | + } |
|
35 | + } |
|
36 | 36 | |
37 | - /** |
|
38 | - * @return array |
|
39 | - */ |
|
40 | - public function get_jquery_validation_rule_array() |
|
41 | - { |
|
42 | - return array( 'minlength' => $this->_min_length, 'messages' => array( 'minlength' => $this->get_validation_error_message() ) ); |
|
43 | - } |
|
37 | + /** |
|
38 | + * @return array |
|
39 | + */ |
|
40 | + public function get_jquery_validation_rule_array() |
|
41 | + { |
|
42 | + return array( 'minlength' => $this->_min_length, 'messages' => array( 'minlength' => $this->get_validation_error_message() ) ); |
|
43 | + } |
|
44 | 44 | } |