@@ -1,5 +1,4 @@ |
||
1 | 1 | <?php |
2 | -use EventEspresso\core\services\loaders\Loader; |
|
3 | 2 | use EventEspresso\core\services\orm\ModelFieldFactory; |
4 | 3 | |
5 | 4 | /** |
@@ -284,8 +284,8 @@ discard block |
||
284 | 284 | */ |
285 | 285 | public function get_attendee_field_for_system_question($system_question_string) |
286 | 286 | { |
287 | - return isset($this->_system_question_to_attendee_field_name[ $system_question_string ]) |
|
288 | - ? $this->_system_question_to_attendee_field_name[ $system_question_string ] |
|
287 | + return isset($this->_system_question_to_attendee_field_name[$system_question_string]) |
|
288 | + ? $this->_system_question_to_attendee_field_name[$system_question_string] |
|
289 | 289 | : null; |
290 | 290 | } |
291 | 291 | |
@@ -353,7 +353,7 @@ discard block |
||
353 | 353 | return false; |
354 | 354 | } |
355 | 355 | $attendee = $this->get_all(array($where_cols_n_values)); |
356 | - if (! empty($attendee)) { |
|
356 | + if ( ! empty($attendee)) { |
|
357 | 357 | return array_shift($attendee); |
358 | 358 | } |
359 | 359 | return false; |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | /** |
131 | 131 | * EEM_Attendee constructor. |
132 | 132 | * |
133 | - * @param null $timezone |
|
133 | + * @param string|null $timezone |
|
134 | 134 | * @param ModelFieldFactory $model_field_factory |
135 | 135 | * @throws EE_Error |
136 | 136 | * @throws InvalidArgumentException |
@@ -351,7 +351,7 @@ discard block |
||
351 | 351 | * retrieve a single attendee from db via their ID |
352 | 352 | * |
353 | 353 | * @param $ATT_ID |
354 | - * @return mixed array on success, FALSE on fail |
|
354 | + * @return EE_Base_Class|null array on success, FALSE on fail |
|
355 | 355 | * @deprecated |
356 | 356 | */ |
357 | 357 | public function get_attendee_by_ID($ATT_ID = false) |
@@ -13,432 +13,432 @@ |
||
13 | 13 | class EEM_Attendee extends EEM_CPT_Base |
14 | 14 | { |
15 | 15 | |
16 | - // private instance of the Attendee object |
|
17 | - protected static $_instance = null; |
|
16 | + // private instance of the Attendee object |
|
17 | + protected static $_instance = null; |
|
18 | 18 | |
19 | - /** |
|
20 | - * QST_system for questions are strings not integers now, |
|
21 | - * so these constants are deprecated. |
|
22 | - * Please instead use the EEM_Attendee::system_question_* constants |
|
23 | - * |
|
24 | - * @deprecated |
|
25 | - */ |
|
26 | - const fname_question_id = 1; |
|
19 | + /** |
|
20 | + * QST_system for questions are strings not integers now, |
|
21 | + * so these constants are deprecated. |
|
22 | + * Please instead use the EEM_Attendee::system_question_* constants |
|
23 | + * |
|
24 | + * @deprecated |
|
25 | + */ |
|
26 | + const fname_question_id = 1; |
|
27 | 27 | |
28 | - /** |
|
29 | - * @deprecated |
|
30 | - */ |
|
31 | - const lname_question_id = 2; |
|
28 | + /** |
|
29 | + * @deprecated |
|
30 | + */ |
|
31 | + const lname_question_id = 2; |
|
32 | 32 | |
33 | 33 | |
34 | - /** |
|
35 | - * @deprecated |
|
36 | - */ |
|
37 | - const email_question_id = 3; |
|
34 | + /** |
|
35 | + * @deprecated |
|
36 | + */ |
|
37 | + const email_question_id = 3; |
|
38 | 38 | |
39 | 39 | |
40 | - /** |
|
41 | - * @deprecated |
|
42 | - */ |
|
43 | - const address_question_id = 4; |
|
40 | + /** |
|
41 | + * @deprecated |
|
42 | + */ |
|
43 | + const address_question_id = 4; |
|
44 | 44 | |
45 | 45 | |
46 | - /** |
|
47 | - * @deprecated |
|
48 | - */ |
|
49 | - const address2_question_id = 5; |
|
46 | + /** |
|
47 | + * @deprecated |
|
48 | + */ |
|
49 | + const address2_question_id = 5; |
|
50 | 50 | |
51 | - |
|
52 | - /** |
|
53 | - * @deprecated |
|
54 | - */ |
|
55 | - const city_question_id = 6; |
|
56 | - |
|
57 | - |
|
58 | - /** |
|
59 | - * @deprecated |
|
60 | - */ |
|
61 | - const state_question_id = 7; |
|
62 | - |
|
63 | - |
|
64 | - /** |
|
65 | - * @deprecated |
|
66 | - */ |
|
67 | - const country_question_id = 8; |
|
68 | - |
|
69 | - |
|
70 | - /** |
|
71 | - * @deprecated |
|
72 | - */ |
|
73 | - const zip_question_id = 9; |
|
74 | - |
|
75 | - |
|
76 | - /** |
|
77 | - * @deprecated |
|
78 | - */ |
|
79 | - const phone_question_id = 10; |
|
80 | - |
|
81 | - /** |
|
82 | - * When looking for questions that correspond to attendee fields, |
|
83 | - * look for the question with this QST_system value. |
|
84 | - * These replace the old constants like EEM_Attendee::*_question_id |
|
85 | - */ |
|
86 | - const system_question_fname = 'fname'; |
|
87 | - |
|
88 | - const system_question_lname = 'lname'; |
|
89 | - |
|
90 | - const system_question_email = 'email'; |
|
91 | - |
|
92 | - const system_question_email_confirm = 'email_confirm'; |
|
93 | - |
|
94 | - const system_question_address = 'address'; |
|
95 | - |
|
96 | - const system_question_address2 = 'address2'; |
|
97 | - |
|
98 | - const system_question_city = 'city'; |
|
99 | - |
|
100 | - const system_question_state = 'state'; |
|
101 | - |
|
102 | - const system_question_country = 'country'; |
|
103 | - |
|
104 | - const system_question_zip = 'zip'; |
|
105 | - |
|
106 | - const system_question_phone = 'phone'; |
|
107 | - |
|
108 | - /** |
|
109 | - * Keys are all the EEM_Attendee::system_question_* constants, which are |
|
110 | - * also all the values of QST_system in the questions table, and values |
|
111 | - * are their corresponding Attendee field names |
|
112 | - * |
|
113 | - * @var array |
|
114 | - */ |
|
115 | - protected $_system_question_to_attendee_field_name = array( |
|
116 | - EEM_Attendee::system_question_fname => 'ATT_fname', |
|
117 | - EEM_Attendee::system_question_lname => 'ATT_lname', |
|
118 | - EEM_Attendee::system_question_email => 'ATT_email', |
|
119 | - EEM_Attendee::system_question_address => 'ATT_address', |
|
120 | - EEM_Attendee::system_question_address2 => 'ATT_address2', |
|
121 | - EEM_Attendee::system_question_city => 'ATT_city', |
|
122 | - EEM_Attendee::system_question_state => 'STA_ID', |
|
123 | - EEM_Attendee::system_question_country => 'CNT_ISO', |
|
124 | - EEM_Attendee::system_question_zip => 'ATT_zip', |
|
125 | - EEM_Attendee::system_question_phone => 'ATT_phone', |
|
126 | - ); |
|
127 | - |
|
128 | - |
|
129 | - |
|
130 | - /** |
|
131 | - * EEM_Attendee constructor. |
|
132 | - * |
|
133 | - * @param null $timezone |
|
134 | - * @param ModelFieldFactory $model_field_factory |
|
135 | - * @throws EE_Error |
|
136 | - * @throws InvalidArgumentException |
|
137 | - */ |
|
138 | - protected function __construct($timezone = '', ModelFieldFactory $model_field_factory) |
|
139 | - { |
|
140 | - $this->singular_item = esc_html__('Attendee', 'event_espresso'); |
|
141 | - $this->plural_item = esc_html__('Attendees', 'event_espresso'); |
|
142 | - $this->_tables = array( |
|
143 | - 'Attendee_CPT' => new EE_Primary_Table('posts', 'ID'), |
|
144 | - 'Attendee_Meta' => new EE_Secondary_Table( |
|
145 | - 'esp_attendee_meta', |
|
146 | - 'ATTM_ID', |
|
147 | - 'ATT_ID' |
|
148 | - ), |
|
149 | - ); |
|
150 | - $this->_fields = array( |
|
151 | - 'Attendee_CPT' => array( |
|
152 | - 'ATT_ID' => $model_field_factory->createPrimaryKeyIntField( |
|
153 | - 'ID', |
|
154 | - esc_html__('Attendee ID', 'event_espresso') |
|
155 | - ), |
|
156 | - 'ATT_full_name' => $model_field_factory->createPlainTextField( |
|
157 | - 'post_title', |
|
158 | - esc_html__('Attendee Full Name', 'event_espresso'), |
|
159 | - false, |
|
160 | - esc_html__('Unknown', 'event_espresso') |
|
161 | - ), |
|
162 | - 'ATT_bio' => $model_field_factory->createPostContentField( |
|
163 | - 'post_content', |
|
164 | - esc_html__('Attendee Biography', 'event_espresso'), |
|
165 | - false, |
|
166 | - esc_html__('No Biography Provided', 'event_espresso') |
|
167 | - ), |
|
168 | - 'ATT_slug' => $model_field_factory->createSlugField( |
|
169 | - 'post_name', |
|
170 | - esc_html__('Attendee URL Slug', 'event_espresso') |
|
171 | - ), |
|
172 | - 'ATT_created' => $model_field_factory->createDatetimeField( |
|
173 | - 'post_date', |
|
174 | - esc_html__('Time Attendee Created', 'event_espresso') |
|
175 | - ), |
|
176 | - 'ATT_short_bio' => $model_field_factory->createSimpleHtmlField( |
|
177 | - 'post_excerpt', |
|
178 | - esc_html__('Attendee Short Biography', 'event_espresso'), |
|
179 | - true, |
|
180 | - esc_html__('No Biography Provided', 'event_espresso') |
|
181 | - ), |
|
182 | - 'ATT_modified' => $model_field_factory->createDatetimeField( |
|
183 | - 'post_modified', |
|
184 | - esc_html__('Time Attendee Last Modified', 'event_espresso') |
|
185 | - ), |
|
186 | - 'ATT_author' => $model_field_factory->createWpUserField( |
|
187 | - 'post_author', |
|
188 | - esc_html__('Creator ID of the first Event attended', 'event_espresso'), |
|
189 | - false |
|
190 | - ), |
|
191 | - 'ATT_parent' => $model_field_factory->createDbOnlyIntField( |
|
192 | - 'post_parent', |
|
193 | - esc_html__('Parent Attendee (unused)', 'event_espresso'), |
|
194 | - false, |
|
195 | - 0 |
|
196 | - ), |
|
197 | - 'post_type' => $model_field_factory->createWpPostTypeField('espresso_attendees'), |
|
198 | - 'status' => $model_field_factory->createWpPostStatusField( |
|
199 | - 'post_status', |
|
200 | - esc_html__('Attendee Status', 'event_espresso'), |
|
201 | - false, |
|
202 | - 'publish' |
|
203 | - ), |
|
204 | - 'password' => new EE_Password_Field( |
|
205 | - 'post_password', |
|
206 | - __('Password', 'event_espresso'), |
|
207 | - false, |
|
208 | - '', |
|
209 | - array( |
|
210 | - 'ATT_bio', |
|
211 | - 'ATT_short_bio', |
|
212 | - 'ATT_address', |
|
213 | - 'ATT_address2', |
|
214 | - 'ATT_city', |
|
215 | - 'STA_ID', |
|
216 | - 'CNT_ISO', |
|
217 | - 'ATT_zip', |
|
218 | - 'ATT_email', |
|
219 | - 'ATT_phone' |
|
220 | - ) |
|
221 | - ) |
|
222 | - ), |
|
223 | - 'Attendee_Meta' => array( |
|
224 | - 'ATTM_ID' => $model_field_factory->createDbOnlyIntField( |
|
225 | - 'ATTM_ID', |
|
226 | - esc_html__('Attendee Meta Row ID', 'event_espresso'), |
|
227 | - false |
|
228 | - ), |
|
229 | - 'ATT_ID_fk' => $model_field_factory->createDbOnlyIntField( |
|
230 | - 'ATT_ID', |
|
231 | - esc_html__('Foreign Key to Attendee in Post Table', 'event_espresso'), |
|
232 | - false |
|
233 | - ), |
|
234 | - 'ATT_fname' => $model_field_factory->createPlainTextField( |
|
235 | - 'ATT_fname', |
|
236 | - esc_html__('First Name', 'event_espresso') |
|
237 | - ), |
|
238 | - 'ATT_lname' => $model_field_factory->createPlainTextField( |
|
239 | - 'ATT_lname', |
|
240 | - esc_html__('Last Name', 'event_espresso') |
|
241 | - ), |
|
242 | - 'ATT_address' => $model_field_factory->createPlainTextField( |
|
243 | - 'ATT_address', |
|
244 | - esc_html__('Address Part 1', 'event_espresso') |
|
245 | - ), |
|
246 | - 'ATT_address2' => $model_field_factory->createPlainTextField( |
|
247 | - 'ATT_address2', |
|
248 | - esc_html__('Address Part 2', 'event_espresso') |
|
249 | - ), |
|
250 | - 'ATT_city' => $model_field_factory->createPlainTextField( |
|
251 | - 'ATT_city', |
|
252 | - esc_html__('City', 'event_espresso') |
|
253 | - ), |
|
254 | - 'STA_ID' => $model_field_factory->createForeignKeyIntField( |
|
255 | - 'STA_ID', |
|
256 | - esc_html__('State', 'event_espresso'), |
|
257 | - true, |
|
258 | - 0, |
|
259 | - 'State' |
|
260 | - ), |
|
261 | - 'CNT_ISO' => $model_field_factory->createForeignKeyStringField( |
|
262 | - 'CNT_ISO', |
|
263 | - esc_html__('Country', 'event_espresso'), |
|
264 | - true, |
|
265 | - '', |
|
266 | - 'Country' |
|
267 | - ), |
|
268 | - 'ATT_zip' => $model_field_factory->createPlainTextField( |
|
269 | - 'ATT_zip', |
|
270 | - esc_html__('ZIP/Postal Code', 'event_espresso') |
|
271 | - ), |
|
272 | - 'ATT_email' => $model_field_factory->createEmailField( |
|
273 | - 'ATT_email', |
|
274 | - esc_html__('Email Address', 'event_espresso') |
|
275 | - ), |
|
276 | - 'ATT_phone' => $model_field_factory->createPlainTextField( |
|
277 | - 'ATT_phone', |
|
278 | - esc_html__('Phone', 'event_espresso') |
|
279 | - ), |
|
280 | - ), |
|
281 | - ); |
|
282 | - $this->_model_relations = array( |
|
283 | - 'Registration' => new EE_Has_Many_Relation(), |
|
284 | - 'State' => new EE_Belongs_To_Relation(), |
|
285 | - 'Country' => new EE_Belongs_To_Relation(), |
|
286 | - 'Event' => new EE_HABTM_Relation('Registration', false), |
|
287 | - 'WP_User' => new EE_Belongs_To_Relation(), |
|
288 | - 'Message' => new EE_Has_Many_Any_Relation(false), |
|
289 | - // allow deletion of attendees even if they have messages in the queue for them. |
|
290 | - 'Term_Relationship' => new EE_Has_Many_Relation(), |
|
291 | - 'Term_Taxonomy' => new EE_HABTM_Relation('Term_Relationship'), |
|
292 | - ); |
|
293 | - $this->_caps_slug = 'contacts'; |
|
294 | - $this->model_chain_to_password = ''; |
|
295 | - parent::__construct($timezone); |
|
296 | - } |
|
297 | - |
|
298 | - |
|
299 | - |
|
300 | - /** |
|
301 | - * Gets the name of the field on the attendee model corresponding to the system question string |
|
302 | - * which should be one of the keys from EEM_Attendee::_system_question_to_attendee_field_name |
|
303 | - * |
|
304 | - * @param string $system_question_string |
|
305 | - * @return string|null if not found |
|
306 | - */ |
|
307 | - public function get_attendee_field_for_system_question($system_question_string) |
|
308 | - { |
|
309 | - return isset($this->_system_question_to_attendee_field_name[ $system_question_string ]) |
|
310 | - ? $this->_system_question_to_attendee_field_name[ $system_question_string ] |
|
311 | - : null; |
|
312 | - } |
|
313 | - |
|
314 | - |
|
315 | - |
|
316 | - /** |
|
317 | - * Gets mapping from esp_question.QST_system values to their corresponding attendee field names |
|
318 | - * |
|
319 | - * @return array |
|
320 | - */ |
|
321 | - public function system_question_to_attendee_field_mapping() |
|
322 | - { |
|
323 | - return $this->_system_question_to_attendee_field_name; |
|
324 | - } |
|
325 | - |
|
326 | - |
|
327 | - |
|
328 | - /** |
|
329 | - * Gets all the attendees for a transaction (by using the esp_registration as a join table) |
|
330 | - * |
|
331 | - * @param EE_Transaction /int $transaction_id_or_obj EE_Transaction or its ID |
|
332 | - * @return EE_Attendee[]|EE_Base_Class[] |
|
333 | - * @throws EE_Error |
|
334 | - */ |
|
335 | - public function get_attendees_for_transaction($transaction_id_or_obj) |
|
336 | - { |
|
337 | - return $this->get_all( |
|
338 | - array( |
|
339 | - array( |
|
340 | - 'Registration.Transaction.TXN_ID' => $transaction_id_or_obj instanceof EE_Transaction |
|
341 | - ? $transaction_id_or_obj->ID() |
|
342 | - : $transaction_id_or_obj, |
|
343 | - ), |
|
344 | - ) |
|
345 | - ); |
|
346 | - } |
|
347 | - |
|
348 | - |
|
349 | - |
|
350 | - /** |
|
351 | - * retrieve a single attendee from db via their ID |
|
352 | - * |
|
353 | - * @param $ATT_ID |
|
354 | - * @return mixed array on success, FALSE on fail |
|
355 | - * @deprecated |
|
356 | - */ |
|
357 | - public function get_attendee_by_ID($ATT_ID = false) |
|
358 | - { |
|
359 | - // retrieve a particular EE_Attendee |
|
360 | - return $this->get_one_by_ID($ATT_ID); |
|
361 | - } |
|
362 | - |
|
363 | - |
|
364 | - |
|
365 | - /** |
|
366 | - * retrieve a single attendee from db via their ID |
|
367 | - * |
|
368 | - * @param array $where_cols_n_values |
|
369 | - * @return mixed array on success, FALSE on fail |
|
370 | - * @throws EE_Error |
|
371 | - */ |
|
372 | - public function get_attendee($where_cols_n_values = array()) |
|
373 | - { |
|
374 | - if (empty($where_cols_n_values)) { |
|
375 | - return false; |
|
376 | - } |
|
377 | - $attendee = $this->get_all(array($where_cols_n_values)); |
|
378 | - if (! empty($attendee)) { |
|
379 | - return array_shift($attendee); |
|
380 | - } |
|
381 | - return false; |
|
382 | - } |
|
383 | - |
|
384 | - |
|
385 | - |
|
386 | - /** |
|
387 | - * Search for an existing Attendee record in the DB |
|
388 | - * |
|
389 | - * @param array $where_cols_n_values |
|
390 | - * @return bool|mixed |
|
391 | - * @throws EE_Error |
|
392 | - */ |
|
393 | - public function find_existing_attendee($where_cols_n_values = null) |
|
394 | - { |
|
395 | - // search by combo of first and last names plus the email address |
|
396 | - $attendee_data_keys = array( |
|
397 | - 'ATT_fname' => $this->_ATT_fname, |
|
398 | - 'ATT_lname' => $this->_ATT_lname, |
|
399 | - 'ATT_email' => $this->_ATT_email, |
|
400 | - ); |
|
401 | - // no search params means attendee object already exists. |
|
402 | - $where_cols_n_values = is_array($where_cols_n_values) && ! empty($where_cols_n_values) |
|
403 | - ? $where_cols_n_values |
|
404 | - : $attendee_data_keys; |
|
405 | - $valid_data = true; |
|
406 | - // check for required values |
|
407 | - $valid_data = isset($where_cols_n_values['ATT_fname']) && ! empty($where_cols_n_values['ATT_fname']) |
|
408 | - ? $valid_data |
|
409 | - : false; |
|
410 | - $valid_data = isset($where_cols_n_values['ATT_lname']) && ! empty($where_cols_n_values['ATT_lname']) |
|
411 | - ? $valid_data |
|
412 | - : false; |
|
413 | - $valid_data = isset($where_cols_n_values['ATT_email']) && ! empty($where_cols_n_values['ATT_email']) |
|
414 | - ? $valid_data |
|
415 | - : false; |
|
416 | - if ($valid_data) { |
|
417 | - $attendee = $this->get_attendee($where_cols_n_values); |
|
418 | - if ($attendee instanceof EE_Attendee) { |
|
419 | - return $attendee; |
|
420 | - } |
|
421 | - } |
|
422 | - return false; |
|
423 | - } |
|
424 | - |
|
425 | - |
|
426 | - |
|
427 | - /** |
|
428 | - * Takes an incoming array of EE_Registration ids |
|
429 | - * and sends back a list of corresponding non duplicate EE_Attendee objects. |
|
430 | - * |
|
431 | - * @since 4.3.0 |
|
432 | - * @param array $ids array of EE_Registration ids |
|
433 | - * @return EE_Attendee[]|EE_Base_Class[] |
|
434 | - * @throws EE_Error |
|
435 | - */ |
|
436 | - public function get_array_of_contacts_from_reg_ids($ids) |
|
437 | - { |
|
438 | - $ids = (array) $ids; |
|
439 | - $_where = array( |
|
440 | - 'Registration.REG_ID' => array('in', $ids), |
|
441 | - ); |
|
442 | - return $this->get_all(array($_where)); |
|
443 | - } |
|
51 | + |
|
52 | + /** |
|
53 | + * @deprecated |
|
54 | + */ |
|
55 | + const city_question_id = 6; |
|
56 | + |
|
57 | + |
|
58 | + /** |
|
59 | + * @deprecated |
|
60 | + */ |
|
61 | + const state_question_id = 7; |
|
62 | + |
|
63 | + |
|
64 | + /** |
|
65 | + * @deprecated |
|
66 | + */ |
|
67 | + const country_question_id = 8; |
|
68 | + |
|
69 | + |
|
70 | + /** |
|
71 | + * @deprecated |
|
72 | + */ |
|
73 | + const zip_question_id = 9; |
|
74 | + |
|
75 | + |
|
76 | + /** |
|
77 | + * @deprecated |
|
78 | + */ |
|
79 | + const phone_question_id = 10; |
|
80 | + |
|
81 | + /** |
|
82 | + * When looking for questions that correspond to attendee fields, |
|
83 | + * look for the question with this QST_system value. |
|
84 | + * These replace the old constants like EEM_Attendee::*_question_id |
|
85 | + */ |
|
86 | + const system_question_fname = 'fname'; |
|
87 | + |
|
88 | + const system_question_lname = 'lname'; |
|
89 | + |
|
90 | + const system_question_email = 'email'; |
|
91 | + |
|
92 | + const system_question_email_confirm = 'email_confirm'; |
|
93 | + |
|
94 | + const system_question_address = 'address'; |
|
95 | + |
|
96 | + const system_question_address2 = 'address2'; |
|
97 | + |
|
98 | + const system_question_city = 'city'; |
|
99 | + |
|
100 | + const system_question_state = 'state'; |
|
101 | + |
|
102 | + const system_question_country = 'country'; |
|
103 | + |
|
104 | + const system_question_zip = 'zip'; |
|
105 | + |
|
106 | + const system_question_phone = 'phone'; |
|
107 | + |
|
108 | + /** |
|
109 | + * Keys are all the EEM_Attendee::system_question_* constants, which are |
|
110 | + * also all the values of QST_system in the questions table, and values |
|
111 | + * are their corresponding Attendee field names |
|
112 | + * |
|
113 | + * @var array |
|
114 | + */ |
|
115 | + protected $_system_question_to_attendee_field_name = array( |
|
116 | + EEM_Attendee::system_question_fname => 'ATT_fname', |
|
117 | + EEM_Attendee::system_question_lname => 'ATT_lname', |
|
118 | + EEM_Attendee::system_question_email => 'ATT_email', |
|
119 | + EEM_Attendee::system_question_address => 'ATT_address', |
|
120 | + EEM_Attendee::system_question_address2 => 'ATT_address2', |
|
121 | + EEM_Attendee::system_question_city => 'ATT_city', |
|
122 | + EEM_Attendee::system_question_state => 'STA_ID', |
|
123 | + EEM_Attendee::system_question_country => 'CNT_ISO', |
|
124 | + EEM_Attendee::system_question_zip => 'ATT_zip', |
|
125 | + EEM_Attendee::system_question_phone => 'ATT_phone', |
|
126 | + ); |
|
127 | + |
|
128 | + |
|
129 | + |
|
130 | + /** |
|
131 | + * EEM_Attendee constructor. |
|
132 | + * |
|
133 | + * @param null $timezone |
|
134 | + * @param ModelFieldFactory $model_field_factory |
|
135 | + * @throws EE_Error |
|
136 | + * @throws InvalidArgumentException |
|
137 | + */ |
|
138 | + protected function __construct($timezone = '', ModelFieldFactory $model_field_factory) |
|
139 | + { |
|
140 | + $this->singular_item = esc_html__('Attendee', 'event_espresso'); |
|
141 | + $this->plural_item = esc_html__('Attendees', 'event_espresso'); |
|
142 | + $this->_tables = array( |
|
143 | + 'Attendee_CPT' => new EE_Primary_Table('posts', 'ID'), |
|
144 | + 'Attendee_Meta' => new EE_Secondary_Table( |
|
145 | + 'esp_attendee_meta', |
|
146 | + 'ATTM_ID', |
|
147 | + 'ATT_ID' |
|
148 | + ), |
|
149 | + ); |
|
150 | + $this->_fields = array( |
|
151 | + 'Attendee_CPT' => array( |
|
152 | + 'ATT_ID' => $model_field_factory->createPrimaryKeyIntField( |
|
153 | + 'ID', |
|
154 | + esc_html__('Attendee ID', 'event_espresso') |
|
155 | + ), |
|
156 | + 'ATT_full_name' => $model_field_factory->createPlainTextField( |
|
157 | + 'post_title', |
|
158 | + esc_html__('Attendee Full Name', 'event_espresso'), |
|
159 | + false, |
|
160 | + esc_html__('Unknown', 'event_espresso') |
|
161 | + ), |
|
162 | + 'ATT_bio' => $model_field_factory->createPostContentField( |
|
163 | + 'post_content', |
|
164 | + esc_html__('Attendee Biography', 'event_espresso'), |
|
165 | + false, |
|
166 | + esc_html__('No Biography Provided', 'event_espresso') |
|
167 | + ), |
|
168 | + 'ATT_slug' => $model_field_factory->createSlugField( |
|
169 | + 'post_name', |
|
170 | + esc_html__('Attendee URL Slug', 'event_espresso') |
|
171 | + ), |
|
172 | + 'ATT_created' => $model_field_factory->createDatetimeField( |
|
173 | + 'post_date', |
|
174 | + esc_html__('Time Attendee Created', 'event_espresso') |
|
175 | + ), |
|
176 | + 'ATT_short_bio' => $model_field_factory->createSimpleHtmlField( |
|
177 | + 'post_excerpt', |
|
178 | + esc_html__('Attendee Short Biography', 'event_espresso'), |
|
179 | + true, |
|
180 | + esc_html__('No Biography Provided', 'event_espresso') |
|
181 | + ), |
|
182 | + 'ATT_modified' => $model_field_factory->createDatetimeField( |
|
183 | + 'post_modified', |
|
184 | + esc_html__('Time Attendee Last Modified', 'event_espresso') |
|
185 | + ), |
|
186 | + 'ATT_author' => $model_field_factory->createWpUserField( |
|
187 | + 'post_author', |
|
188 | + esc_html__('Creator ID of the first Event attended', 'event_espresso'), |
|
189 | + false |
|
190 | + ), |
|
191 | + 'ATT_parent' => $model_field_factory->createDbOnlyIntField( |
|
192 | + 'post_parent', |
|
193 | + esc_html__('Parent Attendee (unused)', 'event_espresso'), |
|
194 | + false, |
|
195 | + 0 |
|
196 | + ), |
|
197 | + 'post_type' => $model_field_factory->createWpPostTypeField('espresso_attendees'), |
|
198 | + 'status' => $model_field_factory->createWpPostStatusField( |
|
199 | + 'post_status', |
|
200 | + esc_html__('Attendee Status', 'event_espresso'), |
|
201 | + false, |
|
202 | + 'publish' |
|
203 | + ), |
|
204 | + 'password' => new EE_Password_Field( |
|
205 | + 'post_password', |
|
206 | + __('Password', 'event_espresso'), |
|
207 | + false, |
|
208 | + '', |
|
209 | + array( |
|
210 | + 'ATT_bio', |
|
211 | + 'ATT_short_bio', |
|
212 | + 'ATT_address', |
|
213 | + 'ATT_address2', |
|
214 | + 'ATT_city', |
|
215 | + 'STA_ID', |
|
216 | + 'CNT_ISO', |
|
217 | + 'ATT_zip', |
|
218 | + 'ATT_email', |
|
219 | + 'ATT_phone' |
|
220 | + ) |
|
221 | + ) |
|
222 | + ), |
|
223 | + 'Attendee_Meta' => array( |
|
224 | + 'ATTM_ID' => $model_field_factory->createDbOnlyIntField( |
|
225 | + 'ATTM_ID', |
|
226 | + esc_html__('Attendee Meta Row ID', 'event_espresso'), |
|
227 | + false |
|
228 | + ), |
|
229 | + 'ATT_ID_fk' => $model_field_factory->createDbOnlyIntField( |
|
230 | + 'ATT_ID', |
|
231 | + esc_html__('Foreign Key to Attendee in Post Table', 'event_espresso'), |
|
232 | + false |
|
233 | + ), |
|
234 | + 'ATT_fname' => $model_field_factory->createPlainTextField( |
|
235 | + 'ATT_fname', |
|
236 | + esc_html__('First Name', 'event_espresso') |
|
237 | + ), |
|
238 | + 'ATT_lname' => $model_field_factory->createPlainTextField( |
|
239 | + 'ATT_lname', |
|
240 | + esc_html__('Last Name', 'event_espresso') |
|
241 | + ), |
|
242 | + 'ATT_address' => $model_field_factory->createPlainTextField( |
|
243 | + 'ATT_address', |
|
244 | + esc_html__('Address Part 1', 'event_espresso') |
|
245 | + ), |
|
246 | + 'ATT_address2' => $model_field_factory->createPlainTextField( |
|
247 | + 'ATT_address2', |
|
248 | + esc_html__('Address Part 2', 'event_espresso') |
|
249 | + ), |
|
250 | + 'ATT_city' => $model_field_factory->createPlainTextField( |
|
251 | + 'ATT_city', |
|
252 | + esc_html__('City', 'event_espresso') |
|
253 | + ), |
|
254 | + 'STA_ID' => $model_field_factory->createForeignKeyIntField( |
|
255 | + 'STA_ID', |
|
256 | + esc_html__('State', 'event_espresso'), |
|
257 | + true, |
|
258 | + 0, |
|
259 | + 'State' |
|
260 | + ), |
|
261 | + 'CNT_ISO' => $model_field_factory->createForeignKeyStringField( |
|
262 | + 'CNT_ISO', |
|
263 | + esc_html__('Country', 'event_espresso'), |
|
264 | + true, |
|
265 | + '', |
|
266 | + 'Country' |
|
267 | + ), |
|
268 | + 'ATT_zip' => $model_field_factory->createPlainTextField( |
|
269 | + 'ATT_zip', |
|
270 | + esc_html__('ZIP/Postal Code', 'event_espresso') |
|
271 | + ), |
|
272 | + 'ATT_email' => $model_field_factory->createEmailField( |
|
273 | + 'ATT_email', |
|
274 | + esc_html__('Email Address', 'event_espresso') |
|
275 | + ), |
|
276 | + 'ATT_phone' => $model_field_factory->createPlainTextField( |
|
277 | + 'ATT_phone', |
|
278 | + esc_html__('Phone', 'event_espresso') |
|
279 | + ), |
|
280 | + ), |
|
281 | + ); |
|
282 | + $this->_model_relations = array( |
|
283 | + 'Registration' => new EE_Has_Many_Relation(), |
|
284 | + 'State' => new EE_Belongs_To_Relation(), |
|
285 | + 'Country' => new EE_Belongs_To_Relation(), |
|
286 | + 'Event' => new EE_HABTM_Relation('Registration', false), |
|
287 | + 'WP_User' => new EE_Belongs_To_Relation(), |
|
288 | + 'Message' => new EE_Has_Many_Any_Relation(false), |
|
289 | + // allow deletion of attendees even if they have messages in the queue for them. |
|
290 | + 'Term_Relationship' => new EE_Has_Many_Relation(), |
|
291 | + 'Term_Taxonomy' => new EE_HABTM_Relation('Term_Relationship'), |
|
292 | + ); |
|
293 | + $this->_caps_slug = 'contacts'; |
|
294 | + $this->model_chain_to_password = ''; |
|
295 | + parent::__construct($timezone); |
|
296 | + } |
|
297 | + |
|
298 | + |
|
299 | + |
|
300 | + /** |
|
301 | + * Gets the name of the field on the attendee model corresponding to the system question string |
|
302 | + * which should be one of the keys from EEM_Attendee::_system_question_to_attendee_field_name |
|
303 | + * |
|
304 | + * @param string $system_question_string |
|
305 | + * @return string|null if not found |
|
306 | + */ |
|
307 | + public function get_attendee_field_for_system_question($system_question_string) |
|
308 | + { |
|
309 | + return isset($this->_system_question_to_attendee_field_name[ $system_question_string ]) |
|
310 | + ? $this->_system_question_to_attendee_field_name[ $system_question_string ] |
|
311 | + : null; |
|
312 | + } |
|
313 | + |
|
314 | + |
|
315 | + |
|
316 | + /** |
|
317 | + * Gets mapping from esp_question.QST_system values to their corresponding attendee field names |
|
318 | + * |
|
319 | + * @return array |
|
320 | + */ |
|
321 | + public function system_question_to_attendee_field_mapping() |
|
322 | + { |
|
323 | + return $this->_system_question_to_attendee_field_name; |
|
324 | + } |
|
325 | + |
|
326 | + |
|
327 | + |
|
328 | + /** |
|
329 | + * Gets all the attendees for a transaction (by using the esp_registration as a join table) |
|
330 | + * |
|
331 | + * @param EE_Transaction /int $transaction_id_or_obj EE_Transaction or its ID |
|
332 | + * @return EE_Attendee[]|EE_Base_Class[] |
|
333 | + * @throws EE_Error |
|
334 | + */ |
|
335 | + public function get_attendees_for_transaction($transaction_id_or_obj) |
|
336 | + { |
|
337 | + return $this->get_all( |
|
338 | + array( |
|
339 | + array( |
|
340 | + 'Registration.Transaction.TXN_ID' => $transaction_id_or_obj instanceof EE_Transaction |
|
341 | + ? $transaction_id_or_obj->ID() |
|
342 | + : $transaction_id_or_obj, |
|
343 | + ), |
|
344 | + ) |
|
345 | + ); |
|
346 | + } |
|
347 | + |
|
348 | + |
|
349 | + |
|
350 | + /** |
|
351 | + * retrieve a single attendee from db via their ID |
|
352 | + * |
|
353 | + * @param $ATT_ID |
|
354 | + * @return mixed array on success, FALSE on fail |
|
355 | + * @deprecated |
|
356 | + */ |
|
357 | + public function get_attendee_by_ID($ATT_ID = false) |
|
358 | + { |
|
359 | + // retrieve a particular EE_Attendee |
|
360 | + return $this->get_one_by_ID($ATT_ID); |
|
361 | + } |
|
362 | + |
|
363 | + |
|
364 | + |
|
365 | + /** |
|
366 | + * retrieve a single attendee from db via their ID |
|
367 | + * |
|
368 | + * @param array $where_cols_n_values |
|
369 | + * @return mixed array on success, FALSE on fail |
|
370 | + * @throws EE_Error |
|
371 | + */ |
|
372 | + public function get_attendee($where_cols_n_values = array()) |
|
373 | + { |
|
374 | + if (empty($where_cols_n_values)) { |
|
375 | + return false; |
|
376 | + } |
|
377 | + $attendee = $this->get_all(array($where_cols_n_values)); |
|
378 | + if (! empty($attendee)) { |
|
379 | + return array_shift($attendee); |
|
380 | + } |
|
381 | + return false; |
|
382 | + } |
|
383 | + |
|
384 | + |
|
385 | + |
|
386 | + /** |
|
387 | + * Search for an existing Attendee record in the DB |
|
388 | + * |
|
389 | + * @param array $where_cols_n_values |
|
390 | + * @return bool|mixed |
|
391 | + * @throws EE_Error |
|
392 | + */ |
|
393 | + public function find_existing_attendee($where_cols_n_values = null) |
|
394 | + { |
|
395 | + // search by combo of first and last names plus the email address |
|
396 | + $attendee_data_keys = array( |
|
397 | + 'ATT_fname' => $this->_ATT_fname, |
|
398 | + 'ATT_lname' => $this->_ATT_lname, |
|
399 | + 'ATT_email' => $this->_ATT_email, |
|
400 | + ); |
|
401 | + // no search params means attendee object already exists. |
|
402 | + $where_cols_n_values = is_array($where_cols_n_values) && ! empty($where_cols_n_values) |
|
403 | + ? $where_cols_n_values |
|
404 | + : $attendee_data_keys; |
|
405 | + $valid_data = true; |
|
406 | + // check for required values |
|
407 | + $valid_data = isset($where_cols_n_values['ATT_fname']) && ! empty($where_cols_n_values['ATT_fname']) |
|
408 | + ? $valid_data |
|
409 | + : false; |
|
410 | + $valid_data = isset($where_cols_n_values['ATT_lname']) && ! empty($where_cols_n_values['ATT_lname']) |
|
411 | + ? $valid_data |
|
412 | + : false; |
|
413 | + $valid_data = isset($where_cols_n_values['ATT_email']) && ! empty($where_cols_n_values['ATT_email']) |
|
414 | + ? $valid_data |
|
415 | + : false; |
|
416 | + if ($valid_data) { |
|
417 | + $attendee = $this->get_attendee($where_cols_n_values); |
|
418 | + if ($attendee instanceof EE_Attendee) { |
|
419 | + return $attendee; |
|
420 | + } |
|
421 | + } |
|
422 | + return false; |
|
423 | + } |
|
424 | + |
|
425 | + |
|
426 | + |
|
427 | + /** |
|
428 | + * Takes an incoming array of EE_Registration ids |
|
429 | + * and sends back a list of corresponding non duplicate EE_Attendee objects. |
|
430 | + * |
|
431 | + * @since 4.3.0 |
|
432 | + * @param array $ids array of EE_Registration ids |
|
433 | + * @return EE_Attendee[]|EE_Base_Class[] |
|
434 | + * @throws EE_Error |
|
435 | + */ |
|
436 | + public function get_array_of_contacts_from_reg_ids($ids) |
|
437 | + { |
|
438 | + $ids = (array) $ids; |
|
439 | + $_where = array( |
|
440 | + 'Registration.REG_ID' => array('in', $ids), |
|
441 | + ); |
|
442 | + return $this->get_all(array($_where)); |
|
443 | + } |
|
444 | 444 | } |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | /** |
28 | 28 | * return an array of Base types. Keys are INTs which are used in the database, |
29 | 29 | * values are text-representations of the base type. |
30 | - * @return array |
|
30 | + * @return integer |
|
31 | 31 | */ |
32 | 32 | public function get_base_types() |
33 | 33 | { |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | * instantiate a new price type object with blank/empty properties |
108 | 108 | * |
109 | 109 | * @access public |
110 | - * @return mixed array on success, FALSE on fail |
|
110 | + * @return EE_Price_Type array on success, FALSE on fail |
|
111 | 111 | */ |
112 | 112 | public function get_new_price_type() |
113 | 113 | { |
@@ -42,7 +42,7 @@ discard block |
||
42 | 42 | */ |
43 | 43 | public function get_base_type_name($base_type_int) |
44 | 44 | { |
45 | - return $this->base_types[ $base_type_int ]; |
|
45 | + return $this->base_types[$base_type_int]; |
|
46 | 46 | } |
47 | 47 | |
48 | 48 | /** |
@@ -95,7 +95,7 @@ discard block |
||
95 | 95 | 'WP_User' => new EE_Belongs_To_Relation(), |
96 | 96 | ); |
97 | 97 | // this model is generally available for reading |
98 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Public(); |
|
98 | + $this->_cap_restriction_generators[EEM_Base::caps_read] = new EE_Restriction_Generator_Public(); |
|
99 | 99 | // all price types are "default" in terms of capability names |
100 | 100 | $this->_caps_slug = 'default_price_types'; |
101 | 101 | parent::__construct($timezone); |
@@ -142,15 +142,15 @@ discard block |
||
142 | 142 | $would_be_deleted_price_types = $this->get_all_deleted_and_undeleted($query_params); |
143 | 143 | $would_be_deleted_price_type_ids = array_keys($would_be_deleted_price_types); |
144 | 144 | |
145 | - $ID = $query_params[0][ $this->get_primary_key_field()->get_name() ]; |
|
145 | + $ID = $query_params[0][$this->get_primary_key_field()->get_name()]; |
|
146 | 146 | |
147 | 147 | // check if any prices use this price type |
148 | - $prc_query_params = array(array('PRT_ID' => array('IN',$would_be_deleted_price_type_ids))); |
|
148 | + $prc_query_params = array(array('PRT_ID' => array('IN', $would_be_deleted_price_type_ids))); |
|
149 | 149 | if ($prices = $this->get_all_related($ID, 'Price', $prc_query_params)) { |
150 | 150 | $prices_names_and_ids = array(); |
151 | 151 | foreach ($prices as $price) { |
152 | 152 | /* @var $price EE_Price */ |
153 | - $prices_names_and_ids[] = $price->name() . "(" . $price->ID() . ")"; |
|
153 | + $prices_names_and_ids[] = $price->name()."(".$price->ID().")"; |
|
154 | 154 | } |
155 | 155 | $msg = sprintf(__('The Price Type(s) could not be deleted because there are existing Prices that currently use this Price Type. If you still wish to delete this Price Type, then either delete those Prices or change them to use other Price Types.The prices are: %s', 'event_espresso'), implode(",", $prices_names_and_ids)); |
156 | 156 | EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__); |
@@ -12,108 +12,108 @@ discard block |
||
12 | 12 | class EEM_Price_Type extends EEM_Soft_Delete_Base |
13 | 13 | { |
14 | 14 | |
15 | - // private instance of the Price Type object |
|
16 | - protected static $_instance = null; |
|
17 | - // An array of the price type objects |
|
18 | - public $type = null; |
|
19 | - |
|
20 | - /** |
|
21 | - * Price Base types |
|
22 | - * |
|
23 | - * @access private |
|
24 | - * @var int |
|
25 | - */ |
|
26 | - public $base_types = null; |
|
27 | - |
|
28 | - /** |
|
29 | - * return an array of Base types. Keys are INTs which are used in the database, |
|
30 | - * values are text-representations of the base type. |
|
31 | - * @return array |
|
32 | - */ |
|
33 | - public function get_base_types() |
|
34 | - { |
|
35 | - return $this->base_types; |
|
36 | - } |
|
37 | - |
|
38 | - /** |
|
39 | - * Gets the name of the base |
|
40 | - * @param type $base_type_int |
|
41 | - * @return type |
|
42 | - */ |
|
43 | - public function get_base_type_name($base_type_int) |
|
44 | - { |
|
45 | - return $this->base_types[ $base_type_int ]; |
|
46 | - } |
|
47 | - |
|
48 | - /** |
|
49 | - * constants for price base types. In the DB, we decided to store the price base type |
|
50 | - * as an integer. So, to avoid just having magic numbers everwhere (eg, querying for |
|
51 | - * all price types with PBT_ID = 2), we define these constants, to make code more understandable. |
|
52 | - * So, as an example, to query for all price types that are a tax, we'd do |
|
53 | - * EEM_PRice_Type::instance()->get_all(array(array('PBT_ID'=>EEM_Price_Type::base_type_tax))) |
|
54 | - * instead of |
|
55 | - * EEM_Price_Type::instance()->get_all(array(array('PBT_ID'=>2))) |
|
56 | - * Although the 2nd is shorter, it's much less obvious what it's doing. Also, should these magic IDs ever |
|
57 | - * change, we can continue to use the constant, by simply change its value. |
|
58 | - */ |
|
59 | - const base_type_base_price = 1; |
|
60 | - const base_type_discount = 2; |
|
61 | - const base_type_surcharge = 3; |
|
62 | - const base_type_tax = 4; |
|
63 | - /** |
|
64 | - * private constructor to prevent direct creation |
|
65 | - * @Constructor |
|
66 | - * @access protected |
|
67 | - * @return void |
|
68 | - */ |
|
69 | - protected function __construct($timezone = '') |
|
70 | - { |
|
71 | - $this->base_types = array( |
|
72 | - EEM_Price_Type::base_type_base_price => __('Price', 'event_espresso'), |
|
73 | - EEM_Price_Type::base_type_discount => __('Discount', 'event_espresso'), |
|
74 | - EEM_Price_Type::base_type_surcharge => __('Surcharge', 'event_espresso'), |
|
75 | - EEM_Price_Type::base_type_tax => __('Tax', 'event_espresso') ); |
|
76 | - $this->singular_item = __('Price Type', 'event_espresso'); |
|
77 | - $this->plural_item = __('Price Types', 'event_espresso'); |
|
78 | - |
|
79 | - $this->_tables = array( |
|
80 | - 'Price_Type' => new EE_Primary_Table('esp_price_type', 'PRT_ID') |
|
81 | - ); |
|
82 | - $this->_fields = array( |
|
83 | - 'Price_Type' => array( |
|
84 | - 'PRT_ID' => new EE_Primary_Key_Int_Field('PRT_ID', __('Price Type ID', 'event_espresso')), |
|
85 | - 'PRT_name' => new EE_Plain_Text_Field('PRT_name', __('Price Type Name', 'event_espresso'), false, ''), |
|
86 | - 'PBT_ID' => new EE_Enum_Integer_Field('PBT_ID', __('Price Base type ID, 1 = Price , 2 = Discount , 3 = Surcharge , 4 = Tax', 'event_espresso'), false, EEM_Price_Type::base_type_base_price, $this->base_types), |
|
87 | - 'PRT_is_percent' => new EE_Boolean_Field('PRT_is_percent', __('Flag indicating price is a percentage', 'event_espresso'), false, false), |
|
88 | - 'PRT_order' => new EE_Integer_Field('PRT_order', __('Order in which price should be applied. ', 'event_espresso'), false, 0), |
|
89 | - 'PRT_deleted' => new EE_Trashed_Flag_Field('PRT_deleted', __('Flag indicating price type has been trashed', 'event_espresso'), false, false), |
|
90 | - 'PRT_wp_user' => new EE_WP_User_Field('PRT_wp_user', __('Price Type Creator ID', 'event_espresso'), false), |
|
91 | - ) |
|
92 | - ); |
|
93 | - $this->_model_relations = array( |
|
94 | - 'Price' => new EE_Has_Many_Relation(), |
|
95 | - 'WP_User' => new EE_Belongs_To_Relation(), |
|
96 | - ); |
|
97 | - // this model is generally available for reading |
|
98 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Public(); |
|
99 | - // all price types are "default" in terms of capability names |
|
100 | - $this->_caps_slug = 'default_price_types'; |
|
101 | - parent::__construct($timezone); |
|
102 | - } |
|
103 | - |
|
104 | - |
|
105 | - |
|
106 | - |
|
107 | - /** |
|
108 | - * instantiate a new price type object with blank/empty properties |
|
109 | - * |
|
110 | - * @access public |
|
111 | - * @return mixed array on success, FALSE on fail |
|
112 | - */ |
|
113 | - public function get_new_price_type() |
|
114 | - { |
|
115 | - return EE_Price_Type::new_instance(); |
|
116 | - } |
|
15 | + // private instance of the Price Type object |
|
16 | + protected static $_instance = null; |
|
17 | + // An array of the price type objects |
|
18 | + public $type = null; |
|
19 | + |
|
20 | + /** |
|
21 | + * Price Base types |
|
22 | + * |
|
23 | + * @access private |
|
24 | + * @var int |
|
25 | + */ |
|
26 | + public $base_types = null; |
|
27 | + |
|
28 | + /** |
|
29 | + * return an array of Base types. Keys are INTs which are used in the database, |
|
30 | + * values are text-representations of the base type. |
|
31 | + * @return array |
|
32 | + */ |
|
33 | + public function get_base_types() |
|
34 | + { |
|
35 | + return $this->base_types; |
|
36 | + } |
|
37 | + |
|
38 | + /** |
|
39 | + * Gets the name of the base |
|
40 | + * @param type $base_type_int |
|
41 | + * @return type |
|
42 | + */ |
|
43 | + public function get_base_type_name($base_type_int) |
|
44 | + { |
|
45 | + return $this->base_types[ $base_type_int ]; |
|
46 | + } |
|
47 | + |
|
48 | + /** |
|
49 | + * constants for price base types. In the DB, we decided to store the price base type |
|
50 | + * as an integer. So, to avoid just having magic numbers everwhere (eg, querying for |
|
51 | + * all price types with PBT_ID = 2), we define these constants, to make code more understandable. |
|
52 | + * So, as an example, to query for all price types that are a tax, we'd do |
|
53 | + * EEM_PRice_Type::instance()->get_all(array(array('PBT_ID'=>EEM_Price_Type::base_type_tax))) |
|
54 | + * instead of |
|
55 | + * EEM_Price_Type::instance()->get_all(array(array('PBT_ID'=>2))) |
|
56 | + * Although the 2nd is shorter, it's much less obvious what it's doing. Also, should these magic IDs ever |
|
57 | + * change, we can continue to use the constant, by simply change its value. |
|
58 | + */ |
|
59 | + const base_type_base_price = 1; |
|
60 | + const base_type_discount = 2; |
|
61 | + const base_type_surcharge = 3; |
|
62 | + const base_type_tax = 4; |
|
63 | + /** |
|
64 | + * private constructor to prevent direct creation |
|
65 | + * @Constructor |
|
66 | + * @access protected |
|
67 | + * @return void |
|
68 | + */ |
|
69 | + protected function __construct($timezone = '') |
|
70 | + { |
|
71 | + $this->base_types = array( |
|
72 | + EEM_Price_Type::base_type_base_price => __('Price', 'event_espresso'), |
|
73 | + EEM_Price_Type::base_type_discount => __('Discount', 'event_espresso'), |
|
74 | + EEM_Price_Type::base_type_surcharge => __('Surcharge', 'event_espresso'), |
|
75 | + EEM_Price_Type::base_type_tax => __('Tax', 'event_espresso') ); |
|
76 | + $this->singular_item = __('Price Type', 'event_espresso'); |
|
77 | + $this->plural_item = __('Price Types', 'event_espresso'); |
|
78 | + |
|
79 | + $this->_tables = array( |
|
80 | + 'Price_Type' => new EE_Primary_Table('esp_price_type', 'PRT_ID') |
|
81 | + ); |
|
82 | + $this->_fields = array( |
|
83 | + 'Price_Type' => array( |
|
84 | + 'PRT_ID' => new EE_Primary_Key_Int_Field('PRT_ID', __('Price Type ID', 'event_espresso')), |
|
85 | + 'PRT_name' => new EE_Plain_Text_Field('PRT_name', __('Price Type Name', 'event_espresso'), false, ''), |
|
86 | + 'PBT_ID' => new EE_Enum_Integer_Field('PBT_ID', __('Price Base type ID, 1 = Price , 2 = Discount , 3 = Surcharge , 4 = Tax', 'event_espresso'), false, EEM_Price_Type::base_type_base_price, $this->base_types), |
|
87 | + 'PRT_is_percent' => new EE_Boolean_Field('PRT_is_percent', __('Flag indicating price is a percentage', 'event_espresso'), false, false), |
|
88 | + 'PRT_order' => new EE_Integer_Field('PRT_order', __('Order in which price should be applied. ', 'event_espresso'), false, 0), |
|
89 | + 'PRT_deleted' => new EE_Trashed_Flag_Field('PRT_deleted', __('Flag indicating price type has been trashed', 'event_espresso'), false, false), |
|
90 | + 'PRT_wp_user' => new EE_WP_User_Field('PRT_wp_user', __('Price Type Creator ID', 'event_espresso'), false), |
|
91 | + ) |
|
92 | + ); |
|
93 | + $this->_model_relations = array( |
|
94 | + 'Price' => new EE_Has_Many_Relation(), |
|
95 | + 'WP_User' => new EE_Belongs_To_Relation(), |
|
96 | + ); |
|
97 | + // this model is generally available for reading |
|
98 | + $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Public(); |
|
99 | + // all price types are "default" in terms of capability names |
|
100 | + $this->_caps_slug = 'default_price_types'; |
|
101 | + parent::__construct($timezone); |
|
102 | + } |
|
103 | + |
|
104 | + |
|
105 | + |
|
106 | + |
|
107 | + /** |
|
108 | + * instantiate a new price type object with blank/empty properties |
|
109 | + * |
|
110 | + * @access public |
|
111 | + * @return mixed array on success, FALSE on fail |
|
112 | + */ |
|
113 | + public function get_new_price_type() |
|
114 | + { |
|
115 | + return EE_Price_Type::new_instance(); |
|
116 | + } |
|
117 | 117 | |
118 | 118 | |
119 | 119 | |
@@ -132,33 +132,33 @@ discard block |
||
132 | 132 | * |
133 | 133 | * @param type $query_params |
134 | 134 | * @param boolean $allow_blocking if TRUE, matched objects will only be deleted if there is no related model info |
135 | - * that blocks it (ie, there' sno other data that depends on this data); if false, deletes regardless of other objects |
|
136 | - * which may depend on it. Its generally advisable to always leave this as TRUE, otherwise you could easily corrupt your DB |
|
135 | + * that blocks it (ie, there' sno other data that depends on this data); if false, deletes regardless of other objects |
|
136 | + * which may depend on it. Its generally advisable to always leave this as TRUE, otherwise you could easily corrupt your DB |
|
137 | 137 | * @return boolean |
138 | 138 | */ |
139 | - public function delete_permanently($query_params = array(), $allow_blocking = true) |
|
140 | - { |
|
139 | + public function delete_permanently($query_params = array(), $allow_blocking = true) |
|
140 | + { |
|
141 | 141 | |
142 | - $would_be_deleted_price_types = $this->get_all_deleted_and_undeleted($query_params); |
|
143 | - $would_be_deleted_price_type_ids = array_keys($would_be_deleted_price_types); |
|
142 | + $would_be_deleted_price_types = $this->get_all_deleted_and_undeleted($query_params); |
|
143 | + $would_be_deleted_price_type_ids = array_keys($would_be_deleted_price_types); |
|
144 | 144 | |
145 | - $ID = $query_params[0][ $this->get_primary_key_field()->get_name() ]; |
|
145 | + $ID = $query_params[0][ $this->get_primary_key_field()->get_name() ]; |
|
146 | 146 | |
147 | - // check if any prices use this price type |
|
148 | - $prc_query_params = array(array('PRT_ID' => array('IN',$would_be_deleted_price_type_ids))); |
|
149 | - if ($prices = $this->get_all_related($ID, 'Price', $prc_query_params)) { |
|
150 | - $prices_names_and_ids = array(); |
|
151 | - foreach ($prices as $price) { |
|
152 | - /* @var $price EE_Price */ |
|
153 | - $prices_names_and_ids[] = $price->name() . "(" . $price->ID() . ")"; |
|
154 | - } |
|
155 | - $msg = sprintf(__('The Price Type(s) could not be deleted because there are existing Prices that currently use this Price Type. If you still wish to delete this Price Type, then either delete those Prices or change them to use other Price Types.The prices are: %s', 'event_espresso'), implode(",", $prices_names_and_ids)); |
|
156 | - EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__); |
|
157 | - return false; |
|
158 | - } |
|
147 | + // check if any prices use this price type |
|
148 | + $prc_query_params = array(array('PRT_ID' => array('IN',$would_be_deleted_price_type_ids))); |
|
149 | + if ($prices = $this->get_all_related($ID, 'Price', $prc_query_params)) { |
|
150 | + $prices_names_and_ids = array(); |
|
151 | + foreach ($prices as $price) { |
|
152 | + /* @var $price EE_Price */ |
|
153 | + $prices_names_and_ids[] = $price->name() . "(" . $price->ID() . ")"; |
|
154 | + } |
|
155 | + $msg = sprintf(__('The Price Type(s) could not be deleted because there are existing Prices that currently use this Price Type. If you still wish to delete this Price Type, then either delete those Prices or change them to use other Price Types.The prices are: %s', 'event_espresso'), implode(",", $prices_names_and_ids)); |
|
156 | + EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__); |
|
157 | + return false; |
|
158 | + } |
|
159 | 159 | |
160 | 160 | |
161 | 161 | |
162 | - return parent::delete_permanently($query_params); |
|
163 | - } |
|
162 | + return parent::delete_permanently($query_params); |
|
163 | + } |
|
164 | 164 | } |
@@ -15,8 +15,6 @@ discard block |
||
15 | 15 | * This function is a singleton method used to instantiate the EEM_Attendee object |
16 | 16 | * |
17 | 17 | * @access public |
18 | - * @param string $timezone string representing the timezone we want to set for returned Date Time Strings (and any incoming timezone data that gets saved). Note this just sends the timezone info to the date time model field objects. Default is NULL (and will be assumed using the set timezone in the 'timezone_string' wp option) |
|
19 | - * @return EEM_System_Status |
|
20 | 18 | */ |
21 | 19 | public static function instance() |
22 | 20 | { |
@@ -157,7 +155,7 @@ discard block |
||
157 | 155 | |
158 | 156 | /** |
159 | 157 | * |
160 | - * @return array like EE_Config class |
|
158 | + * @return EE_Config like EE_Config class |
|
161 | 159 | */ |
162 | 160 | public function get_ee_config() |
163 | 161 | { |
@@ -214,7 +212,7 @@ discard block |
||
214 | 212 | |
215 | 213 | /** |
216 | 214 | * Checks if site responds ot HTTPS |
217 | - * @return boolean |
|
215 | + * @return string |
|
218 | 216 | */ |
219 | 217 | public function get_https_enabled() |
220 | 218 | { |
@@ -6,79 +6,79 @@ discard block |
||
6 | 6 | class EEM_System_Status |
7 | 7 | { |
8 | 8 | |
9 | - // private instance of the EEM_System_Status object |
|
10 | - protected static $_instance = null; |
|
9 | + // private instance of the EEM_System_Status object |
|
10 | + protected static $_instance = null; |
|
11 | 11 | |
12 | 12 | |
13 | 13 | |
14 | - /** |
|
15 | - * This function is a singleton method used to instantiate the EEM_Attendee object |
|
16 | - * |
|
17 | - * @access public |
|
18 | - * @param string $timezone string representing the timezone we want to set for returned Date Time Strings (and any incoming timezone data that gets saved). Note this just sends the timezone info to the date time model field objects. Default is NULL (and will be assumed using the set timezone in the 'timezone_string' wp option) |
|
19 | - * @return EEM_System_Status |
|
20 | - */ |
|
21 | - public static function instance() |
|
22 | - { |
|
14 | + /** |
|
15 | + * This function is a singleton method used to instantiate the EEM_Attendee object |
|
16 | + * |
|
17 | + * @access public |
|
18 | + * @param string $timezone string representing the timezone we want to set for returned Date Time Strings (and any incoming timezone data that gets saved). Note this just sends the timezone info to the date time model field objects. Default is NULL (and will be assumed using the set timezone in the 'timezone_string' wp option) |
|
19 | + * @return EEM_System_Status |
|
20 | + */ |
|
21 | + public static function instance() |
|
22 | + { |
|
23 | 23 | |
24 | - // check if instance of EEM_System_Status already exists |
|
25 | - if (self::$_instance === null) { |
|
26 | - // instantiate EEM_System_Status |
|
27 | - self::$_instance = new self(); |
|
28 | - } |
|
29 | - return self::$_instance; |
|
30 | - } |
|
31 | - private function __construct() |
|
32 | - { |
|
33 | - } |
|
34 | - /** |
|
35 | - * |
|
36 | - * @return array where each key is a function name on this class, and each value is SOMETHING-- |
|
37 | - * it might be a value, an array, or an object |
|
38 | - */ |
|
39 | - public function get_system_stati() |
|
40 | - { |
|
41 | - return apply_filters( |
|
42 | - 'FHEE__EEM_System_Status__get_system_stati', |
|
43 | - array( |
|
44 | - 'ee_version' => $this->get_ee_version(), |
|
45 | - 'ee_activation_history' => $this->get_ee_activation_history(), |
|
46 | - 'ee_config' => $this->get_ee_config(), |
|
47 | - 'ee_migration_history' => $this->get_ee_migration_history(), |
|
48 | - 'active_plugins' => $this->get_active_plugins(), |
|
49 | - 'wp_settings' => $this->get_wp_settings(), |
|
50 | - 'wp_maintenance_mode' => $this->get_wp_maintenance_mode(), |
|
51 | - 'https_enabled' => $this->get_https_enabled(), |
|
52 | - 'logging_enabled' => $this->get_logging_enabled(), |
|
53 | - 'remote_posting' => $this->get_remote_posting(), |
|
54 | - 'php_version' => $this->php_version(), |
|
55 | - 'php.ini_settings' => $this->get_php_ini_all(), |
|
56 | - 'php_info' => $this->get_php_info(), |
|
57 | - ), |
|
58 | - $this |
|
59 | - ); |
|
60 | - } |
|
61 | - /** |
|
62 | - * |
|
63 | - * @return string |
|
64 | - */ |
|
65 | - public function get_ee_version() |
|
66 | - { |
|
67 | - return espresso_version(); |
|
68 | - } |
|
69 | - /** |
|
70 | - * |
|
71 | - * @return string |
|
72 | - */ |
|
73 | - public function php_version() |
|
74 | - { |
|
75 | - return phpversion(); |
|
76 | - } |
|
77 | - /** |
|
78 | - * |
|
79 | - * @return array, where each key is a plugin name (lower-cased), values are sub-arrays. |
|
80 | - * Sub-arrays like described in wp function get_plugin_data. Ie, * |
|
81 | - * 'Name' => 'Plugin Name', |
|
24 | + // check if instance of EEM_System_Status already exists |
|
25 | + if (self::$_instance === null) { |
|
26 | + // instantiate EEM_System_Status |
|
27 | + self::$_instance = new self(); |
|
28 | + } |
|
29 | + return self::$_instance; |
|
30 | + } |
|
31 | + private function __construct() |
|
32 | + { |
|
33 | + } |
|
34 | + /** |
|
35 | + * |
|
36 | + * @return array where each key is a function name on this class, and each value is SOMETHING-- |
|
37 | + * it might be a value, an array, or an object |
|
38 | + */ |
|
39 | + public function get_system_stati() |
|
40 | + { |
|
41 | + return apply_filters( |
|
42 | + 'FHEE__EEM_System_Status__get_system_stati', |
|
43 | + array( |
|
44 | + 'ee_version' => $this->get_ee_version(), |
|
45 | + 'ee_activation_history' => $this->get_ee_activation_history(), |
|
46 | + 'ee_config' => $this->get_ee_config(), |
|
47 | + 'ee_migration_history' => $this->get_ee_migration_history(), |
|
48 | + 'active_plugins' => $this->get_active_plugins(), |
|
49 | + 'wp_settings' => $this->get_wp_settings(), |
|
50 | + 'wp_maintenance_mode' => $this->get_wp_maintenance_mode(), |
|
51 | + 'https_enabled' => $this->get_https_enabled(), |
|
52 | + 'logging_enabled' => $this->get_logging_enabled(), |
|
53 | + 'remote_posting' => $this->get_remote_posting(), |
|
54 | + 'php_version' => $this->php_version(), |
|
55 | + 'php.ini_settings' => $this->get_php_ini_all(), |
|
56 | + 'php_info' => $this->get_php_info(), |
|
57 | + ), |
|
58 | + $this |
|
59 | + ); |
|
60 | + } |
|
61 | + /** |
|
62 | + * |
|
63 | + * @return string |
|
64 | + */ |
|
65 | + public function get_ee_version() |
|
66 | + { |
|
67 | + return espresso_version(); |
|
68 | + } |
|
69 | + /** |
|
70 | + * |
|
71 | + * @return string |
|
72 | + */ |
|
73 | + public function php_version() |
|
74 | + { |
|
75 | + return phpversion(); |
|
76 | + } |
|
77 | + /** |
|
78 | + * |
|
79 | + * @return array, where each key is a plugin name (lower-cased), values are sub-arrays. |
|
80 | + * Sub-arrays like described in wp function get_plugin_data. Ie, * |
|
81 | + * 'Name' => 'Plugin Name', |
|
82 | 82 | 'PluginURI' => 'Plugin URI', |
83 | 83 | 'Version' => 'Version', |
84 | 84 | 'Description' => 'Description', |
@@ -87,221 +87,221 @@ discard block |
||
87 | 87 | 'TextDomain' => 'Text Domain', |
88 | 88 | 'DomainPath' => 'Domain Path', |
89 | 89 | 'Network' => 'Network', |
90 | - */ |
|
91 | - public function get_active_plugins() |
|
92 | - { |
|
93 | - $active_plugins = (array) get_option('active_plugins', array()); |
|
94 | - if (is_multisite()) { |
|
95 | - $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array())); |
|
96 | - } |
|
97 | - $active_plugins = array_map('strtolower', $active_plugins); |
|
98 | - $plugin_info = array(); |
|
99 | - foreach ($active_plugins as $plugin) { |
|
100 | - $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); |
|
90 | + */ |
|
91 | + public function get_active_plugins() |
|
92 | + { |
|
93 | + $active_plugins = (array) get_option('active_plugins', array()); |
|
94 | + if (is_multisite()) { |
|
95 | + $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array())); |
|
96 | + } |
|
97 | + $active_plugins = array_map('strtolower', $active_plugins); |
|
98 | + $plugin_info = array(); |
|
99 | + foreach ($active_plugins as $plugin) { |
|
100 | + $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); |
|
101 | 101 | |
102 | - $plugin_info[ $plugin ] = $plugin_data; |
|
103 | - } |
|
104 | - return $plugin_info; |
|
105 | - } |
|
102 | + $plugin_info[ $plugin ] = $plugin_data; |
|
103 | + } |
|
104 | + return $plugin_info; |
|
105 | + } |
|
106 | 106 | |
107 | - /** |
|
108 | - * |
|
109 | - * @return array with keys 'home_url' and 'site_url' |
|
110 | - */ |
|
111 | - public function get_wp_settings() |
|
112 | - { |
|
113 | - $wp_memory_int = $this->let_to_num(WP_MEMORY_LIMIT); |
|
114 | - if ($wp_memory_int < 67108864) { |
|
115 | - $wp_memory_to_display = '<mark class="error">' . sprintf(__('%s - We recommend setting memory to at least 64MB. See: %s Increasing memory allocated to PHP %s', 'event_espresso'), WP_MEMORY_LIMIT, '<a href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">', '</a>"') . '</mark>'; |
|
116 | - } else { |
|
117 | - $wp_memory_to_display = '<mark class="yes">' . size_format($wp_memory_int) . '</mark>'; |
|
118 | - } |
|
119 | - return array( |
|
120 | - 'name' => get_bloginfo('name', 'display'), |
|
121 | - 'is_multisite' => is_multisite(), |
|
122 | - 'version' => get_bloginfo('version', 'display'), |
|
123 | - 'home_url' => home_url(), |
|
124 | - 'site_url' => site_url(), |
|
125 | - 'WP_DEBUG' => WP_DEBUG, |
|
126 | - 'permalink_structure' => get_option('permalink_structure'), |
|
127 | - 'theme' => wp_get_theme(), |
|
128 | - 'gmt_offset' => get_option('gmt_offset'), |
|
129 | - 'timezone_string' => get_option('timezone_string'), |
|
130 | - 'admin_email' => get_bloginfo('admin_email', 'display'), |
|
131 | - 'language' => get_bloginfo('language', 'display'), |
|
132 | - 'wp_max_upload_size' => size_format(wp_max_upload_size()), |
|
133 | - 'wp_memory' => $wp_memory_to_display |
|
134 | - ); |
|
135 | - } |
|
107 | + /** |
|
108 | + * |
|
109 | + * @return array with keys 'home_url' and 'site_url' |
|
110 | + */ |
|
111 | + public function get_wp_settings() |
|
112 | + { |
|
113 | + $wp_memory_int = $this->let_to_num(WP_MEMORY_LIMIT); |
|
114 | + if ($wp_memory_int < 67108864) { |
|
115 | + $wp_memory_to_display = '<mark class="error">' . sprintf(__('%s - We recommend setting memory to at least 64MB. See: %s Increasing memory allocated to PHP %s', 'event_espresso'), WP_MEMORY_LIMIT, '<a href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">', '</a>"') . '</mark>'; |
|
116 | + } else { |
|
117 | + $wp_memory_to_display = '<mark class="yes">' . size_format($wp_memory_int) . '</mark>'; |
|
118 | + } |
|
119 | + return array( |
|
120 | + 'name' => get_bloginfo('name', 'display'), |
|
121 | + 'is_multisite' => is_multisite(), |
|
122 | + 'version' => get_bloginfo('version', 'display'), |
|
123 | + 'home_url' => home_url(), |
|
124 | + 'site_url' => site_url(), |
|
125 | + 'WP_DEBUG' => WP_DEBUG, |
|
126 | + 'permalink_structure' => get_option('permalink_structure'), |
|
127 | + 'theme' => wp_get_theme(), |
|
128 | + 'gmt_offset' => get_option('gmt_offset'), |
|
129 | + 'timezone_string' => get_option('timezone_string'), |
|
130 | + 'admin_email' => get_bloginfo('admin_email', 'display'), |
|
131 | + 'language' => get_bloginfo('language', 'display'), |
|
132 | + 'wp_max_upload_size' => size_format(wp_max_upload_size()), |
|
133 | + 'wp_memory' => $wp_memory_to_display |
|
134 | + ); |
|
135 | + } |
|
136 | 136 | |
137 | - /** |
|
138 | - * Gets an array of information about the history of ee versions installed |
|
139 | - * @return array |
|
140 | - */ |
|
141 | - public function get_ee_activation_history() |
|
142 | - { |
|
143 | - return get_option('espresso_db_update'); |
|
144 | - } |
|
137 | + /** |
|
138 | + * Gets an array of information about the history of ee versions installed |
|
139 | + * @return array |
|
140 | + */ |
|
141 | + public function get_ee_activation_history() |
|
142 | + { |
|
143 | + return get_option('espresso_db_update'); |
|
144 | + } |
|
145 | 145 | |
146 | 146 | |
147 | - /** |
|
148 | - * Gets an array where keys are ee versions, and their values are arrays indicating all the different times that version was installed |
|
149 | - * @return EE_Data_Migration_Script_Base[] |
|
150 | - */ |
|
151 | - public function get_ee_migration_history() |
|
152 | - { |
|
153 | - $options = EE_Data_Migration_Manager::instance()->get_all_migration_script_options(); |
|
154 | - $presentable_migration_scripts = array(); |
|
155 | - foreach ($options as $option_array) { |
|
156 | - $presentable_migration_scripts[ str_replace(EE_Data_Migration_Manager::data_migration_script_option_prefix, "", $option_array['option_name']) ] = maybe_unserialize($option_array['option_value']); |
|
157 | - } |
|
158 | - return $presentable_migration_scripts; |
|
147 | + /** |
|
148 | + * Gets an array where keys are ee versions, and their values are arrays indicating all the different times that version was installed |
|
149 | + * @return EE_Data_Migration_Script_Base[] |
|
150 | + */ |
|
151 | + public function get_ee_migration_history() |
|
152 | + { |
|
153 | + $options = EE_Data_Migration_Manager::instance()->get_all_migration_script_options(); |
|
154 | + $presentable_migration_scripts = array(); |
|
155 | + foreach ($options as $option_array) { |
|
156 | + $presentable_migration_scripts[ str_replace(EE_Data_Migration_Manager::data_migration_script_option_prefix, "", $option_array['option_name']) ] = maybe_unserialize($option_array['option_value']); |
|
157 | + } |
|
158 | + return $presentable_migration_scripts; |
|
159 | 159 | // return get_option(EE_Data_Migration_Manager::data_migrations_option_name);//EE_Data_Migration_Manager::instance()->get_data_migrations_ran(); |
160 | - } |
|
160 | + } |
|
161 | 161 | |
162 | - /** |
|
163 | - * |
|
164 | - * @return array like EE_Config class |
|
165 | - */ |
|
166 | - public function get_ee_config() |
|
167 | - { |
|
168 | - return EE_Config::instance(); |
|
169 | - } |
|
162 | + /** |
|
163 | + * |
|
164 | + * @return array like EE_Config class |
|
165 | + */ |
|
166 | + public function get_ee_config() |
|
167 | + { |
|
168 | + return EE_Config::instance(); |
|
169 | + } |
|
170 | 170 | |
171 | - /** |
|
172 | - * Gets an array of php setup info, pilfered from http://www.php.net/manual/en/function.phpinfo.php#87463 |
|
173 | - * @return array like the output of phpinfo(), but in an array |
|
174 | - */ |
|
175 | - public function get_php_info() |
|
176 | - { |
|
177 | - ob_start(); |
|
178 | - phpinfo(-1); |
|
171 | + /** |
|
172 | + * Gets an array of php setup info, pilfered from http://www.php.net/manual/en/function.phpinfo.php#87463 |
|
173 | + * @return array like the output of phpinfo(), but in an array |
|
174 | + */ |
|
175 | + public function get_php_info() |
|
176 | + { |
|
177 | + ob_start(); |
|
178 | + phpinfo(-1); |
|
179 | 179 | |
180 | - $pi = preg_replace( |
|
181 | - array('#^.*<body>(.*)</body>.*$#ms', '#<h2>PHP License</h2>.*$#ms', |
|
182 | - '#<h1>Configuration</h1>#', "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#', |
|
183 | - "#[ \t]+#", '# #', '# +#', '# class=".*?"#', '%'%', |
|
184 | - '#<tr>(?:.*?)" src="(?:.*?)=(.*?)" alt="PHP Logo" /></a>' |
|
185 | - . '<h1>PHP Version (.*?)</h1>(?:\n+?)</td></tr>#', |
|
186 | - '#<h1><a href="(?:.*?)\?=(.*?)">PHP Credits</a></h1>#', |
|
187 | - '#<tr>(?:.*?)" src="(?:.*?)=(.*?)"(?:.*?)Zend Engine (.*?),(?:.*?)</tr>#', |
|
188 | - "# +#", '#<tr>#', '#</tr>#'), |
|
189 | - array('$1', '', '', '', '</$1>' . "\n", '<', ' ', ' ', ' ', '', ' ', |
|
190 | - '<h2>PHP Configuration</h2>' . "\n" . '<tr><td>PHP Version</td><td>$2</td></tr>' . |
|
191 | - "\n" . '<tr><td>PHP Egg</td><td>$1</td></tr>', |
|
192 | - '<tr><td>PHP Credits Egg</td><td>$1</td></tr>', |
|
193 | - '<tr><td>Zend Engine</td><td>$2</td></tr>' . "\n" . |
|
194 | - '<tr><td>Zend Egg</td><td>$1</td></tr>', ' ', '%S%', '%E%'), |
|
195 | - ob_get_clean() |
|
196 | - ); |
|
180 | + $pi = preg_replace( |
|
181 | + array('#^.*<body>(.*)</body>.*$#ms', '#<h2>PHP License</h2>.*$#ms', |
|
182 | + '#<h1>Configuration</h1>#', "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#', |
|
183 | + "#[ \t]+#", '# #', '# +#', '# class=".*?"#', '%'%', |
|
184 | + '#<tr>(?:.*?)" src="(?:.*?)=(.*?)" alt="PHP Logo" /></a>' |
|
185 | + . '<h1>PHP Version (.*?)</h1>(?:\n+?)</td></tr>#', |
|
186 | + '#<h1><a href="(?:.*?)\?=(.*?)">PHP Credits</a></h1>#', |
|
187 | + '#<tr>(?:.*?)" src="(?:.*?)=(.*?)"(?:.*?)Zend Engine (.*?),(?:.*?)</tr>#', |
|
188 | + "# +#", '#<tr>#', '#</tr>#'), |
|
189 | + array('$1', '', '', '', '</$1>' . "\n", '<', ' ', ' ', ' ', '', ' ', |
|
190 | + '<h2>PHP Configuration</h2>' . "\n" . '<tr><td>PHP Version</td><td>$2</td></tr>' . |
|
191 | + "\n" . '<tr><td>PHP Egg</td><td>$1</td></tr>', |
|
192 | + '<tr><td>PHP Credits Egg</td><td>$1</td></tr>', |
|
193 | + '<tr><td>Zend Engine</td><td>$2</td></tr>' . "\n" . |
|
194 | + '<tr><td>Zend Egg</td><td>$1</td></tr>', ' ', '%S%', '%E%'), |
|
195 | + ob_get_clean() |
|
196 | + ); |
|
197 | 197 | |
198 | - $sections = explode('<h2>', strip_tags($pi, '<h2><th><td>')); |
|
199 | - unset($sections[0]); |
|
198 | + $sections = explode('<h2>', strip_tags($pi, '<h2><th><td>')); |
|
199 | + unset($sections[0]); |
|
200 | 200 | |
201 | - $pi = array(); |
|
202 | - foreach ($sections as $section) { |
|
203 | - $n = substr($section, 0, strpos($section, '</h2>')); |
|
204 | - preg_match_all( |
|
205 | - '#%S%(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?%E%#', |
|
206 | - $section, |
|
207 | - $askapache, |
|
208 | - PREG_SET_ORDER |
|
209 | - ); |
|
210 | - foreach ($askapache as $m) { |
|
211 | - $m2 = isset($m[2]) ? $m[2] : null; |
|
212 | - } |
|
213 | - $pi[ $n ][ $m[1] ] = (!isset($m[3]) || $m2 == $m[3]) ? $m2 : array_slice($m, 2); |
|
214 | - } |
|
201 | + $pi = array(); |
|
202 | + foreach ($sections as $section) { |
|
203 | + $n = substr($section, 0, strpos($section, '</h2>')); |
|
204 | + preg_match_all( |
|
205 | + '#%S%(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?%E%#', |
|
206 | + $section, |
|
207 | + $askapache, |
|
208 | + PREG_SET_ORDER |
|
209 | + ); |
|
210 | + foreach ($askapache as $m) { |
|
211 | + $m2 = isset($m[2]) ? $m[2] : null; |
|
212 | + } |
|
213 | + $pi[ $n ][ $m[1] ] = (!isset($m[3]) || $m2 == $m[3]) ? $m2 : array_slice($m, 2); |
|
214 | + } |
|
215 | 215 | |
216 | - return $pi; |
|
217 | - } |
|
216 | + return $pi; |
|
217 | + } |
|
218 | 218 | |
219 | - /** |
|
220 | - * Checks if site responds ot HTTPS |
|
221 | - * @return boolean |
|
222 | - */ |
|
223 | - public function get_https_enabled() |
|
224 | - { |
|
225 | - $home = str_replace("http://", "https://", home_url()); |
|
226 | - $response = wp_remote_get($home); |
|
227 | - if ($response instanceof WP_Error) { |
|
228 | - $error_string = ''; |
|
229 | - foreach ($response->errors as $short_name => $description_array) { |
|
230 | - $error_string .= "<b>$short_name</b>: " . implode(", ", $description_array); |
|
231 | - } |
|
232 | - return $error_string; |
|
233 | - } |
|
234 | - return "ok!"; |
|
235 | - } |
|
236 | - /** |
|
237 | - * Whether or not a .maintenance file is detected |
|
238 | - * @return string descripting wp_maintenance_mode status |
|
239 | - */ |
|
240 | - public function get_wp_maintenance_mode() |
|
241 | - { |
|
242 | - $opened = file_exists(ABSPATH . '.maintenance'); |
|
243 | - return $opened ? sprintf(__('%s.maintenance file detected.%s Wordpress may have a failed auto-update which could prevent Event Espresso from updating the database correctly.', 'event_espresso'), '<strong>', '</strong>') : __('.maintenance file not detected. WordPress is not in maintenance mode.', 'event_espresso') ; |
|
244 | - } |
|
245 | - /** |
|
246 | - * Whether or not logging is enabled |
|
247 | - * @return string descripting logging's status |
|
248 | - */ |
|
249 | - public function get_logging_enabled() |
|
250 | - { |
|
251 | - $opened = @fopen(EVENT_ESPRESSO_UPLOAD_DIR . '/logs/espresso_log.txt', 'a'); |
|
252 | - return $opened ? __('Log Directory is writable', 'event_espresso') : sprintf(__('%sLog directory is NOT writable%s', 'event_espresso'), '<mark class="error"', '</mark>') ; |
|
253 | - } |
|
254 | - /** |
|
255 | - * Whether curl ro fsock works |
|
256 | - * @return string describing posting's status |
|
257 | - */ |
|
258 | - public function get_remote_posting() |
|
259 | - { |
|
260 | - $fsock_works = function_exists('fsockopen'); |
|
261 | - $curl_works = function_exists('curl_init'); |
|
262 | - if ($fsock_works && $curl_works) { |
|
263 | - $status = __('Your server has fsockopen and cURL enabled.', 'event_espresso'); |
|
264 | - } elseif ($fsock_works) { |
|
265 | - $status = __('Your server has fsockopen enabled, cURL is disabled.', 'event_espresso'); |
|
266 | - } elseif ($curl_works) { |
|
267 | - $status = __('Your server has cURL enabled, fsockopen is disabled.', 'event_espresso'); |
|
268 | - } else { |
|
269 | - $status = __('Your server does not have fsockopen or cURL enabled - PayPal IPN and other scripts which communicate with other servers will not work. Contact your hosting provider.', 'event_espresso') . '</mark>'; |
|
270 | - } |
|
271 | - return $status; |
|
272 | - } |
|
273 | - /** |
|
274 | - * Gets all the php.ini settings |
|
275 | - * @return array |
|
276 | - */ |
|
277 | - public function get_php_ini_all() |
|
278 | - { |
|
279 | - return ini_get_all(); |
|
280 | - } |
|
281 | - /** |
|
282 | - * Transforms the php.ini notation for numbers (like '2M') to an integer. |
|
283 | - * |
|
284 | - * @param type $size |
|
285 | - * @return int |
|
286 | - */ |
|
287 | - public function let_to_num($size) |
|
288 | - { |
|
289 | - $l = substr($size, -1); |
|
290 | - $ret = substr($size, 0, -1); |
|
291 | - // phpcs:disable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment |
|
292 | - switch (strtoupper($l)) { |
|
293 | - case 'P': |
|
294 | - $ret *= 1024; |
|
295 | - case 'T': |
|
296 | - $ret *= 1024; |
|
297 | - case 'G': |
|
298 | - $ret *= 1024; |
|
299 | - case 'M': |
|
300 | - $ret *= 1024; |
|
301 | - case 'K': |
|
302 | - $ret *= 1024; |
|
303 | - } |
|
304 | - // phpcs:enable |
|
305 | - return $ret; |
|
306 | - } |
|
219 | + /** |
|
220 | + * Checks if site responds ot HTTPS |
|
221 | + * @return boolean |
|
222 | + */ |
|
223 | + public function get_https_enabled() |
|
224 | + { |
|
225 | + $home = str_replace("http://", "https://", home_url()); |
|
226 | + $response = wp_remote_get($home); |
|
227 | + if ($response instanceof WP_Error) { |
|
228 | + $error_string = ''; |
|
229 | + foreach ($response->errors as $short_name => $description_array) { |
|
230 | + $error_string .= "<b>$short_name</b>: " . implode(", ", $description_array); |
|
231 | + } |
|
232 | + return $error_string; |
|
233 | + } |
|
234 | + return "ok!"; |
|
235 | + } |
|
236 | + /** |
|
237 | + * Whether or not a .maintenance file is detected |
|
238 | + * @return string descripting wp_maintenance_mode status |
|
239 | + */ |
|
240 | + public function get_wp_maintenance_mode() |
|
241 | + { |
|
242 | + $opened = file_exists(ABSPATH . '.maintenance'); |
|
243 | + return $opened ? sprintf(__('%s.maintenance file detected.%s Wordpress may have a failed auto-update which could prevent Event Espresso from updating the database correctly.', 'event_espresso'), '<strong>', '</strong>') : __('.maintenance file not detected. WordPress is not in maintenance mode.', 'event_espresso') ; |
|
244 | + } |
|
245 | + /** |
|
246 | + * Whether or not logging is enabled |
|
247 | + * @return string descripting logging's status |
|
248 | + */ |
|
249 | + public function get_logging_enabled() |
|
250 | + { |
|
251 | + $opened = @fopen(EVENT_ESPRESSO_UPLOAD_DIR . '/logs/espresso_log.txt', 'a'); |
|
252 | + return $opened ? __('Log Directory is writable', 'event_espresso') : sprintf(__('%sLog directory is NOT writable%s', 'event_espresso'), '<mark class="error"', '</mark>') ; |
|
253 | + } |
|
254 | + /** |
|
255 | + * Whether curl ro fsock works |
|
256 | + * @return string describing posting's status |
|
257 | + */ |
|
258 | + public function get_remote_posting() |
|
259 | + { |
|
260 | + $fsock_works = function_exists('fsockopen'); |
|
261 | + $curl_works = function_exists('curl_init'); |
|
262 | + if ($fsock_works && $curl_works) { |
|
263 | + $status = __('Your server has fsockopen and cURL enabled.', 'event_espresso'); |
|
264 | + } elseif ($fsock_works) { |
|
265 | + $status = __('Your server has fsockopen enabled, cURL is disabled.', 'event_espresso'); |
|
266 | + } elseif ($curl_works) { |
|
267 | + $status = __('Your server has cURL enabled, fsockopen is disabled.', 'event_espresso'); |
|
268 | + } else { |
|
269 | + $status = __('Your server does not have fsockopen or cURL enabled - PayPal IPN and other scripts which communicate with other servers will not work. Contact your hosting provider.', 'event_espresso') . '</mark>'; |
|
270 | + } |
|
271 | + return $status; |
|
272 | + } |
|
273 | + /** |
|
274 | + * Gets all the php.ini settings |
|
275 | + * @return array |
|
276 | + */ |
|
277 | + public function get_php_ini_all() |
|
278 | + { |
|
279 | + return ini_get_all(); |
|
280 | + } |
|
281 | + /** |
|
282 | + * Transforms the php.ini notation for numbers (like '2M') to an integer. |
|
283 | + * |
|
284 | + * @param type $size |
|
285 | + * @return int |
|
286 | + */ |
|
287 | + public function let_to_num($size) |
|
288 | + { |
|
289 | + $l = substr($size, -1); |
|
290 | + $ret = substr($size, 0, -1); |
|
291 | + // phpcs:disable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment |
|
292 | + switch (strtoupper($l)) { |
|
293 | + case 'P': |
|
294 | + $ret *= 1024; |
|
295 | + case 'T': |
|
296 | + $ret *= 1024; |
|
297 | + case 'G': |
|
298 | + $ret *= 1024; |
|
299 | + case 'M': |
|
300 | + $ret *= 1024; |
|
301 | + case 'K': |
|
302 | + $ret *= 1024; |
|
303 | + } |
|
304 | + // phpcs:enable |
|
305 | + return $ret; |
|
306 | + } |
|
307 | 307 | } |
@@ -97,9 +97,9 @@ discard block |
||
97 | 97 | $active_plugins = array_map('strtolower', $active_plugins); |
98 | 98 | $plugin_info = array(); |
99 | 99 | foreach ($active_plugins as $plugin) { |
100 | - $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); |
|
100 | + $plugin_data = @get_plugin_data(WP_PLUGIN_DIR.'/'.$plugin); |
|
101 | 101 | |
102 | - $plugin_info[ $plugin ] = $plugin_data; |
|
102 | + $plugin_info[$plugin] = $plugin_data; |
|
103 | 103 | } |
104 | 104 | return $plugin_info; |
105 | 105 | } |
@@ -112,9 +112,9 @@ discard block |
||
112 | 112 | { |
113 | 113 | $wp_memory_int = $this->let_to_num(WP_MEMORY_LIMIT); |
114 | 114 | if ($wp_memory_int < 67108864) { |
115 | - $wp_memory_to_display = '<mark class="error">' . sprintf(__('%s - We recommend setting memory to at least 64MB. See: %s Increasing memory allocated to PHP %s', 'event_espresso'), WP_MEMORY_LIMIT, '<a href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">', '</a>"') . '</mark>'; |
|
115 | + $wp_memory_to_display = '<mark class="error">'.sprintf(__('%s - We recommend setting memory to at least 64MB. See: %s Increasing memory allocated to PHP %s', 'event_espresso'), WP_MEMORY_LIMIT, '<a href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">', '</a>"').'</mark>'; |
|
116 | 116 | } else { |
117 | - $wp_memory_to_display = '<mark class="yes">' . size_format($wp_memory_int) . '</mark>'; |
|
117 | + $wp_memory_to_display = '<mark class="yes">'.size_format($wp_memory_int).'</mark>'; |
|
118 | 118 | } |
119 | 119 | return array( |
120 | 120 | 'name' => get_bloginfo('name', 'display'), |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | $options = EE_Data_Migration_Manager::instance()->get_all_migration_script_options(); |
154 | 154 | $presentable_migration_scripts = array(); |
155 | 155 | foreach ($options as $option_array) { |
156 | - $presentable_migration_scripts[ str_replace(EE_Data_Migration_Manager::data_migration_script_option_prefix, "", $option_array['option_name']) ] = maybe_unserialize($option_array['option_value']); |
|
156 | + $presentable_migration_scripts[str_replace(EE_Data_Migration_Manager::data_migration_script_option_prefix, "", $option_array['option_name'])] = maybe_unserialize($option_array['option_value']); |
|
157 | 157 | } |
158 | 158 | return $presentable_migration_scripts; |
159 | 159 | // return get_option(EE_Data_Migration_Manager::data_migrations_option_name);//EE_Data_Migration_Manager::instance()->get_data_migrations_ran(); |
@@ -179,18 +179,18 @@ discard block |
||
179 | 179 | |
180 | 180 | $pi = preg_replace( |
181 | 181 | array('#^.*<body>(.*)</body>.*$#ms', '#<h2>PHP License</h2>.*$#ms', |
182 | - '#<h1>Configuration</h1>#', "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#', |
|
182 | + '#<h1>Configuration</h1>#', "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#', |
|
183 | 183 | "#[ \t]+#", '# #', '# +#', '# class=".*?"#', '%'%', |
184 | 184 | '#<tr>(?:.*?)" src="(?:.*?)=(.*?)" alt="PHP Logo" /></a>' |
185 | 185 | . '<h1>PHP Version (.*?)</h1>(?:\n+?)</td></tr>#', |
186 | 186 | '#<h1><a href="(?:.*?)\?=(.*?)">PHP Credits</a></h1>#', |
187 | 187 | '#<tr>(?:.*?)" src="(?:.*?)=(.*?)"(?:.*?)Zend Engine (.*?),(?:.*?)</tr>#', |
188 | 188 | "# +#", '#<tr>#', '#</tr>#'), |
189 | - array('$1', '', '', '', '</$1>' . "\n", '<', ' ', ' ', ' ', '', ' ', |
|
190 | - '<h2>PHP Configuration</h2>' . "\n" . '<tr><td>PHP Version</td><td>$2</td></tr>' . |
|
191 | - "\n" . '<tr><td>PHP Egg</td><td>$1</td></tr>', |
|
189 | + array('$1', '', '', '', '</$1>'."\n", '<', ' ', ' ', ' ', '', ' ', |
|
190 | + '<h2>PHP Configuration</h2>'."\n".'<tr><td>PHP Version</td><td>$2</td></tr>'. |
|
191 | + "\n".'<tr><td>PHP Egg</td><td>$1</td></tr>', |
|
192 | 192 | '<tr><td>PHP Credits Egg</td><td>$1</td></tr>', |
193 | - '<tr><td>Zend Engine</td><td>$2</td></tr>' . "\n" . |
|
193 | + '<tr><td>Zend Engine</td><td>$2</td></tr>'."\n". |
|
194 | 194 | '<tr><td>Zend Egg</td><td>$1</td></tr>', ' ', '%S%', '%E%'), |
195 | 195 | ob_get_clean() |
196 | 196 | ); |
@@ -210,7 +210,7 @@ discard block |
||
210 | 210 | foreach ($askapache as $m) { |
211 | 211 | $m2 = isset($m[2]) ? $m[2] : null; |
212 | 212 | } |
213 | - $pi[ $n ][ $m[1] ] = (!isset($m[3]) || $m2 == $m[3]) ? $m2 : array_slice($m, 2); |
|
213 | + $pi[$n][$m[1]] = ( ! isset($m[3]) || $m2 == $m[3]) ? $m2 : array_slice($m, 2); |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | return $pi; |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | if ($response instanceof WP_Error) { |
228 | 228 | $error_string = ''; |
229 | 229 | foreach ($response->errors as $short_name => $description_array) { |
230 | - $error_string .= "<b>$short_name</b>: " . implode(", ", $description_array); |
|
230 | + $error_string .= "<b>$short_name</b>: ".implode(", ", $description_array); |
|
231 | 231 | } |
232 | 232 | return $error_string; |
233 | 233 | } |
@@ -239,8 +239,8 @@ discard block |
||
239 | 239 | */ |
240 | 240 | public function get_wp_maintenance_mode() |
241 | 241 | { |
242 | - $opened = file_exists(ABSPATH . '.maintenance'); |
|
243 | - return $opened ? sprintf(__('%s.maintenance file detected.%s Wordpress may have a failed auto-update which could prevent Event Espresso from updating the database correctly.', 'event_espresso'), '<strong>', '</strong>') : __('.maintenance file not detected. WordPress is not in maintenance mode.', 'event_espresso') ; |
|
242 | + $opened = file_exists(ABSPATH.'.maintenance'); |
|
243 | + return $opened ? sprintf(__('%s.maintenance file detected.%s Wordpress may have a failed auto-update which could prevent Event Espresso from updating the database correctly.', 'event_espresso'), '<strong>', '</strong>') : __('.maintenance file not detected. WordPress is not in maintenance mode.', 'event_espresso'); |
|
244 | 244 | } |
245 | 245 | /** |
246 | 246 | * Whether or not logging is enabled |
@@ -248,8 +248,8 @@ discard block |
||
248 | 248 | */ |
249 | 249 | public function get_logging_enabled() |
250 | 250 | { |
251 | - $opened = @fopen(EVENT_ESPRESSO_UPLOAD_DIR . '/logs/espresso_log.txt', 'a'); |
|
252 | - return $opened ? __('Log Directory is writable', 'event_espresso') : sprintf(__('%sLog directory is NOT writable%s', 'event_espresso'), '<mark class="error"', '</mark>') ; |
|
251 | + $opened = @fopen(EVENT_ESPRESSO_UPLOAD_DIR.'/logs/espresso_log.txt', 'a'); |
|
252 | + return $opened ? __('Log Directory is writable', 'event_espresso') : sprintf(__('%sLog directory is NOT writable%s', 'event_espresso'), '<mark class="error"', '</mark>'); |
|
253 | 253 | } |
254 | 254 | /** |
255 | 255 | * Whether curl ro fsock works |
@@ -266,7 +266,7 @@ discard block |
||
266 | 266 | } elseif ($curl_works) { |
267 | 267 | $status = __('Your server has cURL enabled, fsockopen is disabled.', 'event_espresso'); |
268 | 268 | } else { |
269 | - $status = __('Your server does not have fsockopen or cURL enabled - PayPal IPN and other scripts which communicate with other servers will not work. Contact your hosting provider.', 'event_espresso') . '</mark>'; |
|
269 | + $status = __('Your server does not have fsockopen or cURL enabled - PayPal IPN and other scripts which communicate with other servers will not work. Contact your hosting provider.', 'event_espresso').'</mark>'; |
|
270 | 270 | } |
271 | 271 | return $status; |
272 | 272 | } |
@@ -32,8 +32,6 @@ |
||
32 | 32 | * ) |
33 | 33 | * ) |
34 | 34 | * @link http://codex.wordpress.org/Function_Reference/register_post_status for more info |
35 | - * @param boolean $store_in_db_as_int By default, enums are stored as STRINGS in the DB. However, if this var is |
|
36 | - * set to true, it will be stored as an INT |
|
37 | 35 | */ |
38 | 36 | public function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()) |
39 | 37 | { |
@@ -3,114 +3,114 @@ |
||
3 | 3 | class EE_WP_Post_Status_Field extends EE_Enum_Text_Field |
4 | 4 | { |
5 | 5 | |
6 | - protected $_wp_post_stati; |
|
6 | + protected $_wp_post_stati; |
|
7 | 7 | |
8 | 8 | |
9 | - /** |
|
10 | - * constructor |
|
11 | - * |
|
12 | - * @param string $table_column column on table |
|
13 | - * @param string $nicename nice name for column(field) |
|
14 | - * @param bool $nullable is this field nullable |
|
15 | - * @param string $default_value default status |
|
16 | - * @param array $new_stati If additional stati are to be used other than the default WP statuses then |
|
17 | - * they can be registered via this property. The format of the array should be |
|
18 | - * as follows: array( |
|
19 | - * 'status_reference' => array( |
|
20 | - * 'label' => __('Status Reference Label', 'event_espresso') |
|
21 | - * 'public' => true, //'Whether posts of this status should be shown on the |
|
22 | - * frontend of the site' |
|
23 | - * 'exclude_from_search' => false, //'Whether posts of this status should be |
|
24 | - * excluded from wp searches' |
|
25 | - * 'show_in_admin_all_list' => true, //whether posts of this status are included |
|
26 | - * in queries for the admin "all" view in list table views. |
|
27 | - * 'show_in_admin_status_list' => true, //Show in the list of statuses with post |
|
28 | - * counts at the top of the admin list tables (i.e. Status Reference(2) ) |
|
29 | - * 'label_count' => _n_noop( 'Status Reference <span class="count">(%s)</span>', |
|
30 | - * 'Status References <span class="count">(%s)</span>' ), //the text to display |
|
31 | - * on the admin screen( or you won't see your status count ). |
|
32 | - * ) |
|
33 | - * ) |
|
34 | - * @link http://codex.wordpress.org/Function_Reference/register_post_status for more info |
|
35 | - * @param boolean $store_in_db_as_int By default, enums are stored as STRINGS in the DB. However, if this var is |
|
36 | - * set to true, it will be stored as an INT |
|
37 | - */ |
|
38 | - public function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()) |
|
39 | - { |
|
40 | - $this->_register_new_stati($new_stati); |
|
41 | - $this->_set_allowed_enum_values(); |
|
42 | - parent::__construct($table_column, $nicename, $nullable, $default_value, $this->_allowed_enum_values); |
|
43 | - } |
|
9 | + /** |
|
10 | + * constructor |
|
11 | + * |
|
12 | + * @param string $table_column column on table |
|
13 | + * @param string $nicename nice name for column(field) |
|
14 | + * @param bool $nullable is this field nullable |
|
15 | + * @param string $default_value default status |
|
16 | + * @param array $new_stati If additional stati are to be used other than the default WP statuses then |
|
17 | + * they can be registered via this property. The format of the array should be |
|
18 | + * as follows: array( |
|
19 | + * 'status_reference' => array( |
|
20 | + * 'label' => __('Status Reference Label', 'event_espresso') |
|
21 | + * 'public' => true, //'Whether posts of this status should be shown on the |
|
22 | + * frontend of the site' |
|
23 | + * 'exclude_from_search' => false, //'Whether posts of this status should be |
|
24 | + * excluded from wp searches' |
|
25 | + * 'show_in_admin_all_list' => true, //whether posts of this status are included |
|
26 | + * in queries for the admin "all" view in list table views. |
|
27 | + * 'show_in_admin_status_list' => true, //Show in the list of statuses with post |
|
28 | + * counts at the top of the admin list tables (i.e. Status Reference(2) ) |
|
29 | + * 'label_count' => _n_noop( 'Status Reference <span class="count">(%s)</span>', |
|
30 | + * 'Status References <span class="count">(%s)</span>' ), //the text to display |
|
31 | + * on the admin screen( or you won't see your status count ). |
|
32 | + * ) |
|
33 | + * ) |
|
34 | + * @link http://codex.wordpress.org/Function_Reference/register_post_status for more info |
|
35 | + * @param boolean $store_in_db_as_int By default, enums are stored as STRINGS in the DB. However, if this var is |
|
36 | + * set to true, it will be stored as an INT |
|
37 | + */ |
|
38 | + public function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()) |
|
39 | + { |
|
40 | + $this->_register_new_stati($new_stati); |
|
41 | + $this->_set_allowed_enum_values(); |
|
42 | + parent::__construct($table_column, $nicename, $nullable, $default_value, $this->_allowed_enum_values); |
|
43 | + } |
|
44 | 44 | |
45 | 45 | |
46 | - /** |
|
47 | - * This registers any new statuses sent via the $new_stati array on construct |
|
48 | - * |
|
49 | - * @access protected |
|
50 | - * @param array $new_stati statuses |
|
51 | - * @return void |
|
52 | - */ |
|
53 | - protected function _register_new_stati($new_stati) |
|
54 | - { |
|
46 | + /** |
|
47 | + * This registers any new statuses sent via the $new_stati array on construct |
|
48 | + * |
|
49 | + * @access protected |
|
50 | + * @param array $new_stati statuses |
|
51 | + * @return void |
|
52 | + */ |
|
53 | + protected function _register_new_stati($new_stati) |
|
54 | + { |
|
55 | 55 | |
56 | - foreach ((array) $new_stati as $status_key => $status_args) { |
|
57 | - $args = array( |
|
58 | - 'label' => isset($status_args['label']) ? $status_args['label'] : $status_key, |
|
59 | - 'public' => isset($status_args['public']) && is_bool($status_args['public']) ? $status_args['public'] : true, |
|
60 | - 'exclude_from_search' => isset($status_args['exclude_from_search']) && is_bool($status_args['exclude_from_search']) ? $status_args['exclude_from_search'] : false, |
|
61 | - 'show_in_admin_all_list' => isset($status_args['show_in_admin_all_list']) && is_bool($status_args['show_in_admin_all_list']) ? $status_args['show_in_admin_all_list'] : false, |
|
62 | - 'show_in_admin_status_list' => isset($status_args['show_in_admin_status_list']) && is_bool($status_args['show_in_admin_status_list']) ? $status_args['show_in_admin_status_list'] : true, |
|
63 | - 'label_count' => isset($status_args['label_count']) ? $status_args['label_count'] : '', |
|
64 | - ); |
|
65 | - register_post_status($status_key, $status_args); |
|
66 | - } |
|
67 | - } |
|
56 | + foreach ((array) $new_stati as $status_key => $status_args) { |
|
57 | + $args = array( |
|
58 | + 'label' => isset($status_args['label']) ? $status_args['label'] : $status_key, |
|
59 | + 'public' => isset($status_args['public']) && is_bool($status_args['public']) ? $status_args['public'] : true, |
|
60 | + 'exclude_from_search' => isset($status_args['exclude_from_search']) && is_bool($status_args['exclude_from_search']) ? $status_args['exclude_from_search'] : false, |
|
61 | + 'show_in_admin_all_list' => isset($status_args['show_in_admin_all_list']) && is_bool($status_args['show_in_admin_all_list']) ? $status_args['show_in_admin_all_list'] : false, |
|
62 | + 'show_in_admin_status_list' => isset($status_args['show_in_admin_status_list']) && is_bool($status_args['show_in_admin_status_list']) ? $status_args['show_in_admin_status_list'] : true, |
|
63 | + 'label_count' => isset($status_args['label_count']) ? $status_args['label_count'] : '', |
|
64 | + ); |
|
65 | + register_post_status($status_key, $status_args); |
|
66 | + } |
|
67 | + } |
|
68 | 68 | |
69 | 69 | |
70 | - /** |
|
71 | - * This sets the _allowed_enum_values property using the $wp_post_stati array |
|
72 | - * |
|
73 | - * @access protected |
|
74 | - * @regurn void |
|
75 | - */ |
|
76 | - protected function _set_allowed_enum_values() |
|
77 | - { |
|
78 | - // first let's get the post_statuses |
|
79 | - global $wp_post_statuses; |
|
80 | - $this->_wp_post_stati = $wp_post_statuses; |
|
70 | + /** |
|
71 | + * This sets the _allowed_enum_values property using the $wp_post_stati array |
|
72 | + * |
|
73 | + * @access protected |
|
74 | + * @regurn void |
|
75 | + */ |
|
76 | + protected function _set_allowed_enum_values() |
|
77 | + { |
|
78 | + // first let's get the post_statuses |
|
79 | + global $wp_post_statuses; |
|
80 | + $this->_wp_post_stati = $wp_post_statuses; |
|
81 | 81 | |
82 | - foreach ($this->_wp_post_stati as $post_status => $args_object) { |
|
83 | - $this->_allowed_enum_values[ $post_status ] = $args_object->label; |
|
84 | - } |
|
85 | - } |
|
82 | + foreach ($this->_wp_post_stati as $post_status => $args_object) { |
|
83 | + $this->_allowed_enum_values[ $post_status ] = $args_object->label; |
|
84 | + } |
|
85 | + } |
|
86 | 86 | |
87 | - /** |
|
88 | - * Before calling parent, first double-checks our list of acceptable post |
|
89 | - * types is up-to-date |
|
90 | - * |
|
91 | - * @param string $value_inputted_for_field_on_model_object |
|
92 | - * @return string |
|
93 | - */ |
|
94 | - public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
95 | - { |
|
96 | - $this->_set_allowed_enum_values(); |
|
97 | - return parent::prepare_for_set($value_inputted_for_field_on_model_object); |
|
98 | - } |
|
87 | + /** |
|
88 | + * Before calling parent, first double-checks our list of acceptable post |
|
89 | + * types is up-to-date |
|
90 | + * |
|
91 | + * @param string $value_inputted_for_field_on_model_object |
|
92 | + * @return string |
|
93 | + */ |
|
94 | + public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
95 | + { |
|
96 | + $this->_set_allowed_enum_values(); |
|
97 | + return parent::prepare_for_set($value_inputted_for_field_on_model_object); |
|
98 | + } |
|
99 | 99 | |
100 | 100 | |
101 | 101 | |
102 | - // helper methods for getting various $wp_post_statuses stuff. |
|
102 | + // helper methods for getting various $wp_post_statuses stuff. |
|
103 | 103 | |
104 | - /** |
|
105 | - * This just returns the status object for the given status |
|
106 | - * |
|
107 | - * @access public |
|
108 | - * @see wp_register_post_status in wp-includes/post.php for a list of properties of the status object |
|
109 | - * @param string $status What status object you want |
|
110 | - * @return std_object the status object or FALSE if it doesn't exist. |
|
111 | - */ |
|
112 | - public function get_status_object($status) |
|
113 | - { |
|
114 | - return isset($this->_wp_post_stati[ $status ]) ? $this->_wp_post_stati[ $status ] : false; |
|
115 | - } |
|
104 | + /** |
|
105 | + * This just returns the status object for the given status |
|
106 | + * |
|
107 | + * @access public |
|
108 | + * @see wp_register_post_status in wp-includes/post.php for a list of properties of the status object |
|
109 | + * @param string $status What status object you want |
|
110 | + * @return std_object the status object or FALSE if it doesn't exist. |
|
111 | + */ |
|
112 | + public function get_status_object($status) |
|
113 | + { |
|
114 | + return isset($this->_wp_post_stati[ $status ]) ? $this->_wp_post_stati[ $status ] : false; |
|
115 | + } |
|
116 | 116 | } |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | $this->_wp_post_stati = $wp_post_statuses; |
81 | 81 | |
82 | 82 | foreach ($this->_wp_post_stati as $post_status => $args_object) { |
83 | - $this->_allowed_enum_values[ $post_status ] = $args_object->label; |
|
83 | + $this->_allowed_enum_values[$post_status] = $args_object->label; |
|
84 | 84 | } |
85 | 85 | } |
86 | 86 | |
@@ -111,6 +111,6 @@ discard block |
||
111 | 111 | */ |
112 | 112 | public function get_status_object($status) |
113 | 113 | { |
114 | - return isset($this->_wp_post_stati[ $status ]) ? $this->_wp_post_stati[ $status ] : false; |
|
114 | + return isset($this->_wp_post_stati[$status]) ? $this->_wp_post_stati[$status] : false; |
|
115 | 115 | } |
116 | 116 | } |
@@ -44,19 +44,33 @@ discard block |
||
44 | 44 | |
45 | 45 | private $_group_by_sql; |
46 | 46 | |
47 | + /** |
|
48 | + * @param string $limit_sql |
|
49 | + */ |
|
47 | 50 | public function set_limit_sql($limit_sql) |
48 | 51 | { |
49 | 52 | $this->_limit_sql = $limit_sql; |
50 | 53 | } |
51 | 54 | |
55 | + /** |
|
56 | + * @param string $order_by_sql |
|
57 | + */ |
|
52 | 58 | public function set_order_by_sql($order_by_sql) |
53 | 59 | { |
54 | 60 | $this->_order_by_sql = $order_by_sql; |
55 | 61 | } |
62 | + |
|
63 | + /** |
|
64 | + * @param string $group_by_sql |
|
65 | + */ |
|
56 | 66 | public function set_group_by_sql($group_by_sql) |
57 | 67 | { |
58 | 68 | $this->_group_by_sql = $group_by_sql; |
59 | 69 | } |
70 | + |
|
71 | + /** |
|
72 | + * @param string $having_sql |
|
73 | + */ |
|
60 | 74 | public function set_having_sql($having_sql) |
61 | 75 | { |
62 | 76 | $this->_having_sql = $having_sql; |
@@ -81,7 +95,6 @@ discard block |
||
81 | 95 | * |
82 | 96 | * @param type $model_included_name |
83 | 97 | * @param type $join_sql |
84 | - * @param type $data_types |
|
85 | 98 | */ |
86 | 99 | public function __construct($model_included_name = array(), $join_sql = '') |
87 | 100 | { |
@@ -14,141 +14,141 @@ discard block |
||
14 | 14 | /** |
15 | 15 | * @var string SQL for performing joins (Eg, "INNER JOIN blah ON blah=blah INNER JOIN FOO ON foo=foo...") |
16 | 16 | */ |
17 | - private $_join_sql; |
|
17 | + private $_join_sql; |
|
18 | 18 | /** |
19 | 19 | * |
20 | 20 | * @var array stating all the models that have been included thus far,so we don't get duplicates. |
21 | 21 | * Keys are the model relation chains to them from the queried model |
22 | 22 | * (eg, "Registration.Transaction.Payment"), and valuesare model names (eg "Payment") |
23 | 23 | */ |
24 | - private $_models_included; |
|
24 | + private $_models_included; |
|
25 | 25 | |
26 | 26 | /** |
27 | 27 | * After we've acquired all the data types, we can create this sql. |
28 | 28 | * @var string |
29 | 29 | */ |
30 | - private $_where_sql; |
|
30 | + private $_where_sql; |
|
31 | 31 | /** |
32 | 32 | * Full join sql. Eg, in a select query, that's everything after the "FROM", and before the "WHERE", so it includes |
33 | 33 | * the declaration of the main model's tables, and then appends all the joining sql to other models |
34 | 34 | * @var string |
35 | 35 | */ |
36 | - private $_main_join_sql; |
|
36 | + private $_main_join_sql; |
|
37 | 37 | |
38 | 38 | |
39 | - private $_limit_sql; |
|
39 | + private $_limit_sql; |
|
40 | 40 | |
41 | - private $_order_by_sql; |
|
41 | + private $_order_by_sql; |
|
42 | 42 | |
43 | - private $_having_sql; |
|
43 | + private $_having_sql; |
|
44 | 44 | |
45 | - private $_group_by_sql; |
|
45 | + private $_group_by_sql; |
|
46 | 46 | |
47 | - public function set_limit_sql($limit_sql) |
|
48 | - { |
|
49 | - $this->_limit_sql = $limit_sql; |
|
50 | - } |
|
47 | + public function set_limit_sql($limit_sql) |
|
48 | + { |
|
49 | + $this->_limit_sql = $limit_sql; |
|
50 | + } |
|
51 | 51 | |
52 | - public function set_order_by_sql($order_by_sql) |
|
53 | - { |
|
54 | - $this->_order_by_sql = $order_by_sql; |
|
55 | - } |
|
56 | - public function set_group_by_sql($group_by_sql) |
|
57 | - { |
|
58 | - $this->_group_by_sql = $group_by_sql; |
|
59 | - } |
|
60 | - public function set_having_sql($having_sql) |
|
61 | - { |
|
62 | - $this->_having_sql = $having_sql; |
|
63 | - } |
|
64 | - public function get_limit_sql() |
|
65 | - { |
|
66 | - return $this->_limit_sql; |
|
67 | - } |
|
68 | - public function get_order_by_sql() |
|
69 | - { |
|
70 | - return $this->_order_by_sql; |
|
71 | - } |
|
72 | - public function get_group_by_sql() |
|
73 | - { |
|
74 | - return $this->_group_by_sql; |
|
75 | - } |
|
76 | - public function get_having_sql() |
|
77 | - { |
|
78 | - return $this->_having_sql; |
|
79 | - } |
|
52 | + public function set_order_by_sql($order_by_sql) |
|
53 | + { |
|
54 | + $this->_order_by_sql = $order_by_sql; |
|
55 | + } |
|
56 | + public function set_group_by_sql($group_by_sql) |
|
57 | + { |
|
58 | + $this->_group_by_sql = $group_by_sql; |
|
59 | + } |
|
60 | + public function set_having_sql($having_sql) |
|
61 | + { |
|
62 | + $this->_having_sql = $having_sql; |
|
63 | + } |
|
64 | + public function get_limit_sql() |
|
65 | + { |
|
66 | + return $this->_limit_sql; |
|
67 | + } |
|
68 | + public function get_order_by_sql() |
|
69 | + { |
|
70 | + return $this->_order_by_sql; |
|
71 | + } |
|
72 | + public function get_group_by_sql() |
|
73 | + { |
|
74 | + return $this->_group_by_sql; |
|
75 | + } |
|
76 | + public function get_having_sql() |
|
77 | + { |
|
78 | + return $this->_having_sql; |
|
79 | + } |
|
80 | 80 | /** |
81 | 81 | * |
82 | 82 | * @param type $model_included_name |
83 | 83 | * @param type $join_sql |
84 | 84 | * @param type $data_types |
85 | 85 | */ |
86 | - public function __construct($model_included_name = array(), $join_sql = '') |
|
87 | - { |
|
88 | - $this->_models_included = $model_included_name; |
|
89 | - $this->_join_sql = $join_sql; |
|
90 | - } |
|
86 | + public function __construct($model_included_name = array(), $join_sql = '') |
|
87 | + { |
|
88 | + $this->_models_included = $model_included_name; |
|
89 | + $this->_join_sql = $join_sql; |
|
90 | + } |
|
91 | 91 | |
92 | 92 | /** |
93 | 93 | * Merges info from the other EEM_Related_Model_Info_Carrier into this one. |
94 | 94 | * @param EE_Model_Query_Info_Carrier $other_model_query_info_carrier |
95 | 95 | */ |
96 | - public function merge($other_model_query_info_carrier) |
|
97 | - { |
|
98 | - if ($other_model_query_info_carrier && ! $this->_have_already_included_one_of_these_models($other_model_query_info_carrier->get_model_names_included())) { |
|
99 | - $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
100 | - $this->_models_included = array_merge($this->_models_included, $model_included_on_other_join_sql_and_data_types_carrier); |
|
101 | - $this->_join_sql .= $other_model_query_info_carrier->_join_sql; |
|
102 | - } |
|
103 | - // otherwise don't merge our data. |
|
104 | - // yes, this means that we must immediately merge any model data into our grand list |
|
105 | - // as soon as we get some from ONE model, or else we could reject a EEM_Related_Model_Info_Carrier |
|
106 | - // which is carrying info from two models WHERE one is already included but the other is NOT |
|
107 | - } |
|
96 | + public function merge($other_model_query_info_carrier) |
|
97 | + { |
|
98 | + if ($other_model_query_info_carrier && ! $this->_have_already_included_one_of_these_models($other_model_query_info_carrier->get_model_names_included())) { |
|
99 | + $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
100 | + $this->_models_included = array_merge($this->_models_included, $model_included_on_other_join_sql_and_data_types_carrier); |
|
101 | + $this->_join_sql .= $other_model_query_info_carrier->_join_sql; |
|
102 | + } |
|
103 | + // otherwise don't merge our data. |
|
104 | + // yes, this means that we must immediately merge any model data into our grand list |
|
105 | + // as soon as we get some from ONE model, or else we could reject a EEM_Related_Model_Info_Carrier |
|
106 | + // which is carrying info from two models WHERE one is already included but the other is NOT |
|
107 | + } |
|
108 | 108 | /** |
109 | 109 | * Checks whether or not we have already included all the models mentione din $model_names on the query info varrier |
110 | 110 | * @param array $model_names just like EE_MOdel_QUery_Info_Carrier::_models_included: keys are model chain paths, values are the model names only |
111 | 111 | * @return boolean |
112 | 112 | */ |
113 | - protected function _have_already_included_one_of_these_models($model_names) |
|
114 | - { |
|
115 | - foreach ($this->_models_included as $model_relation_path => $model_included) { |
|
116 | - if (array_key_exists($model_relation_path, $model_names)) { |
|
117 | - return true; |
|
118 | - } |
|
119 | - } |
|
120 | - return false; |
|
121 | - } |
|
113 | + protected function _have_already_included_one_of_these_models($model_names) |
|
114 | + { |
|
115 | + foreach ($this->_models_included as $model_relation_path => $model_included) { |
|
116 | + if (array_key_exists($model_relation_path, $model_names)) { |
|
117 | + return true; |
|
118 | + } |
|
119 | + } |
|
120 | + return false; |
|
121 | + } |
|
122 | 122 | /** |
123 | 123 | * Array keys are model names, values are "model relation paths". See EE_Model_Query_Info_Carrier::_models_included for details |
124 | 124 | * @return array like EE_Model_Query_Info_Carrier::_models_included |
125 | 125 | */ |
126 | - public function get_model_names_included() |
|
127 | - { |
|
128 | - return $this->_models_included; |
|
129 | - } |
|
126 | + public function get_model_names_included() |
|
127 | + { |
|
128 | + return $this->_models_included; |
|
129 | + } |
|
130 | 130 | /** |
131 | 131 | * sets the $where_sql for later use from client code |
132 | 132 | * @param string $where_sql |
133 | 133 | */ |
134 | - public function set_where_sql($where_sql) |
|
135 | - { |
|
136 | - $this->_where_sql = $where_sql; |
|
137 | - } |
|
138 | - public function get_where_sql() |
|
139 | - { |
|
140 | - return $this->_where_sql; |
|
141 | - } |
|
134 | + public function set_where_sql($where_sql) |
|
135 | + { |
|
136 | + $this->_where_sql = $where_sql; |
|
137 | + } |
|
138 | + public function get_where_sql() |
|
139 | + { |
|
140 | + return $this->_where_sql; |
|
141 | + } |
|
142 | 142 | |
143 | 143 | /** |
144 | 144 | * Gets the SQL for joining the main model to other models involves in the query, which was set earlier on |
145 | 145 | * the EE_Model_Query_info_Carrier by calling set_main_model_join_sql() |
146 | 146 | * @return string |
147 | 147 | */ |
148 | - public function get_main_model_join_sql() |
|
149 | - { |
|
150 | - return $this->_main_join_sql; |
|
151 | - } |
|
148 | + public function get_main_model_join_sql() |
|
149 | + { |
|
150 | + return $this->_main_join_sql; |
|
151 | + } |
|
152 | 152 | |
153 | 153 | |
154 | 154 | /** |
@@ -158,12 +158,12 @@ discard block |
||
158 | 158 | * after the FROM and before the WHERE.) |
159 | 159 | * @param string $join_sql |
160 | 160 | */ |
161 | - public function set_main_model_join_sql($join_sql) |
|
162 | - { |
|
163 | - $this->_main_join_sql = $join_sql; |
|
164 | - } |
|
165 | - public function get_full_join_sql() |
|
166 | - { |
|
167 | - return $this->_main_join_sql . $this->_join_sql; |
|
168 | - } |
|
161 | + public function set_main_model_join_sql($join_sql) |
|
162 | + { |
|
163 | + $this->_main_join_sql = $join_sql; |
|
164 | + } |
|
165 | + public function get_full_join_sql() |
|
166 | + { |
|
167 | + return $this->_main_join_sql . $this->_join_sql; |
|
168 | + } |
|
169 | 169 | } |
@@ -96,7 +96,7 @@ discard block |
||
96 | 96 | public function merge($other_model_query_info_carrier) |
97 | 97 | { |
98 | 98 | if ($other_model_query_info_carrier && ! $this->_have_already_included_one_of_these_models($other_model_query_info_carrier->get_model_names_included())) { |
99 | - $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
99 | + $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
100 | 100 | $this->_models_included = array_merge($this->_models_included, $model_included_on_other_join_sql_and_data_types_carrier); |
101 | 101 | $this->_join_sql .= $other_model_query_info_carrier->_join_sql; |
102 | 102 | } |
@@ -164,6 +164,6 @@ discard block |
||
164 | 164 | } |
165 | 165 | public function get_full_join_sql() |
166 | 166 | { |
167 | - return $this->_main_join_sql . $this->_join_sql; |
|
167 | + return $this->_main_join_sql.$this->_join_sql; |
|
168 | 168 | } |
169 | 169 | } |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | * creates join statement FROM primary table |
55 | 55 | * gets SQL like "LEFT JOIN table_name AS table_alias ON other_table_alias.pk = table_alias.fk |
56 | 56 | * |
57 | - * @param string $table allows us to set special conditions on the $table_name portion of the join query (i.e. doing a subquery) |
|
57 | + * @param string $primary_table_alias_with_model_chain_prefix |
|
58 | 58 | * @return string of SQL |
59 | 59 | */ |
60 | 60 | public function get_join_sql($primary_table_alias_with_model_chain_prefix) |
@@ -78,6 +78,7 @@ discard block |
||
78 | 78 | * " LEFT JOIN secondary_table_table AS Secondary ON ..." like get_join_sql, this function returns |
79 | 79 | * " LEFT JOIN primary_table AS Primary ON ...". |
80 | 80 | * This is useful if the secondary table is already included in the SQL, but the primary table is not yet. |
81 | + * @param string $secondary_table_alias_with_model_chain_prefix |
|
81 | 82 | * @return string |
82 | 83 | */ |
83 | 84 | public function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix) |
@@ -8,118 +8,118 @@ |
||
8 | 8 | */ |
9 | 9 | class EE_Secondary_Table extends EE_Table_Base |
10 | 10 | { |
11 | - protected $_extra_join_conditions; |
|
11 | + protected $_extra_join_conditions; |
|
12 | 12 | |
13 | - /** |
|
14 | - * |
|
15 | - * @global type $wpdb |
|
16 | - * @param string $table_name with or without wpdb prefix |
|
17 | - * @param string $pk_column name of primary key column on THIS table |
|
18 | - * @param string $fk_column the name of the COLUMN that is a foreign key to the primary table's primary key |
|
19 | - * @param string $extra_join_conditions string for additional SQL to add onto the join statement's ON condition |
|
20 | - * @param boolean $global whether the table is "global" as in there is only 1 table on an entire multisite install, |
|
21 | - * or whether each site on a multisite install has a copy of this table |
|
22 | - */ |
|
23 | - public function __construct($table_name, $pk_column, $fk_column = null, $extra_join_conditions = null, $global = false) |
|
24 | - { |
|
25 | - $this->_fk_on_table = $fk_column; |
|
26 | - $this->_extra_join_conditions = $extra_join_conditions; |
|
27 | - parent::__construct($table_name, $pk_column, $global); |
|
28 | - } |
|
29 | - public function get_fk_on_table() |
|
30 | - { |
|
31 | - return $this->_fk_on_table; |
|
32 | - } |
|
33 | - public function _construct_finalize_set_table_to_join_with(EE_Table_Base $table) |
|
34 | - { |
|
35 | - $this->_table_to_join_with = $table; |
|
36 | - } |
|
37 | - /** |
|
38 | - * |
|
39 | - * @return string of sql like "Event.post_type = 'event'", which gets added to |
|
40 | - * the end of the join statement with the primary table |
|
41 | - */ |
|
42 | - public function get_extra_join_conditions() |
|
43 | - { |
|
44 | - return $this->_extra_join_conditions; |
|
45 | - } |
|
46 | - /** |
|
47 | - * |
|
48 | - * @return EE_Primary_Table |
|
49 | - */ |
|
50 | - public function get_table_to_join_with() |
|
51 | - { |
|
52 | - return $this->_table_to_join_with; |
|
53 | - } |
|
54 | - /** |
|
55 | - * creates join statement FROM primary table |
|
56 | - * gets SQL like "LEFT JOIN table_name AS table_alias ON other_table_alias.pk = table_alias.fk |
|
57 | - * |
|
58 | - * @param string $table allows us to set special conditions on the $table_name portion of the join query (i.e. doing a subquery) |
|
59 | - * @return string of SQL |
|
60 | - */ |
|
61 | - public function get_join_sql($primary_table_alias_with_model_chain_prefix) |
|
62 | - { |
|
13 | + /** |
|
14 | + * |
|
15 | + * @global type $wpdb |
|
16 | + * @param string $table_name with or without wpdb prefix |
|
17 | + * @param string $pk_column name of primary key column on THIS table |
|
18 | + * @param string $fk_column the name of the COLUMN that is a foreign key to the primary table's primary key |
|
19 | + * @param string $extra_join_conditions string for additional SQL to add onto the join statement's ON condition |
|
20 | + * @param boolean $global whether the table is "global" as in there is only 1 table on an entire multisite install, |
|
21 | + * or whether each site on a multisite install has a copy of this table |
|
22 | + */ |
|
23 | + public function __construct($table_name, $pk_column, $fk_column = null, $extra_join_conditions = null, $global = false) |
|
24 | + { |
|
25 | + $this->_fk_on_table = $fk_column; |
|
26 | + $this->_extra_join_conditions = $extra_join_conditions; |
|
27 | + parent::__construct($table_name, $pk_column, $global); |
|
28 | + } |
|
29 | + public function get_fk_on_table() |
|
30 | + { |
|
31 | + return $this->_fk_on_table; |
|
32 | + } |
|
33 | + public function _construct_finalize_set_table_to_join_with(EE_Table_Base $table) |
|
34 | + { |
|
35 | + $this->_table_to_join_with = $table; |
|
36 | + } |
|
37 | + /** |
|
38 | + * |
|
39 | + * @return string of sql like "Event.post_type = 'event'", which gets added to |
|
40 | + * the end of the join statement with the primary table |
|
41 | + */ |
|
42 | + public function get_extra_join_conditions() |
|
43 | + { |
|
44 | + return $this->_extra_join_conditions; |
|
45 | + } |
|
46 | + /** |
|
47 | + * |
|
48 | + * @return EE_Primary_Table |
|
49 | + */ |
|
50 | + public function get_table_to_join_with() |
|
51 | + { |
|
52 | + return $this->_table_to_join_with; |
|
53 | + } |
|
54 | + /** |
|
55 | + * creates join statement FROM primary table |
|
56 | + * gets SQL like "LEFT JOIN table_name AS table_alias ON other_table_alias.pk = table_alias.fk |
|
57 | + * |
|
58 | + * @param string $table allows us to set special conditions on the $table_name portion of the join query (i.e. doing a subquery) |
|
59 | + * @return string of SQL |
|
60 | + */ |
|
61 | + public function get_join_sql($primary_table_alias_with_model_chain_prefix) |
|
62 | + { |
|
63 | 63 | |
64 | - $table_name = $this->get_table_name(); |
|
65 | - $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix) . $this->get_table_alias(); |
|
66 | - $other_table_pk = $this->get_table_to_join_with()->get_pk_column(); |
|
67 | - $fk = $this->get_fk_on_table(); |
|
68 | - $join_sql = " LEFT JOIN $table_name AS $secondary_table_alias ON $primary_table_alias_with_model_chain_prefix.$other_table_pk = $secondary_table_alias.$fk "; |
|
69 | - if ($this->get_extra_join_conditions()) { |
|
70 | - $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
71 | - } |
|
72 | - return $join_sql; |
|
73 | - } |
|
64 | + $table_name = $this->get_table_name(); |
|
65 | + $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix) . $this->get_table_alias(); |
|
66 | + $other_table_pk = $this->get_table_to_join_with()->get_pk_column(); |
|
67 | + $fk = $this->get_fk_on_table(); |
|
68 | + $join_sql = " LEFT JOIN $table_name AS $secondary_table_alias ON $primary_table_alias_with_model_chain_prefix.$other_table_pk = $secondary_table_alias.$fk "; |
|
69 | + if ($this->get_extra_join_conditions()) { |
|
70 | + $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
71 | + } |
|
72 | + return $join_sql; |
|
73 | + } |
|
74 | 74 | |
75 | 75 | |
76 | - /** |
|
77 | - * Produces join SQL like get_join_sql, except instead of joining the primary table to the |
|
78 | - * secondary table, does the inverse: joins the secondary table to the primary one. (Eg, isntead of |
|
79 | - * " LEFT JOIN secondary_table_table AS Secondary ON ..." like get_join_sql, this function returns |
|
80 | - * " LEFT JOIN primary_table AS Primary ON ...". |
|
81 | - * This is useful if the secondary table is already included in the SQL, but the primary table is not yet. |
|
82 | - * @return string |
|
83 | - */ |
|
84 | - public function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix) |
|
85 | - { |
|
86 | - $primary_table_name = $this->get_table_to_join_with()->get_table_name(); |
|
87 | - $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix) . $this->get_table_to_join_with()->get_table_alias(); |
|
88 | - $primary_table_pk = $this->get_table_to_join_with()->get_pk_column();// $this->get_pk_column(); |
|
89 | - $fk = $this->get_fk_on_table(); |
|
90 | - $join_sql = " LEFT JOIN $primary_table_name AS $primary_table_alias ON $primary_table_alias.$primary_table_pk = $secondary_table_alias_with_model_chain_prefix.$fk "; |
|
91 | - if ($this->get_extra_join_conditions()) { |
|
92 | - $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
93 | - } |
|
94 | - return $join_sql; |
|
95 | - } |
|
76 | + /** |
|
77 | + * Produces join SQL like get_join_sql, except instead of joining the primary table to the |
|
78 | + * secondary table, does the inverse: joins the secondary table to the primary one. (Eg, isntead of |
|
79 | + * " LEFT JOIN secondary_table_table AS Secondary ON ..." like get_join_sql, this function returns |
|
80 | + * " LEFT JOIN primary_table AS Primary ON ...". |
|
81 | + * This is useful if the secondary table is already included in the SQL, but the primary table is not yet. |
|
82 | + * @return string |
|
83 | + */ |
|
84 | + public function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix) |
|
85 | + { |
|
86 | + $primary_table_name = $this->get_table_to_join_with()->get_table_name(); |
|
87 | + $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix) . $this->get_table_to_join_with()->get_table_alias(); |
|
88 | + $primary_table_pk = $this->get_table_to_join_with()->get_pk_column();// $this->get_pk_column(); |
|
89 | + $fk = $this->get_fk_on_table(); |
|
90 | + $join_sql = " LEFT JOIN $primary_table_name AS $primary_table_alias ON $primary_table_alias.$primary_table_pk = $secondary_table_alias_with_model_chain_prefix.$fk "; |
|
91 | + if ($this->get_extra_join_conditions()) { |
|
92 | + $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
93 | + } |
|
94 | + return $join_sql; |
|
95 | + } |
|
96 | 96 | |
97 | - /** |
|
98 | - * This prepares the join on the other table using a select with a internal limit. |
|
99 | - * @param mixed (array|string) $limit limit |
|
100 | - * @return string SQL to return |
|
101 | - */ |
|
102 | - public function get_select_join_limit_join($limit) |
|
103 | - { |
|
104 | - // first get the select |
|
105 | - $select = $this->get_select_join_limit($limit); |
|
106 | - $join_sql = $this->get_join_sql($select); |
|
107 | - return $join_sql; |
|
108 | - } |
|
97 | + /** |
|
98 | + * This prepares the join on the other table using a select with a internal limit. |
|
99 | + * @param mixed (array|string) $limit limit |
|
100 | + * @return string SQL to return |
|
101 | + */ |
|
102 | + public function get_select_join_limit_join($limit) |
|
103 | + { |
|
104 | + // first get the select |
|
105 | + $select = $this->get_select_join_limit($limit); |
|
106 | + $join_sql = $this->get_join_sql($select); |
|
107 | + return $join_sql; |
|
108 | + } |
|
109 | 109 | |
110 | 110 | |
111 | 111 | |
112 | - public function get_fully_qualified_fk_column() |
|
113 | - { |
|
114 | - $table_alias = $this->get_table_alias(); |
|
115 | - $fk = $this->get_fk_on_table(); |
|
116 | - return $table_alias . '.' . $fk; |
|
117 | - } |
|
112 | + public function get_fully_qualified_fk_column() |
|
113 | + { |
|
114 | + $table_alias = $this->get_table_alias(); |
|
115 | + $fk = $this->get_fk_on_table(); |
|
116 | + return $table_alias . '.' . $fk; |
|
117 | + } |
|
118 | 118 | |
119 | - public function get_fully_qualified_pk_on_fk_table() |
|
120 | - { |
|
121 | - $table_alias = $this->get_table_to_join_with()->get_table_alias(); |
|
122 | - $pk = $this->get_table_to_join_with()->get_pk_column(); |
|
123 | - return $table_alias . '.' . $pk; |
|
124 | - } |
|
119 | + public function get_fully_qualified_pk_on_fk_table() |
|
120 | + { |
|
121 | + $table_alias = $this->get_table_to_join_with()->get_table_alias(); |
|
122 | + $pk = $this->get_table_to_join_with()->get_pk_column(); |
|
123 | + return $table_alias . '.' . $pk; |
|
124 | + } |
|
125 | 125 | } |
@@ -62,12 +62,12 @@ discard block |
||
62 | 62 | { |
63 | 63 | |
64 | 64 | $table_name = $this->get_table_name(); |
65 | - $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix) . $this->get_table_alias(); |
|
65 | + $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix).$this->get_table_alias(); |
|
66 | 66 | $other_table_pk = $this->get_table_to_join_with()->get_pk_column(); |
67 | 67 | $fk = $this->get_fk_on_table(); |
68 | 68 | $join_sql = " LEFT JOIN $table_name AS $secondary_table_alias ON $primary_table_alias_with_model_chain_prefix.$other_table_pk = $secondary_table_alias.$fk "; |
69 | 69 | if ($this->get_extra_join_conditions()) { |
70 | - $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
70 | + $join_sql .= "AND ".$this->get_extra_join_conditions(); |
|
71 | 71 | } |
72 | 72 | return $join_sql; |
73 | 73 | } |
@@ -84,12 +84,12 @@ discard block |
||
84 | 84 | public function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix) |
85 | 85 | { |
86 | 86 | $primary_table_name = $this->get_table_to_join_with()->get_table_name(); |
87 | - $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix) . $this->get_table_to_join_with()->get_table_alias(); |
|
88 | - $primary_table_pk = $this->get_table_to_join_with()->get_pk_column();// $this->get_pk_column(); |
|
87 | + $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix).$this->get_table_to_join_with()->get_table_alias(); |
|
88 | + $primary_table_pk = $this->get_table_to_join_with()->get_pk_column(); // $this->get_pk_column(); |
|
89 | 89 | $fk = $this->get_fk_on_table(); |
90 | 90 | $join_sql = " LEFT JOIN $primary_table_name AS $primary_table_alias ON $primary_table_alias.$primary_table_pk = $secondary_table_alias_with_model_chain_prefix.$fk "; |
91 | 91 | if ($this->get_extra_join_conditions()) { |
92 | - $join_sql .= "AND " . $this->get_extra_join_conditions(); |
|
92 | + $join_sql .= "AND ".$this->get_extra_join_conditions(); |
|
93 | 93 | } |
94 | 94 | return $join_sql; |
95 | 95 | } |
@@ -113,13 +113,13 @@ discard block |
||
113 | 113 | { |
114 | 114 | $table_alias = $this->get_table_alias(); |
115 | 115 | $fk = $this->get_fk_on_table(); |
116 | - return $table_alias . '.' . $fk; |
|
116 | + return $table_alias.'.'.$fk; |
|
117 | 117 | } |
118 | 118 | |
119 | 119 | public function get_fully_qualified_pk_on_fk_table() |
120 | 120 | { |
121 | 121 | $table_alias = $this->get_table_to_join_with()->get_table_alias(); |
122 | 122 | $pk = $this->get_table_to_join_with()->get_pk_column(); |
123 | - return $table_alias . '.' . $pk; |
|
123 | + return $table_alias.'.'.$pk; |
|
124 | 124 | } |
125 | 125 | } |
@@ -1049,7 +1049,7 @@ |
||
1049 | 1049 | |
1050 | 1050 | /** |
1051 | 1051 | * @deprecated 4.9.0 |
1052 | - * @return array |
|
1052 | + * @return EE_messenger[] |
|
1053 | 1053 | */ |
1054 | 1054 | public function get_installed_messengers() |
1055 | 1055 | { |
@@ -84,20 +84,20 @@ discard block |
||
84 | 84 | // loop thru and call doing_it_wrong() or remove any that aren't being used |
85 | 85 | foreach ($deprecated_filters as $deprecated_filter => $on) { |
86 | 86 | // was this filter called ? |
87 | - if (has_action('FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter)) { |
|
87 | + if (has_action('FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__'.$deprecated_filter)) { |
|
88 | 88 | // only display doing_it_wrong() notice to Event Admins during non-AJAX requests |
89 | 89 | if (EE_Registry::instance()->CAP->current_user_can( |
90 | 90 | 'ee_read_ee', |
91 | 91 | 'hide_doing_it_wrong_for_deprecated_SPCO_filter' |
92 | 92 | ) && ! defined('DOING_AJAX')) { |
93 | 93 | EE_Error::doing_it_wrong( |
94 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
94 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__'.$deprecated_filter, |
|
95 | 95 | sprintf( |
96 | 96 | __( |
97 | 97 | 'The %1$s filter is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new filter: %2$s"%3$s" found in "%4$s"', |
98 | 98 | 'event_espresso' |
99 | 99 | ), |
100 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
100 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__'.$deprecated_filter, |
|
101 | 101 | '<br />', |
102 | 102 | 'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text', |
103 | 103 | '/modules/single_page_checkout/inc/EE_SPCO_Reg_Step.class.php' |
@@ -106,10 +106,10 @@ discard block |
||
106 | 106 | ); |
107 | 107 | } |
108 | 108 | } else { |
109 | - unset($deprecated_filters[ $deprecated_filter ]); |
|
109 | + unset($deprecated_filters[$deprecated_filter]); |
|
110 | 110 | } |
111 | 111 | } |
112 | - if (! empty($deprecated_filters)) { |
|
112 | + if ( ! empty($deprecated_filters)) { |
|
113 | 113 | |
114 | 114 | if ($checkout->current_step->slug( |
115 | 115 | ) == 'attendee_information' && $checkout->revisit && isset($deprecated_filters['update_registration_details'])) { |
@@ -143,7 +143,7 @@ discard block |
||
143 | 143 | $submit_button_text = apply_filters( |
144 | 144 | 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__proceed_to', |
145 | 145 | $submit_button_text |
146 | - ) . $checkout->next_step->name(); |
|
146 | + ).$checkout->next_step->name(); |
|
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
@@ -327,7 +327,7 @@ discard block |
||
327 | 327 | 'event_espresso' |
328 | 328 | ); |
329 | 329 | EE_Error::doing_it_wrong( |
330 | - __CLASS__ . '::' . __FUNCTION__, |
|
330 | + __CLASS__.'::'.__FUNCTION__, |
|
331 | 331 | $msg, |
332 | 332 | '4.8.32.rc.000' |
333 | 333 | ); |
@@ -354,7 +354,7 @@ discard block |
||
354 | 354 | function ee_deprecated_update_attendee_registration_form_old($admin_page) |
355 | 355 | { |
356 | 356 | // check if the old hooks are in use. If not, do the default |
357 | - if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
357 | + if ( ! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
358 | 358 | || ! $admin_page instanceof EE_Admin_Page) { |
359 | 359 | return; |
360 | 360 | } |
@@ -362,7 +362,7 @@ discard block |
||
362 | 362 | $qstns = isset($req_data['qstn']) ? $req_data['qstn'] : false; |
363 | 363 | $REG_ID = isset($req_data['_REG_ID']) ? absint($req_data['_REG_ID']) : false; |
364 | 364 | $qstns = apply_filters('FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns', $qstns); |
365 | - if (! $REG_ID || ! $qstns) { |
|
365 | + if ( ! $REG_ID || ! $qstns) { |
|
366 | 366 | EE_Error::add_error( |
367 | 367 | __('An error occurred. No registration ID and/or registration questions were received.', 'event_espresso'), |
368 | 368 | __FILE__, |
@@ -382,7 +382,7 @@ discard block |
||
382 | 382 | |
383 | 383 | foreach ($qstns as $QST_ID => $qstn) { |
384 | 384 | // if $qstn isn't an array then it doesn't already have an answer, so let's create the answer |
385 | - if (! is_array($qstn)) { |
|
385 | + if ( ! is_array($qstn)) { |
|
386 | 386 | $success = $this->_save_new_answer($REG_ID, $QST_ID, $qstn); |
387 | 387 | continue; |
388 | 388 | } |
@@ -399,7 +399,7 @@ discard block |
||
399 | 399 | ); |
400 | 400 | $answer = EEM_Answer::instance()->get_one($query_params); |
401 | 401 | // this MAY be an array but NOT have an answer because its multi select. If so then we need to create the answer |
402 | - if (! $answer instanceof EE_Answer) { |
|
402 | + if ( ! $answer instanceof EE_Answer) { |
|
403 | 403 | $set_values = array( |
404 | 404 | 'QST_ID' => $QST_ID, |
405 | 405 | 'REG_ID' => $REG_ID, |
@@ -440,7 +440,7 @@ discard block |
||
440 | 440 | function ee_deprecated_reg_questions_meta_box_old($do_default_action, $admin_page, $registration) |
441 | 441 | { |
442 | 442 | // check if the old hooks are in use. If not, do the default |
443 | - if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
443 | + if ( ! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
444 | 444 | || ! $admin_page instanceof EE_Admin_Page) { |
445 | 445 | return $do_default_action; |
446 | 446 | } |
@@ -472,7 +472,7 @@ discard block |
||
472 | 472 | 'reg_questions_form_action' => 'edit_registration', |
473 | 473 | 'REG_ID' => $registration->ID(), |
474 | 474 | ); |
475 | - $template_path = REG_TEMPLATE_PATH . 'reg_admin_details_main_meta_box_reg_questions.template.php'; |
|
475 | + $template_path = REG_TEMPLATE_PATH.'reg_admin_details_main_meta_box_reg_questions.template.php'; |
|
476 | 476 | echo EEH_Template::display_template($template_path, $template_args, true); |
477 | 477 | // indicate that we should not do the default admin page code |
478 | 478 | return false; |
@@ -590,7 +590,7 @@ discard block |
||
590 | 590 | public function _class_is_deprecated($method) |
591 | 591 | { |
592 | 592 | EE_Error::doing_it_wrong( |
593 | - 'EE_messages::' . $method, |
|
593 | + 'EE_messages::'.$method, |
|
594 | 594 | __('EE_messages has been deprecated. Please use EE_Message_Resource_Manager instead.'), |
595 | 595 | '4.9.0', |
596 | 596 | '4.10.0.p' |
@@ -729,7 +729,7 @@ discard block |
||
729 | 729 | $error = false; |
730 | 730 | // try to intelligently determine what method we'll call based on the incoming data. |
731 | 731 | // if generating and sending are different then generate and send immediately. |
732 | - if (! empty($sending_messenger) && $sending_messenger != $generating_messenger && $send) { |
|
732 | + if ( ! empty($sending_messenger) && $sending_messenger != $generating_messenger && $send) { |
|
733 | 733 | // in the legacy system, when generating and sending were different, that means all the |
734 | 734 | // vars are already in the request object. So let's just use that. |
735 | 735 | try { |
@@ -742,7 +742,7 @@ discard block |
||
742 | 742 | 'event_espresso' |
743 | 743 | ); |
744 | 744 | // add specific message for developers if WP_DEBUG in on |
745 | - $error_msg .= '||' . $e->getMessage(); |
|
745 | + $error_msg .= '||'.$e->getMessage(); |
|
746 | 746 | EE_Error::add_error($error_msg, __FILE__, __FUNCTION__, __LINE__); |
747 | 747 | $error = true; |
748 | 748 | } |
@@ -816,7 +816,7 @@ discard block |
||
816 | 816 | } |
817 | 817 | } |
818 | 818 | // if no error then return the generated message(s). |
819 | - if (! $error && ! $send) { |
|
819 | + if ( ! $error && ! $send) { |
|
820 | 820 | $generated_queue = $processor->generate_queue(false); |
821 | 821 | // get message and return. |
822 | 822 | $generated_queue->get_message_repository()->rewind(); |
@@ -875,7 +875,7 @@ discard block |
||
875 | 875 | /** @type EE_Messages_Queue $queue */ |
876 | 876 | $queue = EE_Registry::instance()->load_lib('Messages_Queue'); |
877 | 877 | // make sure we have a proper message object |
878 | - if (! $message instanceof EE_Message && is_object($message) && isset($message->content)) { |
|
878 | + if ( ! $message instanceof EE_Message && is_object($message) && isset($message->content)) { |
|
879 | 879 | $msg = EE_Message_Factory::create( |
880 | 880 | array( |
881 | 881 | 'MSG_messenger' => $messenger, |
@@ -887,11 +887,11 @@ discard block |
||
887 | 887 | } else { |
888 | 888 | $msg = $message; |
889 | 889 | } |
890 | - if (! $msg instanceof EE_Message) { |
|
890 | + if ( ! $msg instanceof EE_Message) { |
|
891 | 891 | return false; |
892 | 892 | } |
893 | 893 | // make sure any content in a content property (if not empty) is set on the MSG_content. |
894 | - if (! empty($msg->content)) { |
|
894 | + if ( ! empty($msg->content)) { |
|
895 | 895 | $msg->set('MSG_content', $msg->content); |
896 | 896 | } |
897 | 897 | $queue->add($msg); |
@@ -1130,8 +1130,8 @@ discard block |
||
1130 | 1130 | |
1131 | 1131 | add_filter( |
1132 | 1132 | 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__css', |
1133 | - function ($event_list_iframe_css) { |
|
1134 | - if (! has_filter('FHEE__EventsArchiveIframe__event_list_iframe__css')) { |
|
1133 | + function($event_list_iframe_css) { |
|
1134 | + if ( ! has_filter('FHEE__EventsArchiveIframe__event_list_iframe__css')) { |
|
1135 | 1135 | return $event_list_iframe_css; |
1136 | 1136 | } |
1137 | 1137 | deprecated_espresso_action_or_filter_doing_it_wrong( |
@@ -1150,8 +1150,8 @@ discard block |
||
1150 | 1150 | ); |
1151 | 1151 | add_filter( |
1152 | 1152 | 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__js', |
1153 | - function ($event_list_iframe_js) { |
|
1154 | - if (! has_filter('FHEE__EED_Ticket_Selector__ticket_selector_iframe__js')) { |
|
1153 | + function($event_list_iframe_js) { |
|
1154 | + if ( ! has_filter('FHEE__EED_Ticket_Selector__ticket_selector_iframe__js')) { |
|
1155 | 1155 | return $event_list_iframe_js; |
1156 | 1156 | } |
1157 | 1157 | deprecated_espresso_action_or_filter_doing_it_wrong( |
@@ -1170,8 +1170,8 @@ discard block |
||
1170 | 1170 | ); |
1171 | 1171 | add_action( |
1172 | 1172 | 'AHEE__EE_Capabilities__addCaps__complete', |
1173 | - function ($capabilities_map) { |
|
1174 | - if (! has_action('AHEE__EE_Capabilities__init_role_caps__complete')) { |
|
1173 | + function($capabilities_map) { |
|
1174 | + if ( ! has_action('AHEE__EE_Capabilities__init_role_caps__complete')) { |
|
1175 | 1175 | return; |
1176 | 1176 | } |
1177 | 1177 | deprecated_espresso_action_or_filter_doing_it_wrong( |
@@ -1190,8 +1190,8 @@ discard block |
||
1190 | 1190 | |
1191 | 1191 | add_filter( |
1192 | 1192 | 'FHEE_EventEspresso_core_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee', |
1193 | - function ($existing_attendee, $registration, $attendee_data) { |
|
1194 | - if (! has_filter('FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee')) { |
|
1193 | + function($existing_attendee, $registration, $attendee_data) { |
|
1194 | + if ( ! has_filter('FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee')) { |
|
1195 | 1195 | return $existing_attendee; |
1196 | 1196 | } |
1197 | 1197 | deprecated_espresso_action_or_filter_doing_it_wrong( |
@@ -1274,7 +1274,7 @@ discard block |
||
1274 | 1274 | */ |
1275 | 1275 | public function event_list_title($event_list_title = '') |
1276 | 1276 | { |
1277 | - if (! empty($this->title)) { |
|
1277 | + if ( ! empty($this->title)) { |
|
1278 | 1278 | return $this->title; |
1279 | 1279 | } |
1280 | 1280 | return $event_list_title; |
@@ -1417,7 +1417,7 @@ discard block |
||
1417 | 1417 | foreach ($model_fields as $field) { |
1418 | 1418 | if ($label === EEH_Export::get_column_name_for_field($field)) { |
1419 | 1419 | // re-add the old field name |
1420 | - $new_label = $label . '[' . $field->get_name() . ']'; |
|
1420 | + $new_label = $label.'['.$field->get_name().']'; |
|
1421 | 1421 | break; |
1422 | 1422 | } |
1423 | 1423 | } |
@@ -39,31 +39,31 @@ discard block |
||
39 | 39 | * @param string $action_or_filter |
40 | 40 | */ |
41 | 41 | function deprecated_espresso_action_or_filter_doing_it_wrong( |
42 | - $deprecated_filter, |
|
43 | - $replacement, |
|
44 | - $replacement_location, |
|
45 | - $version_deprecated, |
|
46 | - $version_applies, |
|
47 | - $action_or_filter = 'action' |
|
42 | + $deprecated_filter, |
|
43 | + $replacement, |
|
44 | + $replacement_location, |
|
45 | + $version_deprecated, |
|
46 | + $version_applies, |
|
47 | + $action_or_filter = 'action' |
|
48 | 48 | ) { |
49 | - $action_or_filter = $action_or_filter === 'action' |
|
50 | - ? esc_html__('action', 'event_espresso') |
|
51 | - : esc_html__('filter', 'event_espresso'); |
|
52 | - EE_Error::doing_it_wrong( |
|
53 | - $deprecated_filter, |
|
54 | - sprintf( |
|
55 | - __( |
|
56 | - 'This %1$s is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new %1$s: %4$s"%2$s" found in "%3$s"', |
|
57 | - 'event_espresso' |
|
58 | - ), |
|
59 | - $action_or_filter, |
|
60 | - $replacement, |
|
61 | - $replacement_location, |
|
62 | - '<br />' |
|
63 | - ), |
|
64 | - $version_deprecated, |
|
65 | - $version_applies |
|
66 | - ); |
|
49 | + $action_or_filter = $action_or_filter === 'action' |
|
50 | + ? esc_html__('action', 'event_espresso') |
|
51 | + : esc_html__('filter', 'event_espresso'); |
|
52 | + EE_Error::doing_it_wrong( |
|
53 | + $deprecated_filter, |
|
54 | + sprintf( |
|
55 | + __( |
|
56 | + 'This %1$s is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new %1$s: %4$s"%2$s" found in "%3$s"', |
|
57 | + 'event_espresso' |
|
58 | + ), |
|
59 | + $action_or_filter, |
|
60 | + $replacement, |
|
61 | + $replacement_location, |
|
62 | + '<br />' |
|
63 | + ), |
|
64 | + $version_deprecated, |
|
65 | + $version_applies |
|
66 | + ); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | /** |
@@ -75,90 +75,90 @@ discard block |
||
75 | 75 | */ |
76 | 76 | function ee_deprecated__registration_checkout__button_text($submit_button_text, EE_Checkout $checkout) |
77 | 77 | { |
78 | - // list of old filters |
|
79 | - $deprecated_filters = array( |
|
80 | - 'update_registration_details' => true, |
|
81 | - 'process_payment' => true, |
|
82 | - 'finalize_registration' => true, |
|
83 | - 'and_proceed_to_payment' => true, |
|
84 | - 'proceed_to' => true, |
|
85 | - ); |
|
86 | - // loop thru and call doing_it_wrong() or remove any that aren't being used |
|
87 | - foreach ($deprecated_filters as $deprecated_filter => $on) { |
|
88 | - // was this filter called ? |
|
89 | - if (has_action('FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter)) { |
|
90 | - // only display doing_it_wrong() notice to Event Admins during non-AJAX requests |
|
91 | - if (EE_Registry::instance()->CAP->current_user_can( |
|
92 | - 'ee_read_ee', |
|
93 | - 'hide_doing_it_wrong_for_deprecated_SPCO_filter' |
|
94 | - ) && ! defined('DOING_AJAX')) { |
|
95 | - EE_Error::doing_it_wrong( |
|
96 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
97 | - sprintf( |
|
98 | - __( |
|
99 | - 'The %1$s filter is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new filter: %2$s"%3$s" found in "%4$s"', |
|
100 | - 'event_espresso' |
|
101 | - ), |
|
102 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
103 | - '<br />', |
|
104 | - 'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text', |
|
105 | - '/modules/single_page_checkout/inc/EE_SPCO_Reg_Step.class.php' |
|
106 | - ), |
|
107 | - '4.6.10' |
|
108 | - ); |
|
109 | - } |
|
110 | - } else { |
|
111 | - unset($deprecated_filters[ $deprecated_filter ]); |
|
112 | - } |
|
113 | - } |
|
114 | - if (! empty($deprecated_filters)) { |
|
115 | - |
|
116 | - if ($checkout->current_step->slug( |
|
117 | - ) == 'attendee_information' && $checkout->revisit && isset($deprecated_filters['update_registration_details'])) { |
|
118 | - $submit_button_text = apply_filters( |
|
119 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__update_registration_details', |
|
120 | - $submit_button_text |
|
121 | - ); |
|
122 | - } elseif ($checkout->current_step->slug( |
|
123 | - ) == 'payment_options' && $checkout->revisit && isset($deprecated_filters['process_payment'])) { |
|
124 | - $submit_button_text = apply_filters( |
|
125 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__process_payment', |
|
126 | - $submit_button_text |
|
127 | - ); |
|
128 | - } elseif ($checkout->next_step instanceof EE_SPCO_Reg_Step && $checkout->next_step->slug( |
|
129 | - ) == 'finalize_registration' && isset($deprecated_filters['finalize_registration'])) { |
|
130 | - $submit_button_text = apply_filters( |
|
131 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__finalize_registration', |
|
132 | - $submit_button_text |
|
133 | - ); |
|
134 | - } |
|
135 | - if ($checkout->next_step instanceof EE_SPCO_Reg_Step) { |
|
136 | - if ($checkout->payment_required() && $checkout->next_step->slug( |
|
137 | - ) == 'payment_options' && isset($deprecated_filters['and_proceed_to_payment'])) { |
|
138 | - $submit_button_text .= apply_filters( |
|
139 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__and_proceed_to_payment', |
|
140 | - $submit_button_text |
|
141 | - ); |
|
142 | - } |
|
143 | - if ($checkout->next_step->slug( |
|
144 | - ) != 'finalize_registration' && ! $checkout->revisit && isset($deprecated_filters['proceed_to'])) { |
|
145 | - $submit_button_text = apply_filters( |
|
146 | - 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__proceed_to', |
|
147 | - $submit_button_text |
|
148 | - ) . $checkout->next_step->name(); |
|
149 | - } |
|
150 | - } |
|
151 | - |
|
152 | - } |
|
153 | - return $submit_button_text; |
|
78 | + // list of old filters |
|
79 | + $deprecated_filters = array( |
|
80 | + 'update_registration_details' => true, |
|
81 | + 'process_payment' => true, |
|
82 | + 'finalize_registration' => true, |
|
83 | + 'and_proceed_to_payment' => true, |
|
84 | + 'proceed_to' => true, |
|
85 | + ); |
|
86 | + // loop thru and call doing_it_wrong() or remove any that aren't being used |
|
87 | + foreach ($deprecated_filters as $deprecated_filter => $on) { |
|
88 | + // was this filter called ? |
|
89 | + if (has_action('FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter)) { |
|
90 | + // only display doing_it_wrong() notice to Event Admins during non-AJAX requests |
|
91 | + if (EE_Registry::instance()->CAP->current_user_can( |
|
92 | + 'ee_read_ee', |
|
93 | + 'hide_doing_it_wrong_for_deprecated_SPCO_filter' |
|
94 | + ) && ! defined('DOING_AJAX')) { |
|
95 | + EE_Error::doing_it_wrong( |
|
96 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
97 | + sprintf( |
|
98 | + __( |
|
99 | + 'The %1$s filter is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new filter: %2$s"%3$s" found in "%4$s"', |
|
100 | + 'event_espresso' |
|
101 | + ), |
|
102 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__' . $deprecated_filter, |
|
103 | + '<br />', |
|
104 | + 'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text', |
|
105 | + '/modules/single_page_checkout/inc/EE_SPCO_Reg_Step.class.php' |
|
106 | + ), |
|
107 | + '4.6.10' |
|
108 | + ); |
|
109 | + } |
|
110 | + } else { |
|
111 | + unset($deprecated_filters[ $deprecated_filter ]); |
|
112 | + } |
|
113 | + } |
|
114 | + if (! empty($deprecated_filters)) { |
|
115 | + |
|
116 | + if ($checkout->current_step->slug( |
|
117 | + ) == 'attendee_information' && $checkout->revisit && isset($deprecated_filters['update_registration_details'])) { |
|
118 | + $submit_button_text = apply_filters( |
|
119 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__update_registration_details', |
|
120 | + $submit_button_text |
|
121 | + ); |
|
122 | + } elseif ($checkout->current_step->slug( |
|
123 | + ) == 'payment_options' && $checkout->revisit && isset($deprecated_filters['process_payment'])) { |
|
124 | + $submit_button_text = apply_filters( |
|
125 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__process_payment', |
|
126 | + $submit_button_text |
|
127 | + ); |
|
128 | + } elseif ($checkout->next_step instanceof EE_SPCO_Reg_Step && $checkout->next_step->slug( |
|
129 | + ) == 'finalize_registration' && isset($deprecated_filters['finalize_registration'])) { |
|
130 | + $submit_button_text = apply_filters( |
|
131 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__finalize_registration', |
|
132 | + $submit_button_text |
|
133 | + ); |
|
134 | + } |
|
135 | + if ($checkout->next_step instanceof EE_SPCO_Reg_Step) { |
|
136 | + if ($checkout->payment_required() && $checkout->next_step->slug( |
|
137 | + ) == 'payment_options' && isset($deprecated_filters['and_proceed_to_payment'])) { |
|
138 | + $submit_button_text .= apply_filters( |
|
139 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__and_proceed_to_payment', |
|
140 | + $submit_button_text |
|
141 | + ); |
|
142 | + } |
|
143 | + if ($checkout->next_step->slug( |
|
144 | + ) != 'finalize_registration' && ! $checkout->revisit && isset($deprecated_filters['proceed_to'])) { |
|
145 | + $submit_button_text = apply_filters( |
|
146 | + 'FHEE__EED_Single_Page_Checkout__registration_checkout__button_text__proceed_to', |
|
147 | + $submit_button_text |
|
148 | + ) . $checkout->next_step->name(); |
|
149 | + } |
|
150 | + } |
|
151 | + |
|
152 | + } |
|
153 | + return $submit_button_text; |
|
154 | 154 | |
155 | 155 | } |
156 | 156 | |
157 | 157 | add_filter( |
158 | - 'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text', |
|
159 | - 'ee_deprecated__registration_checkout__button_text', |
|
160 | - 10, |
|
161 | - 2 |
|
158 | + 'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text', |
|
159 | + 'ee_deprecated__registration_checkout__button_text', |
|
160 | + 10, |
|
161 | + 2 |
|
162 | 162 | ); |
163 | 163 | |
164 | 164 | |
@@ -170,54 +170,54 @@ discard block |
||
170 | 170 | */ |
171 | 171 | function ee_deprecated_finalize_transaction(EE_Checkout $checkout, $status_updates) |
172 | 172 | { |
173 | - $action_ref = null; |
|
174 | - $action_ref = has_action('AHEE__EE_Transaction__finalize__new_transaction') |
|
175 | - ? 'AHEE__EE_Transaction__finalize__new_transaction' : $action_ref; |
|
176 | - $action_ref = has_action('AHEE__EE_Transaction__finalize__all_transaction') |
|
177 | - ? 'AHEE__EE_Transaction__finalize__all_transaction' : $action_ref; |
|
178 | - if ($action_ref) { |
|
179 | - |
|
180 | - EE_Error::doing_it_wrong( |
|
181 | - $action_ref, |
|
182 | - sprintf( |
|
183 | - __( |
|
184 | - 'This action is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use one of the following new actions: %1$s"%3$s" found in "%2$s" %1$s"%4$s" found in "%2$s" %1$s"%5$s" found in "%2$s" %1$s"%6$s" found in "%2$s"', |
|
185 | - 'event_espresso' |
|
186 | - ), |
|
187 | - '<br />', |
|
188 | - '/core/business/EE_Transaction_Processor.class.php', |
|
189 | - 'AHEE__EE_Transaction_Processor__finalize', |
|
190 | - 'AHEE__EE_Transaction_Processor__manually_update_registration_statuses', |
|
191 | - 'AHEE__EE_Transaction_Processor__toggle_registration_statuses_for_default_approved_events', |
|
192 | - 'AHEE__EE_Transaction_Processor__toggle_registration_statuses_if_no_monies_owing' |
|
193 | - ), |
|
194 | - '4.6.0' |
|
195 | - ); |
|
196 | - switch ($action_ref) { |
|
197 | - case 'AHEE__EE_Transaction__finalize__new_transaction' : |
|
198 | - do_action( |
|
199 | - 'AHEE__EE_Transaction__finalize__new_transaction', |
|
200 | - $checkout->transaction, |
|
201 | - $checkout->admin_request |
|
202 | - ); |
|
203 | - break; |
|
204 | - case 'AHEE__EE_Transaction__finalize__all_transaction' : |
|
205 | - do_action( |
|
206 | - 'AHEE__EE_Transaction__finalize__new_transaction', |
|
207 | - $checkout->transaction, |
|
208 | - array('new_reg' => ! $checkout->revisit, 'to_approved' => $status_updates), |
|
209 | - $checkout->admin_request |
|
210 | - ); |
|
211 | - break; |
|
212 | - } |
|
213 | - } |
|
173 | + $action_ref = null; |
|
174 | + $action_ref = has_action('AHEE__EE_Transaction__finalize__new_transaction') |
|
175 | + ? 'AHEE__EE_Transaction__finalize__new_transaction' : $action_ref; |
|
176 | + $action_ref = has_action('AHEE__EE_Transaction__finalize__all_transaction') |
|
177 | + ? 'AHEE__EE_Transaction__finalize__all_transaction' : $action_ref; |
|
178 | + if ($action_ref) { |
|
179 | + |
|
180 | + EE_Error::doing_it_wrong( |
|
181 | + $action_ref, |
|
182 | + sprintf( |
|
183 | + __( |
|
184 | + 'This action is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use one of the following new actions: %1$s"%3$s" found in "%2$s" %1$s"%4$s" found in "%2$s" %1$s"%5$s" found in "%2$s" %1$s"%6$s" found in "%2$s"', |
|
185 | + 'event_espresso' |
|
186 | + ), |
|
187 | + '<br />', |
|
188 | + '/core/business/EE_Transaction_Processor.class.php', |
|
189 | + 'AHEE__EE_Transaction_Processor__finalize', |
|
190 | + 'AHEE__EE_Transaction_Processor__manually_update_registration_statuses', |
|
191 | + 'AHEE__EE_Transaction_Processor__toggle_registration_statuses_for_default_approved_events', |
|
192 | + 'AHEE__EE_Transaction_Processor__toggle_registration_statuses_if_no_monies_owing' |
|
193 | + ), |
|
194 | + '4.6.0' |
|
195 | + ); |
|
196 | + switch ($action_ref) { |
|
197 | + case 'AHEE__EE_Transaction__finalize__new_transaction' : |
|
198 | + do_action( |
|
199 | + 'AHEE__EE_Transaction__finalize__new_transaction', |
|
200 | + $checkout->transaction, |
|
201 | + $checkout->admin_request |
|
202 | + ); |
|
203 | + break; |
|
204 | + case 'AHEE__EE_Transaction__finalize__all_transaction' : |
|
205 | + do_action( |
|
206 | + 'AHEE__EE_Transaction__finalize__new_transaction', |
|
207 | + $checkout->transaction, |
|
208 | + array('new_reg' => ! $checkout->revisit, 'to_approved' => $status_updates), |
|
209 | + $checkout->admin_request |
|
210 | + ); |
|
211 | + break; |
|
212 | + } |
|
213 | + } |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | add_action( |
217 | - 'AHEE__EE_SPCO_Reg_Step_Finalize_Registration__process_reg_step__completed', |
|
218 | - 'ee_deprecated_finalize_transaction', |
|
219 | - 10, |
|
220 | - 2 |
|
217 | + 'AHEE__EE_SPCO_Reg_Step_Finalize_Registration__process_reg_step__completed', |
|
218 | + 'ee_deprecated_finalize_transaction', |
|
219 | + 10, |
|
220 | + 2 |
|
221 | 221 | ); |
222 | 222 | /** |
223 | 223 | * ee_deprecated_finalize_registration |
@@ -226,35 +226,35 @@ discard block |
||
226 | 226 | */ |
227 | 227 | function ee_deprecated_finalize_registration(EE_Registration $registration) |
228 | 228 | { |
229 | - $action_ref = has_action('AHEE__EE_Registration__finalize__update_and_new_reg') |
|
230 | - ? 'AHEE__EE_Registration__finalize__update_and_new_reg' : null; |
|
231 | - if ($action_ref) { |
|
232 | - EE_Error::doing_it_wrong( |
|
233 | - $action_ref, |
|
234 | - sprintf( |
|
235 | - __( |
|
236 | - 'This action is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new action: %1$s"%3$s" found in "%2$s"', |
|
237 | - 'event_espresso' |
|
238 | - ), |
|
239 | - '<br />', |
|
240 | - '/core/business/EE_Registration_Processor.class.php', |
|
241 | - 'AHEE__EE_Registration_Processor__trigger_registration_update_notifications' |
|
242 | - ), |
|
243 | - '4.6.0' |
|
244 | - ); |
|
245 | - do_action( |
|
246 | - 'AHEE__EE_Registration__finalize__update_and_new_reg', |
|
247 | - $registration, |
|
248 | - (is_admin() && ! (defined('DOING_AJAX') && DOING_AJAX)) |
|
249 | - ); |
|
250 | - } |
|
229 | + $action_ref = has_action('AHEE__EE_Registration__finalize__update_and_new_reg') |
|
230 | + ? 'AHEE__EE_Registration__finalize__update_and_new_reg' : null; |
|
231 | + if ($action_ref) { |
|
232 | + EE_Error::doing_it_wrong( |
|
233 | + $action_ref, |
|
234 | + sprintf( |
|
235 | + __( |
|
236 | + 'This action is deprecated. It *may* work as an attempt to build in backwards compatibility. However, it is recommended to use the following new action: %1$s"%3$s" found in "%2$s"', |
|
237 | + 'event_espresso' |
|
238 | + ), |
|
239 | + '<br />', |
|
240 | + '/core/business/EE_Registration_Processor.class.php', |
|
241 | + 'AHEE__EE_Registration_Processor__trigger_registration_update_notifications' |
|
242 | + ), |
|
243 | + '4.6.0' |
|
244 | + ); |
|
245 | + do_action( |
|
246 | + 'AHEE__EE_Registration__finalize__update_and_new_reg', |
|
247 | + $registration, |
|
248 | + (is_admin() && ! (defined('DOING_AJAX') && DOING_AJAX)) |
|
249 | + ); |
|
250 | + } |
|
251 | 251 | } |
252 | 252 | |
253 | 253 | add_action( |
254 | - 'AHEE__EE_Registration_Processor__trigger_registration_update_notifications', |
|
255 | - 'ee_deprecated_finalize_registration', |
|
256 | - 10, |
|
257 | - 1 |
|
254 | + 'AHEE__EE_Registration_Processor__trigger_registration_update_notifications', |
|
255 | + 'ee_deprecated_finalize_registration', |
|
256 | + 10, |
|
257 | + 1 |
|
258 | 258 | ); |
259 | 259 | |
260 | 260 | |
@@ -264,44 +264,44 @@ discard block |
||
264 | 264 | */ |
265 | 265 | function ee_deprecated_hooks() |
266 | 266 | { |
267 | - /** |
|
268 | - * @var $hooks array where keys are hook names, and their values are array{ |
|
269 | - * @type string $version when deprecated |
|
270 | - * @type string $alternative saying what to use instead |
|
271 | - * @type boolean $still_works whether or not the hook still works |
|
272 | - * } |
|
273 | - */ |
|
274 | - $hooks = array( |
|
275 | - 'AHEE__EE_System___do_setup_validations' => array( |
|
276 | - 'version' => '4.6.0', |
|
277 | - 'alternative' => __( |
|
278 | - 'Instead use "AHEE__EEH_Activation__validate_messages_system" which is called after validating messages (done on every new install, upgrade, reactivation, and downgrade)', |
|
279 | - 'event_espresso' |
|
280 | - ), |
|
281 | - 'still_works' => false, |
|
282 | - ), |
|
283 | - ); |
|
284 | - foreach ($hooks as $name => $deprecation_info) { |
|
285 | - if (has_action($name)) { |
|
286 | - EE_Error::doing_it_wrong( |
|
287 | - $name, |
|
288 | - sprintf( |
|
289 | - __('This filter is deprecated. %1$s%2$s', 'event_espresso'), |
|
290 | - $deprecation_info['still_works'] ? __( |
|
291 | - 'It *may* work as an attempt to build in backwards compatibility.', |
|
292 | - 'event_espresso' |
|
293 | - ) : __('It has been completely removed.', 'event_espresso'), |
|
294 | - isset($deprecation_info['alternative']) |
|
295 | - ? $deprecation_info['alternative'] |
|
296 | - : __( |
|
297 | - 'Please read the current EE4 documentation further or contact Support.', |
|
298 | - 'event_espresso' |
|
299 | - ) |
|
300 | - ), |
|
301 | - isset($deprecation_info['version']) ? $deprecation_info['version'] : __('recently', 'event_espresso') |
|
302 | - ); |
|
303 | - } |
|
304 | - } |
|
267 | + /** |
|
268 | + * @var $hooks array where keys are hook names, and their values are array{ |
|
269 | + * @type string $version when deprecated |
|
270 | + * @type string $alternative saying what to use instead |
|
271 | + * @type boolean $still_works whether or not the hook still works |
|
272 | + * } |
|
273 | + */ |
|
274 | + $hooks = array( |
|
275 | + 'AHEE__EE_System___do_setup_validations' => array( |
|
276 | + 'version' => '4.6.0', |
|
277 | + 'alternative' => __( |
|
278 | + 'Instead use "AHEE__EEH_Activation__validate_messages_system" which is called after validating messages (done on every new install, upgrade, reactivation, and downgrade)', |
|
279 | + 'event_espresso' |
|
280 | + ), |
|
281 | + 'still_works' => false, |
|
282 | + ), |
|
283 | + ); |
|
284 | + foreach ($hooks as $name => $deprecation_info) { |
|
285 | + if (has_action($name)) { |
|
286 | + EE_Error::doing_it_wrong( |
|
287 | + $name, |
|
288 | + sprintf( |
|
289 | + __('This filter is deprecated. %1$s%2$s', 'event_espresso'), |
|
290 | + $deprecation_info['still_works'] ? __( |
|
291 | + 'It *may* work as an attempt to build in backwards compatibility.', |
|
292 | + 'event_espresso' |
|
293 | + ) : __('It has been completely removed.', 'event_espresso'), |
|
294 | + isset($deprecation_info['alternative']) |
|
295 | + ? $deprecation_info['alternative'] |
|
296 | + : __( |
|
297 | + 'Please read the current EE4 documentation further or contact Support.', |
|
298 | + 'event_espresso' |
|
299 | + ) |
|
300 | + ), |
|
301 | + isset($deprecation_info['version']) ? $deprecation_info['version'] : __('recently', 'event_espresso') |
|
302 | + ); |
|
303 | + } |
|
304 | + } |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | add_action('AHEE__EE_System__set_hooks_for_shortcodes_modules_and_addons', 'ee_deprecated_hooks'); |
@@ -316,34 +316,34 @@ discard block |
||
316 | 316 | */ |
317 | 317 | function ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
318 | 318 | { |
319 | - $in_use = has_filter('FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns') |
|
320 | - || has_action( |
|
321 | - 'AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save' |
|
322 | - ); |
|
323 | - if ($in_use) { |
|
324 | - $msg = __( |
|
325 | - 'We detected you are using the filter FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns or AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save.' |
|
326 | - . 'Both of these have been deprecated and should not be used anymore. You should instead use FHEE__EE_Form_Section_Proper___construct__options_array to customize the contents of the form,' |
|
327 | - . 'use FHEE__EE_Form_Section_Proper__receive_form_submission__req_data to customize the submission data, or AHEE__EE_Form_Section_Proper__receive_form_submission__end ' |
|
328 | - . 'to add other actions after a form submission has been received.', |
|
329 | - 'event_espresso' |
|
330 | - ); |
|
331 | - EE_Error::doing_it_wrong( |
|
332 | - __CLASS__ . '::' . __FUNCTION__, |
|
333 | - $msg, |
|
334 | - '4.8.32.rc.000' |
|
335 | - ); |
|
336 | - // it seems the doing_it_wrong messages get output during some hidden html tags, so add an error to make sure this gets noticed |
|
337 | - if (is_admin() && ! defined('DOING_AJAX')) { |
|
338 | - EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__); |
|
339 | - } |
|
340 | - } |
|
341 | - return $in_use; |
|
319 | + $in_use = has_filter('FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns') |
|
320 | + || has_action( |
|
321 | + 'AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save' |
|
322 | + ); |
|
323 | + if ($in_use) { |
|
324 | + $msg = __( |
|
325 | + 'We detected you are using the filter FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns or AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save.' |
|
326 | + . 'Both of these have been deprecated and should not be used anymore. You should instead use FHEE__EE_Form_Section_Proper___construct__options_array to customize the contents of the form,' |
|
327 | + . 'use FHEE__EE_Form_Section_Proper__receive_form_submission__req_data to customize the submission data, or AHEE__EE_Form_Section_Proper__receive_form_submission__end ' |
|
328 | + . 'to add other actions after a form submission has been received.', |
|
329 | + 'event_espresso' |
|
330 | + ); |
|
331 | + EE_Error::doing_it_wrong( |
|
332 | + __CLASS__ . '::' . __FUNCTION__, |
|
333 | + $msg, |
|
334 | + '4.8.32.rc.000' |
|
335 | + ); |
|
336 | + // it seems the doing_it_wrong messages get output during some hidden html tags, so add an error to make sure this gets noticed |
|
337 | + if (is_admin() && ! defined('DOING_AJAX')) { |
|
338 | + EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__); |
|
339 | + } |
|
340 | + } |
|
341 | + return $in_use; |
|
342 | 342 | } |
343 | 343 | |
344 | 344 | add_action( |
345 | - 'AHEE__Registrations_Admin_Page___registration_details_metabox__start', |
|
346 | - 'ee_deprecated_using_old_registration_admin_custom_questions_form_hooks' |
|
345 | + 'AHEE__Registrations_Admin_Page___registration_details_metabox__start', |
|
346 | + 'ee_deprecated_using_old_registration_admin_custom_questions_form_hooks' |
|
347 | 347 | ); |
348 | 348 | |
349 | 349 | /** |
@@ -355,77 +355,77 @@ discard block |
||
355 | 355 | */ |
356 | 356 | function ee_deprecated_update_attendee_registration_form_old($admin_page) |
357 | 357 | { |
358 | - // check if the old hooks are in use. If not, do the default |
|
359 | - if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
360 | - || ! $admin_page instanceof EE_Admin_Page) { |
|
361 | - return; |
|
362 | - } |
|
363 | - $req_data = $admin_page->get_request_data(); |
|
364 | - $qstns = isset($req_data['qstn']) ? $req_data['qstn'] : false; |
|
365 | - $REG_ID = isset($req_data['_REG_ID']) ? absint($req_data['_REG_ID']) : false; |
|
366 | - $qstns = apply_filters('FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns', $qstns); |
|
367 | - if (! $REG_ID || ! $qstns) { |
|
368 | - EE_Error::add_error( |
|
369 | - __('An error occurred. No registration ID and/or registration questions were received.', 'event_espresso'), |
|
370 | - __FILE__, |
|
371 | - __FUNCTION__, |
|
372 | - __LINE__ |
|
373 | - ); |
|
374 | - } |
|
375 | - $success = true; |
|
376 | - |
|
377 | - // allow others to get in on this awesome fun :D |
|
378 | - do_action( |
|
379 | - 'AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save', |
|
380 | - $REG_ID, |
|
381 | - $qstns |
|
382 | - ); |
|
383 | - // loop thru questions... FINALLY!!! |
|
384 | - |
|
385 | - foreach ($qstns as $QST_ID => $qstn) { |
|
386 | - // if $qstn isn't an array then it doesn't already have an answer, so let's create the answer |
|
387 | - if (! is_array($qstn)) { |
|
388 | - $success = $this->_save_new_answer($REG_ID, $QST_ID, $qstn); |
|
389 | - continue; |
|
390 | - } |
|
391 | - |
|
392 | - |
|
393 | - foreach ($qstn as $ANS_ID => $ANS_value) { |
|
394 | - // get answer |
|
395 | - $query_params = array( |
|
396 | - 0 => array( |
|
397 | - 'ANS_ID' => $ANS_ID, |
|
398 | - 'REG_ID' => $REG_ID, |
|
399 | - 'QST_ID' => $QST_ID, |
|
400 | - ), |
|
401 | - ); |
|
402 | - $answer = EEM_Answer::instance()->get_one($query_params); |
|
403 | - // this MAY be an array but NOT have an answer because its multi select. If so then we need to create the answer |
|
404 | - if (! $answer instanceof EE_Answer) { |
|
405 | - $set_values = array( |
|
406 | - 'QST_ID' => $QST_ID, |
|
407 | - 'REG_ID' => $REG_ID, |
|
408 | - 'ANS_value' => $qstn, |
|
409 | - ); |
|
410 | - $success = EEM_Answer::instance()->insert($set_values); |
|
411 | - continue 2; |
|
412 | - } |
|
413 | - |
|
414 | - $answer->set('ANS_value', $ANS_value); |
|
415 | - $success = $answer->save(); |
|
416 | - } |
|
417 | - } |
|
418 | - $what = __('Registration Form', 'event_espresso'); |
|
419 | - $route = $REG_ID ? array('action' => 'view_registration', '_REG_ID' => $REG_ID) : array('action' => 'default'); |
|
420 | - $admin_page->redirect_after_action($success, $what, __('updated', 'event_espresso'), $route); |
|
421 | - exit; |
|
358 | + // check if the old hooks are in use. If not, do the default |
|
359 | + if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
360 | + || ! $admin_page instanceof EE_Admin_Page) { |
|
361 | + return; |
|
362 | + } |
|
363 | + $req_data = $admin_page->get_request_data(); |
|
364 | + $qstns = isset($req_data['qstn']) ? $req_data['qstn'] : false; |
|
365 | + $REG_ID = isset($req_data['_REG_ID']) ? absint($req_data['_REG_ID']) : false; |
|
366 | + $qstns = apply_filters('FHEE__Registrations_Admin_Page___update_attendee_registration_form__qstns', $qstns); |
|
367 | + if (! $REG_ID || ! $qstns) { |
|
368 | + EE_Error::add_error( |
|
369 | + __('An error occurred. No registration ID and/or registration questions were received.', 'event_espresso'), |
|
370 | + __FILE__, |
|
371 | + __FUNCTION__, |
|
372 | + __LINE__ |
|
373 | + ); |
|
374 | + } |
|
375 | + $success = true; |
|
376 | + |
|
377 | + // allow others to get in on this awesome fun :D |
|
378 | + do_action( |
|
379 | + 'AHEE__Registrations_Admin_Page___save_attendee_registration_form__after_reg_and_attendee_save', |
|
380 | + $REG_ID, |
|
381 | + $qstns |
|
382 | + ); |
|
383 | + // loop thru questions... FINALLY!!! |
|
384 | + |
|
385 | + foreach ($qstns as $QST_ID => $qstn) { |
|
386 | + // if $qstn isn't an array then it doesn't already have an answer, so let's create the answer |
|
387 | + if (! is_array($qstn)) { |
|
388 | + $success = $this->_save_new_answer($REG_ID, $QST_ID, $qstn); |
|
389 | + continue; |
|
390 | + } |
|
391 | + |
|
392 | + |
|
393 | + foreach ($qstn as $ANS_ID => $ANS_value) { |
|
394 | + // get answer |
|
395 | + $query_params = array( |
|
396 | + 0 => array( |
|
397 | + 'ANS_ID' => $ANS_ID, |
|
398 | + 'REG_ID' => $REG_ID, |
|
399 | + 'QST_ID' => $QST_ID, |
|
400 | + ), |
|
401 | + ); |
|
402 | + $answer = EEM_Answer::instance()->get_one($query_params); |
|
403 | + // this MAY be an array but NOT have an answer because its multi select. If so then we need to create the answer |
|
404 | + if (! $answer instanceof EE_Answer) { |
|
405 | + $set_values = array( |
|
406 | + 'QST_ID' => $QST_ID, |
|
407 | + 'REG_ID' => $REG_ID, |
|
408 | + 'ANS_value' => $qstn, |
|
409 | + ); |
|
410 | + $success = EEM_Answer::instance()->insert($set_values); |
|
411 | + continue 2; |
|
412 | + } |
|
413 | + |
|
414 | + $answer->set('ANS_value', $ANS_value); |
|
415 | + $success = $answer->save(); |
|
416 | + } |
|
417 | + } |
|
418 | + $what = __('Registration Form', 'event_espresso'); |
|
419 | + $route = $REG_ID ? array('action' => 'view_registration', '_REG_ID' => $REG_ID) : array('action' => 'default'); |
|
420 | + $admin_page->redirect_after_action($success, $what, __('updated', 'event_espresso'), $route); |
|
421 | + exit; |
|
422 | 422 | } |
423 | 423 | |
424 | 424 | add_action( |
425 | - 'AHEE__Registrations_Admin_Page___update_attendee_registration_form__start', |
|
426 | - 'ee_deprecated_update_attendee_registration_form_old', |
|
427 | - 10, |
|
428 | - 1 |
|
425 | + 'AHEE__Registrations_Admin_Page___update_attendee_registration_form__start', |
|
426 | + 'ee_deprecated_update_attendee_registration_form_old', |
|
427 | + 10, |
|
428 | + 1 |
|
429 | 429 | ); |
430 | 430 | /** |
431 | 431 | * Render the registration admin page's custom questions area in the old fashion |
@@ -441,50 +441,50 @@ discard block |
||
441 | 441 | */ |
442 | 442 | function ee_deprecated_reg_questions_meta_box_old($do_default_action, $admin_page, $registration) |
443 | 443 | { |
444 | - // check if the old hooks are in use. If not, do the default |
|
445 | - if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
446 | - || ! $admin_page instanceof EE_Admin_Page) { |
|
447 | - return $do_default_action; |
|
448 | - } |
|
449 | - add_filter( |
|
450 | - 'FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', |
|
451 | - array($admin_page, 'form_before_question_group'), |
|
452 | - 10, |
|
453 | - 1 |
|
454 | - ); |
|
455 | - add_filter( |
|
456 | - 'FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', |
|
457 | - array($admin_page, 'form_after_question_group'), |
|
458 | - 10, |
|
459 | - 1 |
|
460 | - ); |
|
461 | - add_filter('FHEE__EEH_Form_Fields__label_html', array($admin_page, 'form_form_field_label_wrap'), 10, 1); |
|
462 | - add_filter('FHEE__EEH_Form_Fields__input_html', array($admin_page, 'form_form_field_input__wrap'), 10, 1); |
|
463 | - |
|
464 | - $question_groups = EEM_Event::instance()->assemble_array_of_groups_questions_and_options( |
|
465 | - $registration, |
|
466 | - $registration->get( |
|
467 | - 'EVT_ID' |
|
468 | - ) |
|
469 | - ); |
|
470 | - |
|
471 | - EE_Registry::instance()->load_helper('Form_Fields'); |
|
472 | - $template_args = array( |
|
473 | - 'att_questions' => EEH_Form_Fields::generate_question_groups_html($question_groups), |
|
474 | - 'reg_questions_form_action' => 'edit_registration', |
|
475 | - 'REG_ID' => $registration->ID(), |
|
476 | - ); |
|
477 | - $template_path = REG_TEMPLATE_PATH . 'reg_admin_details_main_meta_box_reg_questions.template.php'; |
|
478 | - echo EEH_Template::display_template($template_path, $template_args, true); |
|
479 | - // indicate that we should not do the default admin page code |
|
480 | - return false; |
|
444 | + // check if the old hooks are in use. If not, do the default |
|
445 | + if (! ee_deprecated_using_old_registration_admin_custom_questions_form_hooks() |
|
446 | + || ! $admin_page instanceof EE_Admin_Page) { |
|
447 | + return $do_default_action; |
|
448 | + } |
|
449 | + add_filter( |
|
450 | + 'FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', |
|
451 | + array($admin_page, 'form_before_question_group'), |
|
452 | + 10, |
|
453 | + 1 |
|
454 | + ); |
|
455 | + add_filter( |
|
456 | + 'FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', |
|
457 | + array($admin_page, 'form_after_question_group'), |
|
458 | + 10, |
|
459 | + 1 |
|
460 | + ); |
|
461 | + add_filter('FHEE__EEH_Form_Fields__label_html', array($admin_page, 'form_form_field_label_wrap'), 10, 1); |
|
462 | + add_filter('FHEE__EEH_Form_Fields__input_html', array($admin_page, 'form_form_field_input__wrap'), 10, 1); |
|
463 | + |
|
464 | + $question_groups = EEM_Event::instance()->assemble_array_of_groups_questions_and_options( |
|
465 | + $registration, |
|
466 | + $registration->get( |
|
467 | + 'EVT_ID' |
|
468 | + ) |
|
469 | + ); |
|
470 | + |
|
471 | + EE_Registry::instance()->load_helper('Form_Fields'); |
|
472 | + $template_args = array( |
|
473 | + 'att_questions' => EEH_Form_Fields::generate_question_groups_html($question_groups), |
|
474 | + 'reg_questions_form_action' => 'edit_registration', |
|
475 | + 'REG_ID' => $registration->ID(), |
|
476 | + ); |
|
477 | + $template_path = REG_TEMPLATE_PATH . 'reg_admin_details_main_meta_box_reg_questions.template.php'; |
|
478 | + echo EEH_Template::display_template($template_path, $template_args, true); |
|
479 | + // indicate that we should not do the default admin page code |
|
480 | + return false; |
|
481 | 481 | } |
482 | 482 | |
483 | 483 | add_action( |
484 | - 'FHEE__Registrations_Admin_Page___reg_questions_meta_box__do_default', |
|
485 | - 'ee_deprecated_reg_questions_meta_box_old', |
|
486 | - 10, |
|
487 | - 3 |
|
484 | + 'FHEE__Registrations_Admin_Page___reg_questions_meta_box__do_default', |
|
485 | + 'ee_deprecated_reg_questions_meta_box_old', |
|
486 | + 10, |
|
487 | + 3 |
|
488 | 488 | ); |
489 | 489 | |
490 | 490 | |
@@ -501,42 +501,42 @@ discard block |
||
501 | 501 | class EE_Message_Template_Defaults extends EE_Base |
502 | 502 | { |
503 | 503 | |
504 | - /** |
|
505 | - * EE_Message_Template_Defaults constructor. |
|
506 | - * |
|
507 | - * @param EE_messages $messages |
|
508 | - * @param $messenger_name |
|
509 | - * @param $message_type_name |
|
510 | - * @param int $GRP_ID |
|
511 | - * @return EE_Messages_Template_Defaults |
|
512 | - */ |
|
513 | - public function __construct( |
|
514 | - EE_messages $messages, |
|
515 | - $messenger_name, |
|
516 | - $message_type_name, |
|
517 | - $GRP_ID = 0 |
|
518 | - ) { |
|
519 | - EE_Error::doing_it_wrong( |
|
520 | - __FUNCTION__, |
|
521 | - __( |
|
522 | - 'The class EE_Message_Template_Defaults has been deprecated and replaced by EE_Messages_Template_Defaults.', |
|
523 | - 'event_espresso' |
|
524 | - ), |
|
525 | - '4.9.0' |
|
526 | - ); |
|
527 | - /** @var EE_Message_Resource_Manager $message_resource_manager */ |
|
528 | - $message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
529 | - $messenger = $message_resource_manager->get_messenger($messenger_name); |
|
530 | - $message_type = $message_resource_manager->get_message_type($message_type_name); |
|
531 | - return EE_Registry::instance()->load_lib( |
|
532 | - 'Messages_Template_Defaults', |
|
533 | - array( |
|
534 | - $GRP_ID, |
|
535 | - $messenger, |
|
536 | - $message_type, |
|
537 | - ) |
|
538 | - ); |
|
539 | - } |
|
504 | + /** |
|
505 | + * EE_Message_Template_Defaults constructor. |
|
506 | + * |
|
507 | + * @param EE_messages $messages |
|
508 | + * @param $messenger_name |
|
509 | + * @param $message_type_name |
|
510 | + * @param int $GRP_ID |
|
511 | + * @return EE_Messages_Template_Defaults |
|
512 | + */ |
|
513 | + public function __construct( |
|
514 | + EE_messages $messages, |
|
515 | + $messenger_name, |
|
516 | + $message_type_name, |
|
517 | + $GRP_ID = 0 |
|
518 | + ) { |
|
519 | + EE_Error::doing_it_wrong( |
|
520 | + __FUNCTION__, |
|
521 | + __( |
|
522 | + 'The class EE_Message_Template_Defaults has been deprecated and replaced by EE_Messages_Template_Defaults.', |
|
523 | + 'event_espresso' |
|
524 | + ), |
|
525 | + '4.9.0' |
|
526 | + ); |
|
527 | + /** @var EE_Message_Resource_Manager $message_resource_manager */ |
|
528 | + $message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
529 | + $messenger = $message_resource_manager->get_messenger($messenger_name); |
|
530 | + $message_type = $message_resource_manager->get_message_type($message_type_name); |
|
531 | + return EE_Registry::instance()->load_lib( |
|
532 | + 'Messages_Template_Defaults', |
|
533 | + array( |
|
534 | + $GRP_ID, |
|
535 | + $messenger, |
|
536 | + $message_type, |
|
537 | + ) |
|
538 | + ); |
|
539 | + } |
|
540 | 540 | } |
541 | 541 | |
542 | 542 | |
@@ -554,525 +554,525 @@ discard block |
||
554 | 554 | class EE_messages |
555 | 555 | { |
556 | 556 | |
557 | - /** @type EE_messenger[] */ |
|
558 | - protected $_active_messengers = array(); |
|
559 | - |
|
560 | - /** @type array */ |
|
561 | - protected $_active_message_types = array(); |
|
562 | - |
|
563 | - /** @type EE_message_type[] */ |
|
564 | - protected $_installed_message_types = array(); |
|
565 | - |
|
566 | - /** @type EE_messenger */ |
|
567 | - protected $_messenger; |
|
568 | - |
|
569 | - /** @type EE_message_type */ |
|
570 | - protected $_message_type; |
|
571 | - |
|
572 | - /** @type array */ |
|
573 | - protected $_contexts = array(); |
|
574 | - |
|
575 | - /** @type EE_Message_Resource_Manager $_message_resource_manager */ |
|
576 | - protected $_message_resource_manager; |
|
577 | - |
|
578 | - |
|
579 | - /** |
|
580 | - * EE_messages constructor. |
|
581 | - * |
|
582 | - * @deprecated 4.9.0 |
|
583 | - */ |
|
584 | - public function __construct() |
|
585 | - { |
|
586 | - } |
|
587 | - |
|
588 | - |
|
589 | - /** |
|
590 | - * @param string $method |
|
591 | - */ |
|
592 | - public function _class_is_deprecated($method) |
|
593 | - { |
|
594 | - EE_Error::doing_it_wrong( |
|
595 | - 'EE_messages::' . $method, |
|
596 | - __('EE_messages has been deprecated. Please use EE_Message_Resource_Manager instead.'), |
|
597 | - '4.9.0', |
|
598 | - '4.10.0.p' |
|
599 | - ); |
|
600 | - // Please use EE_Message_Resource_Manager instead |
|
601 | - $this->_message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
602 | - } |
|
603 | - |
|
604 | - |
|
605 | - /** |
|
606 | - * @deprecated 4.9.0 |
|
607 | - * @param string $messenger_name |
|
608 | - * @return boolean TRUE if it was PREVIOUSLY active, and FALSE if it was previously inactive |
|
609 | - */ |
|
610 | - public function ensure_messenger_is_active($messenger_name) |
|
611 | - { |
|
612 | - // EE_messages has been deprecated |
|
613 | - $this->_class_is_deprecated(__FUNCTION__); |
|
614 | - return $this->_message_resource_manager->ensure_messenger_is_active($messenger_name); |
|
615 | - } |
|
616 | - |
|
617 | - |
|
618 | - /** |
|
619 | - * @deprecated 4.9.0 |
|
620 | - * @param string $message_type message type name |
|
621 | - * @param $messenger |
|
622 | - * @return bool true if it got activated (or was active) and false if not. |
|
623 | - * @throws \EE_Error |
|
624 | - */ |
|
625 | - public function ensure_message_type_is_active($message_type, $messenger) |
|
626 | - { |
|
627 | - // EE_messages has been deprecated |
|
628 | - $this->_class_is_deprecated(__FUNCTION__); |
|
629 | - return $this->_message_resource_manager->ensure_message_type_is_active($message_type, $messenger); |
|
630 | - } |
|
631 | - |
|
632 | - |
|
633 | - /** |
|
634 | - * @deprecated 4.9.0 |
|
635 | - * @param string $messenger_name |
|
636 | - * @param array $mts_to_activate (optional) An array of message types to activate with this messenger. |
|
637 | - * If included we do NOT setup the default message types (assuming they |
|
638 | - * are already setup.) |
|
639 | - * @return boolean an array of generated templates or false if nothing generated/activated. |
|
640 | - */ |
|
641 | - public function activate_messenger($messenger_name, $mts_to_activate = array()) |
|
642 | - { |
|
643 | - // EE_messages has been deprecated |
|
644 | - $this->_class_is_deprecated(__FUNCTION__); |
|
645 | - return $this->_message_resource_manager->activate_messenger($messenger_name, $mts_to_activate); |
|
646 | - } |
|
647 | - |
|
648 | - |
|
649 | - /** |
|
650 | - * @deprecated 4.9.0 |
|
651 | - * @param EE_messenger $messenger messenger used in trigger |
|
652 | - * @param EE_message_type $message_type message type used in trigger |
|
653 | - * |
|
654 | - * @return bool true is a generating messenger and can be sent OR FALSE meaning cannot send. |
|
655 | - */ |
|
656 | - public function is_generating_messenger_and_active(EE_messenger $messenger, EE_message_type $message_type) |
|
657 | - { |
|
658 | - // EE_messages has been deprecated |
|
659 | - $this->_class_is_deprecated(__FUNCTION__); |
|
660 | - return $this->_message_resource_manager->is_generating_messenger_and_active($messenger, $message_type); |
|
661 | - } |
|
662 | - |
|
663 | - |
|
664 | - /** |
|
665 | - * @deprecated 4.9.0 |
|
666 | - * @param string $messenger |
|
667 | - * @return EE_messenger | null |
|
668 | - */ |
|
669 | - public function get_messenger_if_active($messenger) |
|
670 | - { |
|
671 | - // EE_messages has been deprecated |
|
672 | - $this->_class_is_deprecated(__FUNCTION__); |
|
673 | - return $this->_message_resource_manager->get_active_messenger($messenger); |
|
674 | - } |
|
675 | - |
|
676 | - |
|
677 | - /** |
|
678 | - * @deprecated 4.9.0 |
|
679 | - * @param EE_Message $message |
|
680 | - * @return array An array with 'messenger' and 'message_type' as the index and the corresponding valid object if |
|
681 | - * available. |
|
682 | - * Eg. Valid Messenger and Message Type: |
|
683 | - * array( |
|
684 | - * 'messenger' => new EE_Email_messenger(), |
|
685 | - * 'message_type' => new EE_Registration_Approved_message_type() |
|
686 | - * ) |
|
687 | - * Valid Messenger and Invalid Message Type: |
|
688 | - * array( |
|
689 | - * 'messenger' => new EE_Email_messenger(), |
|
690 | - * 'message_type' => null |
|
691 | - * ) |
|
692 | - */ |
|
693 | - public function validate_for_use(EE_Message $message) |
|
694 | - { |
|
695 | - // EE_messages has been deprecated |
|
696 | - $this->_class_is_deprecated(__FUNCTION__); |
|
697 | - return array( |
|
698 | - 'messenger' => $message->messenger_object(), |
|
699 | - 'message_type' => $message->message_type_object(), |
|
700 | - ); |
|
701 | - } |
|
702 | - |
|
703 | - |
|
704 | - /** |
|
705 | - * @deprecated 4.9.0 |
|
706 | - * @param string $type What type of message are we sending (corresponds to message types) |
|
707 | - * @param mixed $vars Data being sent for parsing in the message |
|
708 | - * @param string $sending_messenger if included then we ONLY use the specified messenger for delivery. |
|
709 | - * Otherwise we cycle through all active messengers. |
|
710 | - * @param string $generating_messenger if included then this messenger is used for generating the message |
|
711 | - * templates (but not for sending). |
|
712 | - * @param string $context If included then only a message type for a specific context will be |
|
713 | - * generated. |
|
714 | - * @param bool $send Default TRUE. If false, then this will just return the generated |
|
715 | - * EE_messages objects which might be used by the trigger to setup a batch |
|
716 | - * message (typically html messenger uses it). |
|
717 | - * @return bool |
|
718 | - */ |
|
719 | - public function send_message( |
|
720 | - $type, |
|
721 | - $vars, |
|
722 | - $sending_messenger = '', |
|
723 | - $generating_messenger = '', |
|
724 | - $context = '', |
|
725 | - $send = true |
|
726 | - ) { |
|
727 | - // EE_messages has been deprecated |
|
728 | - $this->_class_is_deprecated(__FUNCTION__); |
|
729 | - /** @type EE_Messages_Processor $processor */ |
|
730 | - $processor = EE_Registry::instance()->load_lib('Messages_Processor'); |
|
731 | - $error = false; |
|
732 | - // try to intelligently determine what method we'll call based on the incoming data. |
|
733 | - // if generating and sending are different then generate and send immediately. |
|
734 | - if (! empty($sending_messenger) && $sending_messenger != $generating_messenger && $send) { |
|
735 | - // in the legacy system, when generating and sending were different, that means all the |
|
736 | - // vars are already in the request object. So let's just use that. |
|
737 | - try { |
|
738 | - /** @type EE_Message_To_Generate_From_Request $mtg */ |
|
739 | - $mtg = EE_Registry::instance()->load_lib('Message_To_Generate_From_Request'); |
|
740 | - $processor->generate_and_send_now($mtg); |
|
741 | - } catch (EE_Error $e) { |
|
742 | - $error_msg = __( |
|
743 | - 'Please note that a system message failed to send due to a technical issue.', |
|
744 | - 'event_espresso' |
|
745 | - ); |
|
746 | - // add specific message for developers if WP_DEBUG in on |
|
747 | - $error_msg .= '||' . $e->getMessage(); |
|
748 | - EE_Error::add_error($error_msg, __FILE__, __FUNCTION__, __LINE__); |
|
749 | - $error = true; |
|
750 | - } |
|
751 | - } else { |
|
752 | - $processor->generate_for_all_active_messengers($type, $vars, $send); |
|
753 | - // let's find out if there were any errors and how many successfully were queued. |
|
754 | - $count_errors = $processor->get_queue()->count_STS_in_queue( |
|
755 | - array(EEM_Message::status_failed, EEM_Message::status_debug_only) |
|
756 | - ); |
|
757 | - $count_queued = $processor->get_queue()->count_STS_in_queue(EEM_Message::status_incomplete); |
|
758 | - $count_retry = $processor->get_queue()->count_STS_in_queue(EEM_Message::status_retry); |
|
759 | - $count_errors = $count_errors + $count_retry; |
|
760 | - if ($count_errors > 0) { |
|
761 | - $error = true; |
|
762 | - if ($count_errors > 1 && $count_retry > 1 && $count_queued > 1) { |
|
763 | - $message = sprintf( |
|
764 | - __( |
|
765 | - 'There were %d errors and %d messages successfully queued for generation and sending', |
|
766 | - 'event_espresso' |
|
767 | - ), |
|
768 | - $count_errors, |
|
769 | - $count_queued |
|
770 | - ); |
|
771 | - } elseif ($count_errors > 1 && $count_queued === 1) { |
|
772 | - $message = sprintf( |
|
773 | - __( |
|
774 | - 'There were %d errors and %d message successfully queued for generation.', |
|
775 | - 'event_espresso' |
|
776 | - ), |
|
777 | - $count_errors, |
|
778 | - $count_queued |
|
779 | - ); |
|
780 | - } elseif ($count_errors === 1 && $count_queued > 1) { |
|
781 | - $message = sprintf( |
|
782 | - __( |
|
783 | - 'There was %d error and %d messages successfully queued for generation.', |
|
784 | - 'event_espresso' |
|
785 | - ), |
|
786 | - $count_errors, |
|
787 | - $count_queued |
|
788 | - ); |
|
789 | - } else { |
|
790 | - $message = sprintf( |
|
791 | - __( |
|
792 | - 'There was %d message that failed to be queued for generation.', |
|
793 | - 'event_espresso' |
|
794 | - ), |
|
795 | - $count_errors |
|
796 | - ); |
|
797 | - } |
|
798 | - EE_Error::add_error($message, __FILE__, __FUNCTION__, __LINE__); |
|
799 | - } else { |
|
800 | - if ($count_queued === 1) { |
|
801 | - $message = sprintf( |
|
802 | - __( |
|
803 | - '%d message successfully queued for generation.', |
|
804 | - 'event_espresso' |
|
805 | - ), |
|
806 | - $count_queued |
|
807 | - ); |
|
808 | - } else { |
|
809 | - $message = sprintf( |
|
810 | - __( |
|
811 | - '%d messages were successfully queued for generation.', |
|
812 | - 'event_espresso' |
|
813 | - ), |
|
814 | - $count_queued |
|
815 | - ); |
|
816 | - } |
|
817 | - EE_Error::add_success($message); |
|
818 | - } |
|
819 | - } |
|
820 | - // if no error then return the generated message(s). |
|
821 | - if (! $error && ! $send) { |
|
822 | - $generated_queue = $processor->generate_queue(false); |
|
823 | - // get message and return. |
|
824 | - $generated_queue->get_message_repository()->rewind(); |
|
825 | - $messages = array(); |
|
826 | - while ($generated_queue->get_message_repository()->valid()) { |
|
827 | - $message = $generated_queue->get_message_repository()->current(); |
|
828 | - if ($message instanceof EE_Message) { |
|
829 | - // set properties that might be expected by add-ons (backward compat) |
|
830 | - $message->content = $message->content(); |
|
831 | - $message->template_pack = $message->get_template_pack(); |
|
832 | - $message->template_variation = $message->get_template_pack_variation(); |
|
833 | - $messages[] = $message; |
|
834 | - } |
|
835 | - $generated_queue->get_message_repository()->next(); |
|
836 | - } |
|
837 | - return $messages; |
|
838 | - } |
|
839 | - return $error ? false |
|
840 | - : true; // yeah backwards eh? Really what we're returning is if there is a total success for all the messages or not. We'll modify this once we get message recording in place. |
|
841 | - } |
|
842 | - |
|
843 | - |
|
844 | - /** |
|
845 | - * @deprecated 4.9.0 |
|
846 | - * @param string $type This should correspond with a valid message type |
|
847 | - * @param string $context This should correspond with a valid context for the message type |
|
848 | - * @param string $messenger This should correspond with a valid messenger. |
|
849 | - * @param bool $send true we will do a test send using the messenger delivery, false we just do a regular |
|
850 | - * preview |
|
851 | - * @return string The body of the message. |
|
852 | - */ |
|
853 | - public function preview_message($type, $context, $messenger, $send = false) |
|
854 | - { |
|
855 | - // EE_messages has been deprecated |
|
856 | - $this->_class_is_deprecated(__FUNCTION__); |
|
857 | - return EED_Messages::preview_message($type, $context, $messenger, $send); |
|
858 | - } |
|
859 | - |
|
860 | - |
|
861 | - /** |
|
862 | - * @since 4.5.0 |
|
863 | - * @deprecated 4.9.0 Moved to EED_Messages Module |
|
864 | - * @param string $messenger a string matching a valid active messenger in the system |
|
865 | - * @param string $message_type Although it seems contrary to the name of the method, a message type name is still |
|
866 | - * required to send along the message type to the messenger because this is used for |
|
867 | - * determining what specific variations might be loaded for the generated message. |
|
868 | - * @param stdClass $message a stdClass object in the format expected by the messenger. |
|
869 | - * |
|
870 | - * @return bool success or fail. |
|
871 | - */ |
|
872 | - public function send_message_with_messenger_only($messenger, $message_type, $message) |
|
873 | - { |
|
874 | - // EE_messages has been deprecated |
|
875 | - $this->_class_is_deprecated(__FUNCTION__); |
|
876 | - // setup for sending to new method. |
|
877 | - /** @type EE_Messages_Queue $queue */ |
|
878 | - $queue = EE_Registry::instance()->load_lib('Messages_Queue'); |
|
879 | - // make sure we have a proper message object |
|
880 | - if (! $message instanceof EE_Message && is_object($message) && isset($message->content)) { |
|
881 | - $msg = EE_Message_Factory::create( |
|
882 | - array( |
|
883 | - 'MSG_messenger' => $messenger, |
|
884 | - 'MSG_message_type' => $message_type, |
|
885 | - 'MSG_content' => $message->content, |
|
886 | - 'MSG_subject' => $message->subject, |
|
887 | - ) |
|
888 | - ); |
|
889 | - } else { |
|
890 | - $msg = $message; |
|
891 | - } |
|
892 | - if (! $msg instanceof EE_Message) { |
|
893 | - return false; |
|
894 | - } |
|
895 | - // make sure any content in a content property (if not empty) is set on the MSG_content. |
|
896 | - if (! empty($msg->content)) { |
|
897 | - $msg->set('MSG_content', $msg->content); |
|
898 | - } |
|
899 | - $queue->add($msg); |
|
900 | - return EED_Messages::send_message_with_messenger_only($messenger, $message_type, $queue); |
|
901 | - } |
|
902 | - |
|
903 | - |
|
904 | - /** |
|
905 | - * @deprecated 4.9.0 |
|
906 | - * @param $messenger |
|
907 | - * @param string $message_type message type that the templates are being created for |
|
908 | - * @param int $GRP_ID |
|
909 | - * @param bool $is_global |
|
910 | - * @return array|object if creation is successful then we return an array of info, otherwise an error_object is |
|
911 | - * returned. |
|
912 | - * @throws \EE_Error |
|
913 | - */ |
|
914 | - public function create_new_templates($messenger, $message_type, $GRP_ID = 0, $is_global = false) |
|
915 | - { |
|
916 | - // EE_messages has been deprecated |
|
917 | - $this->_class_is_deprecated(__FUNCTION__); |
|
918 | - EE_Registry::instance()->load_helper('MSG_Template'); |
|
919 | - return EEH_MSG_Template::create_new_templates($messenger, $message_type, $GRP_ID, $is_global); |
|
920 | - } |
|
921 | - |
|
922 | - |
|
923 | - /** |
|
924 | - * @deprecated 4.9.0 |
|
925 | - * @param string $messenger_name name of EE_messenger |
|
926 | - * @param string $message_type_name name of EE_message_type |
|
927 | - * @return array |
|
928 | - */ |
|
929 | - public function get_fields($messenger_name, $message_type_name) |
|
930 | - { |
|
931 | - // EE_messages has been deprecated |
|
932 | - $this->_class_is_deprecated(__FUNCTION__); |
|
933 | - EE_Registry::instance()->load_helper('MSG_Template'); |
|
934 | - return EEH_MSG_Template::get_fields($messenger_name, $message_type_name); |
|
935 | - } |
|
936 | - |
|
937 | - |
|
938 | - /** |
|
939 | - * @deprecated 4.9.0 |
|
940 | - * @access public |
|
941 | - * @param string $type we can indicate just returning installed message types |
|
942 | - * or messengers (or both) via this parameter. |
|
943 | - * @param bool $skip_cache if true then we skip the cache and retrieve via files. |
|
944 | - * @return array multidimensional array of messenger and message_type objects |
|
945 | - * (messengers index, and message_type index); |
|
946 | - */ |
|
947 | - public function get_installed($type = 'all', $skip_cache = false) |
|
948 | - { |
|
949 | - // EE_messages has been deprecated |
|
950 | - $this->_class_is_deprecated(__FUNCTION__); |
|
951 | - if ($skip_cache) { |
|
952 | - $this->_message_resource_manager->reset_active_messengers_and_message_types(); |
|
953 | - } |
|
954 | - switch ($type) { |
|
955 | - case 'messengers' : |
|
956 | - return array( |
|
957 | - 'messenger' => $this->_message_resource_manager->installed_messengers(), |
|
958 | - ); |
|
959 | - break; |
|
960 | - case 'message_types' : |
|
961 | - return array( |
|
962 | - 'message_type' => $this->_message_resource_manager->installed_message_types(), |
|
963 | - ); |
|
964 | - break; |
|
965 | - case 'all' : |
|
966 | - default : |
|
967 | - return array( |
|
968 | - 'messenger' => $this->_message_resource_manager->installed_messengers(), |
|
969 | - 'message_type' => $this->_message_resource_manager->installed_message_types(), |
|
970 | - ); |
|
971 | - break; |
|
972 | - } |
|
973 | - } |
|
974 | - |
|
975 | - |
|
976 | - /** |
|
977 | - * @deprecated 4.9.0 |
|
978 | - * @return \EE_messenger[] |
|
979 | - */ |
|
980 | - public function get_active_messengers() |
|
981 | - { |
|
982 | - // EE_messages has been deprecated |
|
983 | - $this->_class_is_deprecated(__FUNCTION__); |
|
984 | - return $this->_message_resource_manager->active_messengers(); |
|
985 | - } |
|
986 | - |
|
987 | - |
|
988 | - /** |
|
989 | - * @deprecated 4.9.0 |
|
990 | - * @return array array of message_type references (string) |
|
991 | - */ |
|
992 | - public function get_active_message_types() |
|
993 | - { |
|
994 | - // EE_messages has been deprecated |
|
995 | - $this->_class_is_deprecated(__FUNCTION__); |
|
996 | - return $this->_message_resource_manager->list_of_active_message_types(); |
|
997 | - } |
|
998 | - |
|
999 | - |
|
1000 | - /** |
|
1001 | - * @deprecated 4.9.0 |
|
1002 | - * @return EE_message_type[] |
|
1003 | - */ |
|
1004 | - public function get_active_message_type_objects() |
|
1005 | - { |
|
1006 | - // EE_messages has been deprecated |
|
1007 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1008 | - return $this->_message_resource_manager->get_active_message_type_objects(); |
|
1009 | - } |
|
1010 | - |
|
1011 | - |
|
1012 | - /** |
|
1013 | - * @deprecated 4.9.0 |
|
1014 | - * @since 4.5.0 |
|
1015 | - * @param string $messenger The messenger being checked |
|
1016 | - * @return EE_message_type[] (or empty array if none present) |
|
1017 | - */ |
|
1018 | - public function get_active_message_types_per_messenger($messenger) |
|
1019 | - { |
|
1020 | - // EE_messages has been deprecated |
|
1021 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1022 | - return $this->_message_resource_manager->get_active_message_types_for_messenger($messenger); |
|
1023 | - } |
|
1024 | - |
|
1025 | - |
|
1026 | - /** |
|
1027 | - * @deprecated 4.9.0 |
|
1028 | - * @param string $messenger The string should correspond to the messenger (message types are |
|
1029 | - * @param string $message_type The string should correspond to a message type. |
|
1030 | - * @return EE_message_type|null |
|
1031 | - */ |
|
1032 | - public function get_active_message_type($messenger, $message_type) |
|
1033 | - { |
|
1034 | - // EE_messages has been deprecated |
|
1035 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1036 | - return $this->_message_resource_manager->get_active_message_type_for_messenger($messenger, $message_type); |
|
1037 | - } |
|
1038 | - |
|
1039 | - |
|
1040 | - /** |
|
1041 | - * @deprecated 4.9.0 |
|
1042 | - * @return array|\EE_message_type[] |
|
1043 | - */ |
|
1044 | - public function get_installed_message_types() |
|
1045 | - { |
|
1046 | - // EE_messages has been deprecated |
|
1047 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1048 | - return $this->_message_resource_manager->installed_message_types(); |
|
1049 | - } |
|
1050 | - |
|
1051 | - |
|
1052 | - /** |
|
1053 | - * @deprecated 4.9.0 |
|
1054 | - * @return array |
|
1055 | - */ |
|
1056 | - public function get_installed_messengers() |
|
1057 | - { |
|
1058 | - // EE_messages has been deprecated |
|
1059 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1060 | - return $this->_message_resource_manager->installed_messengers(); |
|
1061 | - } |
|
1062 | - |
|
1063 | - |
|
1064 | - /** |
|
1065 | - * @deprecated 4.9.0 |
|
1066 | - * @param bool $slugs_only Whether to return an array of just slugs and labels (true) or all contexts indexed by |
|
1067 | - * message type. |
|
1068 | - * @return array |
|
1069 | - */ |
|
1070 | - public function get_all_contexts($slugs_only = true) |
|
1071 | - { |
|
1072 | - // EE_messages has been deprecated |
|
1073 | - $this->_class_is_deprecated(__FUNCTION__); |
|
1074 | - return $this->_message_resource_manager->get_all_contexts($slugs_only); |
|
1075 | - } |
|
557 | + /** @type EE_messenger[] */ |
|
558 | + protected $_active_messengers = array(); |
|
559 | + |
|
560 | + /** @type array */ |
|
561 | + protected $_active_message_types = array(); |
|
562 | + |
|
563 | + /** @type EE_message_type[] */ |
|
564 | + protected $_installed_message_types = array(); |
|
565 | + |
|
566 | + /** @type EE_messenger */ |
|
567 | + protected $_messenger; |
|
568 | + |
|
569 | + /** @type EE_message_type */ |
|
570 | + protected $_message_type; |
|
571 | + |
|
572 | + /** @type array */ |
|
573 | + protected $_contexts = array(); |
|
574 | + |
|
575 | + /** @type EE_Message_Resource_Manager $_message_resource_manager */ |
|
576 | + protected $_message_resource_manager; |
|
577 | + |
|
578 | + |
|
579 | + /** |
|
580 | + * EE_messages constructor. |
|
581 | + * |
|
582 | + * @deprecated 4.9.0 |
|
583 | + */ |
|
584 | + public function __construct() |
|
585 | + { |
|
586 | + } |
|
587 | + |
|
588 | + |
|
589 | + /** |
|
590 | + * @param string $method |
|
591 | + */ |
|
592 | + public function _class_is_deprecated($method) |
|
593 | + { |
|
594 | + EE_Error::doing_it_wrong( |
|
595 | + 'EE_messages::' . $method, |
|
596 | + __('EE_messages has been deprecated. Please use EE_Message_Resource_Manager instead.'), |
|
597 | + '4.9.0', |
|
598 | + '4.10.0.p' |
|
599 | + ); |
|
600 | + // Please use EE_Message_Resource_Manager instead |
|
601 | + $this->_message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
602 | + } |
|
603 | + |
|
604 | + |
|
605 | + /** |
|
606 | + * @deprecated 4.9.0 |
|
607 | + * @param string $messenger_name |
|
608 | + * @return boolean TRUE if it was PREVIOUSLY active, and FALSE if it was previously inactive |
|
609 | + */ |
|
610 | + public function ensure_messenger_is_active($messenger_name) |
|
611 | + { |
|
612 | + // EE_messages has been deprecated |
|
613 | + $this->_class_is_deprecated(__FUNCTION__); |
|
614 | + return $this->_message_resource_manager->ensure_messenger_is_active($messenger_name); |
|
615 | + } |
|
616 | + |
|
617 | + |
|
618 | + /** |
|
619 | + * @deprecated 4.9.0 |
|
620 | + * @param string $message_type message type name |
|
621 | + * @param $messenger |
|
622 | + * @return bool true if it got activated (or was active) and false if not. |
|
623 | + * @throws \EE_Error |
|
624 | + */ |
|
625 | + public function ensure_message_type_is_active($message_type, $messenger) |
|
626 | + { |
|
627 | + // EE_messages has been deprecated |
|
628 | + $this->_class_is_deprecated(__FUNCTION__); |
|
629 | + return $this->_message_resource_manager->ensure_message_type_is_active($message_type, $messenger); |
|
630 | + } |
|
631 | + |
|
632 | + |
|
633 | + /** |
|
634 | + * @deprecated 4.9.0 |
|
635 | + * @param string $messenger_name |
|
636 | + * @param array $mts_to_activate (optional) An array of message types to activate with this messenger. |
|
637 | + * If included we do NOT setup the default message types (assuming they |
|
638 | + * are already setup.) |
|
639 | + * @return boolean an array of generated templates or false if nothing generated/activated. |
|
640 | + */ |
|
641 | + public function activate_messenger($messenger_name, $mts_to_activate = array()) |
|
642 | + { |
|
643 | + // EE_messages has been deprecated |
|
644 | + $this->_class_is_deprecated(__FUNCTION__); |
|
645 | + return $this->_message_resource_manager->activate_messenger($messenger_name, $mts_to_activate); |
|
646 | + } |
|
647 | + |
|
648 | + |
|
649 | + /** |
|
650 | + * @deprecated 4.9.0 |
|
651 | + * @param EE_messenger $messenger messenger used in trigger |
|
652 | + * @param EE_message_type $message_type message type used in trigger |
|
653 | + * |
|
654 | + * @return bool true is a generating messenger and can be sent OR FALSE meaning cannot send. |
|
655 | + */ |
|
656 | + public function is_generating_messenger_and_active(EE_messenger $messenger, EE_message_type $message_type) |
|
657 | + { |
|
658 | + // EE_messages has been deprecated |
|
659 | + $this->_class_is_deprecated(__FUNCTION__); |
|
660 | + return $this->_message_resource_manager->is_generating_messenger_and_active($messenger, $message_type); |
|
661 | + } |
|
662 | + |
|
663 | + |
|
664 | + /** |
|
665 | + * @deprecated 4.9.0 |
|
666 | + * @param string $messenger |
|
667 | + * @return EE_messenger | null |
|
668 | + */ |
|
669 | + public function get_messenger_if_active($messenger) |
|
670 | + { |
|
671 | + // EE_messages has been deprecated |
|
672 | + $this->_class_is_deprecated(__FUNCTION__); |
|
673 | + return $this->_message_resource_manager->get_active_messenger($messenger); |
|
674 | + } |
|
675 | + |
|
676 | + |
|
677 | + /** |
|
678 | + * @deprecated 4.9.0 |
|
679 | + * @param EE_Message $message |
|
680 | + * @return array An array with 'messenger' and 'message_type' as the index and the corresponding valid object if |
|
681 | + * available. |
|
682 | + * Eg. Valid Messenger and Message Type: |
|
683 | + * array( |
|
684 | + * 'messenger' => new EE_Email_messenger(), |
|
685 | + * 'message_type' => new EE_Registration_Approved_message_type() |
|
686 | + * ) |
|
687 | + * Valid Messenger and Invalid Message Type: |
|
688 | + * array( |
|
689 | + * 'messenger' => new EE_Email_messenger(), |
|
690 | + * 'message_type' => null |
|
691 | + * ) |
|
692 | + */ |
|
693 | + public function validate_for_use(EE_Message $message) |
|
694 | + { |
|
695 | + // EE_messages has been deprecated |
|
696 | + $this->_class_is_deprecated(__FUNCTION__); |
|
697 | + return array( |
|
698 | + 'messenger' => $message->messenger_object(), |
|
699 | + 'message_type' => $message->message_type_object(), |
|
700 | + ); |
|
701 | + } |
|
702 | + |
|
703 | + |
|
704 | + /** |
|
705 | + * @deprecated 4.9.0 |
|
706 | + * @param string $type What type of message are we sending (corresponds to message types) |
|
707 | + * @param mixed $vars Data being sent for parsing in the message |
|
708 | + * @param string $sending_messenger if included then we ONLY use the specified messenger for delivery. |
|
709 | + * Otherwise we cycle through all active messengers. |
|
710 | + * @param string $generating_messenger if included then this messenger is used for generating the message |
|
711 | + * templates (but not for sending). |
|
712 | + * @param string $context If included then only a message type for a specific context will be |
|
713 | + * generated. |
|
714 | + * @param bool $send Default TRUE. If false, then this will just return the generated |
|
715 | + * EE_messages objects which might be used by the trigger to setup a batch |
|
716 | + * message (typically html messenger uses it). |
|
717 | + * @return bool |
|
718 | + */ |
|
719 | + public function send_message( |
|
720 | + $type, |
|
721 | + $vars, |
|
722 | + $sending_messenger = '', |
|
723 | + $generating_messenger = '', |
|
724 | + $context = '', |
|
725 | + $send = true |
|
726 | + ) { |
|
727 | + // EE_messages has been deprecated |
|
728 | + $this->_class_is_deprecated(__FUNCTION__); |
|
729 | + /** @type EE_Messages_Processor $processor */ |
|
730 | + $processor = EE_Registry::instance()->load_lib('Messages_Processor'); |
|
731 | + $error = false; |
|
732 | + // try to intelligently determine what method we'll call based on the incoming data. |
|
733 | + // if generating and sending are different then generate and send immediately. |
|
734 | + if (! empty($sending_messenger) && $sending_messenger != $generating_messenger && $send) { |
|
735 | + // in the legacy system, when generating and sending were different, that means all the |
|
736 | + // vars are already in the request object. So let's just use that. |
|
737 | + try { |
|
738 | + /** @type EE_Message_To_Generate_From_Request $mtg */ |
|
739 | + $mtg = EE_Registry::instance()->load_lib('Message_To_Generate_From_Request'); |
|
740 | + $processor->generate_and_send_now($mtg); |
|
741 | + } catch (EE_Error $e) { |
|
742 | + $error_msg = __( |
|
743 | + 'Please note that a system message failed to send due to a technical issue.', |
|
744 | + 'event_espresso' |
|
745 | + ); |
|
746 | + // add specific message for developers if WP_DEBUG in on |
|
747 | + $error_msg .= '||' . $e->getMessage(); |
|
748 | + EE_Error::add_error($error_msg, __FILE__, __FUNCTION__, __LINE__); |
|
749 | + $error = true; |
|
750 | + } |
|
751 | + } else { |
|
752 | + $processor->generate_for_all_active_messengers($type, $vars, $send); |
|
753 | + // let's find out if there were any errors and how many successfully were queued. |
|
754 | + $count_errors = $processor->get_queue()->count_STS_in_queue( |
|
755 | + array(EEM_Message::status_failed, EEM_Message::status_debug_only) |
|
756 | + ); |
|
757 | + $count_queued = $processor->get_queue()->count_STS_in_queue(EEM_Message::status_incomplete); |
|
758 | + $count_retry = $processor->get_queue()->count_STS_in_queue(EEM_Message::status_retry); |
|
759 | + $count_errors = $count_errors + $count_retry; |
|
760 | + if ($count_errors > 0) { |
|
761 | + $error = true; |
|
762 | + if ($count_errors > 1 && $count_retry > 1 && $count_queued > 1) { |
|
763 | + $message = sprintf( |
|
764 | + __( |
|
765 | + 'There were %d errors and %d messages successfully queued for generation and sending', |
|
766 | + 'event_espresso' |
|
767 | + ), |
|
768 | + $count_errors, |
|
769 | + $count_queued |
|
770 | + ); |
|
771 | + } elseif ($count_errors > 1 && $count_queued === 1) { |
|
772 | + $message = sprintf( |
|
773 | + __( |
|
774 | + 'There were %d errors and %d message successfully queued for generation.', |
|
775 | + 'event_espresso' |
|
776 | + ), |
|
777 | + $count_errors, |
|
778 | + $count_queued |
|
779 | + ); |
|
780 | + } elseif ($count_errors === 1 && $count_queued > 1) { |
|
781 | + $message = sprintf( |
|
782 | + __( |
|
783 | + 'There was %d error and %d messages successfully queued for generation.', |
|
784 | + 'event_espresso' |
|
785 | + ), |
|
786 | + $count_errors, |
|
787 | + $count_queued |
|
788 | + ); |
|
789 | + } else { |
|
790 | + $message = sprintf( |
|
791 | + __( |
|
792 | + 'There was %d message that failed to be queued for generation.', |
|
793 | + 'event_espresso' |
|
794 | + ), |
|
795 | + $count_errors |
|
796 | + ); |
|
797 | + } |
|
798 | + EE_Error::add_error($message, __FILE__, __FUNCTION__, __LINE__); |
|
799 | + } else { |
|
800 | + if ($count_queued === 1) { |
|
801 | + $message = sprintf( |
|
802 | + __( |
|
803 | + '%d message successfully queued for generation.', |
|
804 | + 'event_espresso' |
|
805 | + ), |
|
806 | + $count_queued |
|
807 | + ); |
|
808 | + } else { |
|
809 | + $message = sprintf( |
|
810 | + __( |
|
811 | + '%d messages were successfully queued for generation.', |
|
812 | + 'event_espresso' |
|
813 | + ), |
|
814 | + $count_queued |
|
815 | + ); |
|
816 | + } |
|
817 | + EE_Error::add_success($message); |
|
818 | + } |
|
819 | + } |
|
820 | + // if no error then return the generated message(s). |
|
821 | + if (! $error && ! $send) { |
|
822 | + $generated_queue = $processor->generate_queue(false); |
|
823 | + // get message and return. |
|
824 | + $generated_queue->get_message_repository()->rewind(); |
|
825 | + $messages = array(); |
|
826 | + while ($generated_queue->get_message_repository()->valid()) { |
|
827 | + $message = $generated_queue->get_message_repository()->current(); |
|
828 | + if ($message instanceof EE_Message) { |
|
829 | + // set properties that might be expected by add-ons (backward compat) |
|
830 | + $message->content = $message->content(); |
|
831 | + $message->template_pack = $message->get_template_pack(); |
|
832 | + $message->template_variation = $message->get_template_pack_variation(); |
|
833 | + $messages[] = $message; |
|
834 | + } |
|
835 | + $generated_queue->get_message_repository()->next(); |
|
836 | + } |
|
837 | + return $messages; |
|
838 | + } |
|
839 | + return $error ? false |
|
840 | + : true; // yeah backwards eh? Really what we're returning is if there is a total success for all the messages or not. We'll modify this once we get message recording in place. |
|
841 | + } |
|
842 | + |
|
843 | + |
|
844 | + /** |
|
845 | + * @deprecated 4.9.0 |
|
846 | + * @param string $type This should correspond with a valid message type |
|
847 | + * @param string $context This should correspond with a valid context for the message type |
|
848 | + * @param string $messenger This should correspond with a valid messenger. |
|
849 | + * @param bool $send true we will do a test send using the messenger delivery, false we just do a regular |
|
850 | + * preview |
|
851 | + * @return string The body of the message. |
|
852 | + */ |
|
853 | + public function preview_message($type, $context, $messenger, $send = false) |
|
854 | + { |
|
855 | + // EE_messages has been deprecated |
|
856 | + $this->_class_is_deprecated(__FUNCTION__); |
|
857 | + return EED_Messages::preview_message($type, $context, $messenger, $send); |
|
858 | + } |
|
859 | + |
|
860 | + |
|
861 | + /** |
|
862 | + * @since 4.5.0 |
|
863 | + * @deprecated 4.9.0 Moved to EED_Messages Module |
|
864 | + * @param string $messenger a string matching a valid active messenger in the system |
|
865 | + * @param string $message_type Although it seems contrary to the name of the method, a message type name is still |
|
866 | + * required to send along the message type to the messenger because this is used for |
|
867 | + * determining what specific variations might be loaded for the generated message. |
|
868 | + * @param stdClass $message a stdClass object in the format expected by the messenger. |
|
869 | + * |
|
870 | + * @return bool success or fail. |
|
871 | + */ |
|
872 | + public function send_message_with_messenger_only($messenger, $message_type, $message) |
|
873 | + { |
|
874 | + // EE_messages has been deprecated |
|
875 | + $this->_class_is_deprecated(__FUNCTION__); |
|
876 | + // setup for sending to new method. |
|
877 | + /** @type EE_Messages_Queue $queue */ |
|
878 | + $queue = EE_Registry::instance()->load_lib('Messages_Queue'); |
|
879 | + // make sure we have a proper message object |
|
880 | + if (! $message instanceof EE_Message && is_object($message) && isset($message->content)) { |
|
881 | + $msg = EE_Message_Factory::create( |
|
882 | + array( |
|
883 | + 'MSG_messenger' => $messenger, |
|
884 | + 'MSG_message_type' => $message_type, |
|
885 | + 'MSG_content' => $message->content, |
|
886 | + 'MSG_subject' => $message->subject, |
|
887 | + ) |
|
888 | + ); |
|
889 | + } else { |
|
890 | + $msg = $message; |
|
891 | + } |
|
892 | + if (! $msg instanceof EE_Message) { |
|
893 | + return false; |
|
894 | + } |
|
895 | + // make sure any content in a content property (if not empty) is set on the MSG_content. |
|
896 | + if (! empty($msg->content)) { |
|
897 | + $msg->set('MSG_content', $msg->content); |
|
898 | + } |
|
899 | + $queue->add($msg); |
|
900 | + return EED_Messages::send_message_with_messenger_only($messenger, $message_type, $queue); |
|
901 | + } |
|
902 | + |
|
903 | + |
|
904 | + /** |
|
905 | + * @deprecated 4.9.0 |
|
906 | + * @param $messenger |
|
907 | + * @param string $message_type message type that the templates are being created for |
|
908 | + * @param int $GRP_ID |
|
909 | + * @param bool $is_global |
|
910 | + * @return array|object if creation is successful then we return an array of info, otherwise an error_object is |
|
911 | + * returned. |
|
912 | + * @throws \EE_Error |
|
913 | + */ |
|
914 | + public function create_new_templates($messenger, $message_type, $GRP_ID = 0, $is_global = false) |
|
915 | + { |
|
916 | + // EE_messages has been deprecated |
|
917 | + $this->_class_is_deprecated(__FUNCTION__); |
|
918 | + EE_Registry::instance()->load_helper('MSG_Template'); |
|
919 | + return EEH_MSG_Template::create_new_templates($messenger, $message_type, $GRP_ID, $is_global); |
|
920 | + } |
|
921 | + |
|
922 | + |
|
923 | + /** |
|
924 | + * @deprecated 4.9.0 |
|
925 | + * @param string $messenger_name name of EE_messenger |
|
926 | + * @param string $message_type_name name of EE_message_type |
|
927 | + * @return array |
|
928 | + */ |
|
929 | + public function get_fields($messenger_name, $message_type_name) |
|
930 | + { |
|
931 | + // EE_messages has been deprecated |
|
932 | + $this->_class_is_deprecated(__FUNCTION__); |
|
933 | + EE_Registry::instance()->load_helper('MSG_Template'); |
|
934 | + return EEH_MSG_Template::get_fields($messenger_name, $message_type_name); |
|
935 | + } |
|
936 | + |
|
937 | + |
|
938 | + /** |
|
939 | + * @deprecated 4.9.0 |
|
940 | + * @access public |
|
941 | + * @param string $type we can indicate just returning installed message types |
|
942 | + * or messengers (or both) via this parameter. |
|
943 | + * @param bool $skip_cache if true then we skip the cache and retrieve via files. |
|
944 | + * @return array multidimensional array of messenger and message_type objects |
|
945 | + * (messengers index, and message_type index); |
|
946 | + */ |
|
947 | + public function get_installed($type = 'all', $skip_cache = false) |
|
948 | + { |
|
949 | + // EE_messages has been deprecated |
|
950 | + $this->_class_is_deprecated(__FUNCTION__); |
|
951 | + if ($skip_cache) { |
|
952 | + $this->_message_resource_manager->reset_active_messengers_and_message_types(); |
|
953 | + } |
|
954 | + switch ($type) { |
|
955 | + case 'messengers' : |
|
956 | + return array( |
|
957 | + 'messenger' => $this->_message_resource_manager->installed_messengers(), |
|
958 | + ); |
|
959 | + break; |
|
960 | + case 'message_types' : |
|
961 | + return array( |
|
962 | + 'message_type' => $this->_message_resource_manager->installed_message_types(), |
|
963 | + ); |
|
964 | + break; |
|
965 | + case 'all' : |
|
966 | + default : |
|
967 | + return array( |
|
968 | + 'messenger' => $this->_message_resource_manager->installed_messengers(), |
|
969 | + 'message_type' => $this->_message_resource_manager->installed_message_types(), |
|
970 | + ); |
|
971 | + break; |
|
972 | + } |
|
973 | + } |
|
974 | + |
|
975 | + |
|
976 | + /** |
|
977 | + * @deprecated 4.9.0 |
|
978 | + * @return \EE_messenger[] |
|
979 | + */ |
|
980 | + public function get_active_messengers() |
|
981 | + { |
|
982 | + // EE_messages has been deprecated |
|
983 | + $this->_class_is_deprecated(__FUNCTION__); |
|
984 | + return $this->_message_resource_manager->active_messengers(); |
|
985 | + } |
|
986 | + |
|
987 | + |
|
988 | + /** |
|
989 | + * @deprecated 4.9.0 |
|
990 | + * @return array array of message_type references (string) |
|
991 | + */ |
|
992 | + public function get_active_message_types() |
|
993 | + { |
|
994 | + // EE_messages has been deprecated |
|
995 | + $this->_class_is_deprecated(__FUNCTION__); |
|
996 | + return $this->_message_resource_manager->list_of_active_message_types(); |
|
997 | + } |
|
998 | + |
|
999 | + |
|
1000 | + /** |
|
1001 | + * @deprecated 4.9.0 |
|
1002 | + * @return EE_message_type[] |
|
1003 | + */ |
|
1004 | + public function get_active_message_type_objects() |
|
1005 | + { |
|
1006 | + // EE_messages has been deprecated |
|
1007 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1008 | + return $this->_message_resource_manager->get_active_message_type_objects(); |
|
1009 | + } |
|
1010 | + |
|
1011 | + |
|
1012 | + /** |
|
1013 | + * @deprecated 4.9.0 |
|
1014 | + * @since 4.5.0 |
|
1015 | + * @param string $messenger The messenger being checked |
|
1016 | + * @return EE_message_type[] (or empty array if none present) |
|
1017 | + */ |
|
1018 | + public function get_active_message_types_per_messenger($messenger) |
|
1019 | + { |
|
1020 | + // EE_messages has been deprecated |
|
1021 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1022 | + return $this->_message_resource_manager->get_active_message_types_for_messenger($messenger); |
|
1023 | + } |
|
1024 | + |
|
1025 | + |
|
1026 | + /** |
|
1027 | + * @deprecated 4.9.0 |
|
1028 | + * @param string $messenger The string should correspond to the messenger (message types are |
|
1029 | + * @param string $message_type The string should correspond to a message type. |
|
1030 | + * @return EE_message_type|null |
|
1031 | + */ |
|
1032 | + public function get_active_message_type($messenger, $message_type) |
|
1033 | + { |
|
1034 | + // EE_messages has been deprecated |
|
1035 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1036 | + return $this->_message_resource_manager->get_active_message_type_for_messenger($messenger, $message_type); |
|
1037 | + } |
|
1038 | + |
|
1039 | + |
|
1040 | + /** |
|
1041 | + * @deprecated 4.9.0 |
|
1042 | + * @return array|\EE_message_type[] |
|
1043 | + */ |
|
1044 | + public function get_installed_message_types() |
|
1045 | + { |
|
1046 | + // EE_messages has been deprecated |
|
1047 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1048 | + return $this->_message_resource_manager->installed_message_types(); |
|
1049 | + } |
|
1050 | + |
|
1051 | + |
|
1052 | + /** |
|
1053 | + * @deprecated 4.9.0 |
|
1054 | + * @return array |
|
1055 | + */ |
|
1056 | + public function get_installed_messengers() |
|
1057 | + { |
|
1058 | + // EE_messages has been deprecated |
|
1059 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1060 | + return $this->_message_resource_manager->installed_messengers(); |
|
1061 | + } |
|
1062 | + |
|
1063 | + |
|
1064 | + /** |
|
1065 | + * @deprecated 4.9.0 |
|
1066 | + * @param bool $slugs_only Whether to return an array of just slugs and labels (true) or all contexts indexed by |
|
1067 | + * message type. |
|
1068 | + * @return array |
|
1069 | + */ |
|
1070 | + public function get_all_contexts($slugs_only = true) |
|
1071 | + { |
|
1072 | + // EE_messages has been deprecated |
|
1073 | + $this->_class_is_deprecated(__FUNCTION__); |
|
1074 | + return $this->_message_resource_manager->get_all_contexts($slugs_only); |
|
1075 | + } |
|
1076 | 1076 | |
1077 | 1077 | |
1078 | 1078 | } |
@@ -1131,88 +1131,88 @@ discard block |
||
1131 | 1131 | |
1132 | 1132 | |
1133 | 1133 | add_filter( |
1134 | - 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__css', |
|
1135 | - function ($event_list_iframe_css) { |
|
1136 | - if (! has_filter('FHEE__EventsArchiveIframe__event_list_iframe__css')) { |
|
1137 | - return $event_list_iframe_css; |
|
1138 | - } |
|
1139 | - deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1140 | - 'FHEE__EventsArchiveIframe__event_list_iframe__css', |
|
1141 | - 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__css', |
|
1142 | - '\EventEspresso\modules\events_archive\EventsArchiveIframe::display()', |
|
1143 | - '4.9.14', |
|
1144 | - '5.0.0', |
|
1145 | - 'filter' |
|
1146 | - ); |
|
1147 | - return apply_filters( |
|
1148 | - 'FHEE__EventsArchiveIframe__event_list_iframe__css', |
|
1149 | - $event_list_iframe_css |
|
1150 | - ); |
|
1151 | - } |
|
1134 | + 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__css', |
|
1135 | + function ($event_list_iframe_css) { |
|
1136 | + if (! has_filter('FHEE__EventsArchiveIframe__event_list_iframe__css')) { |
|
1137 | + return $event_list_iframe_css; |
|
1138 | + } |
|
1139 | + deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1140 | + 'FHEE__EventsArchiveIframe__event_list_iframe__css', |
|
1141 | + 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__css', |
|
1142 | + '\EventEspresso\modules\events_archive\EventsArchiveIframe::display()', |
|
1143 | + '4.9.14', |
|
1144 | + '5.0.0', |
|
1145 | + 'filter' |
|
1146 | + ); |
|
1147 | + return apply_filters( |
|
1148 | + 'FHEE__EventsArchiveIframe__event_list_iframe__css', |
|
1149 | + $event_list_iframe_css |
|
1150 | + ); |
|
1151 | + } |
|
1152 | 1152 | ); |
1153 | 1153 | add_filter( |
1154 | - 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__js', |
|
1155 | - function ($event_list_iframe_js) { |
|
1156 | - if (! has_filter('FHEE__EED_Ticket_Selector__ticket_selector_iframe__js')) { |
|
1157 | - return $event_list_iframe_js; |
|
1158 | - } |
|
1159 | - deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1160 | - 'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js', |
|
1161 | - 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__js', |
|
1162 | - '\EventEspresso\modules\events_archive\EventsArchiveIframe::display()', |
|
1163 | - '4.9.14', |
|
1164 | - '5.0.0', |
|
1165 | - 'filter' |
|
1166 | - ); |
|
1167 | - return apply_filters( |
|
1168 | - 'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js', |
|
1169 | - $event_list_iframe_js |
|
1170 | - ); |
|
1171 | - } |
|
1154 | + 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__js', |
|
1155 | + function ($event_list_iframe_js) { |
|
1156 | + if (! has_filter('FHEE__EED_Ticket_Selector__ticket_selector_iframe__js')) { |
|
1157 | + return $event_list_iframe_js; |
|
1158 | + } |
|
1159 | + deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1160 | + 'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js', |
|
1161 | + 'FHEE__EventEspresso_modules_events_archive_EventsArchiveIframe__display__js', |
|
1162 | + '\EventEspresso\modules\events_archive\EventsArchiveIframe::display()', |
|
1163 | + '4.9.14', |
|
1164 | + '5.0.0', |
|
1165 | + 'filter' |
|
1166 | + ); |
|
1167 | + return apply_filters( |
|
1168 | + 'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js', |
|
1169 | + $event_list_iframe_js |
|
1170 | + ); |
|
1171 | + } |
|
1172 | 1172 | ); |
1173 | 1173 | add_action( |
1174 | - 'AHEE__EE_Capabilities__addCaps__complete', |
|
1175 | - function ($capabilities_map) { |
|
1176 | - if (! has_action('AHEE__EE_Capabilities__init_role_caps__complete')) { |
|
1177 | - return; |
|
1178 | - } |
|
1179 | - deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1180 | - 'AHEE__EE_Capabilities__init_role_caps__complete', |
|
1181 | - 'AHEE__EE_Capabilities__addCaps__complete', |
|
1182 | - '\EE_Capabilities::addCaps()', |
|
1183 | - '4.9.42', |
|
1184 | - '5.0.0' |
|
1185 | - ); |
|
1186 | - do_action( |
|
1187 | - 'AHEE__EE_Capabilities__init_role_caps__complete', |
|
1188 | - $capabilities_map |
|
1189 | - ); |
|
1190 | - } |
|
1174 | + 'AHEE__EE_Capabilities__addCaps__complete', |
|
1175 | + function ($capabilities_map) { |
|
1176 | + if (! has_action('AHEE__EE_Capabilities__init_role_caps__complete')) { |
|
1177 | + return; |
|
1178 | + } |
|
1179 | + deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1180 | + 'AHEE__EE_Capabilities__init_role_caps__complete', |
|
1181 | + 'AHEE__EE_Capabilities__addCaps__complete', |
|
1182 | + '\EE_Capabilities::addCaps()', |
|
1183 | + '4.9.42', |
|
1184 | + '5.0.0' |
|
1185 | + ); |
|
1186 | + do_action( |
|
1187 | + 'AHEE__EE_Capabilities__init_role_caps__complete', |
|
1188 | + $capabilities_map |
|
1189 | + ); |
|
1190 | + } |
|
1191 | 1191 | ); |
1192 | 1192 | |
1193 | 1193 | add_filter( |
1194 | - 'FHEE_EventEspresso_core_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee', |
|
1195 | - function ($existing_attendee, $registration, $attendee_data) { |
|
1196 | - if (! has_filter('FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee')) { |
|
1197 | - return $existing_attendee; |
|
1198 | - } |
|
1199 | - deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1200 | - 'FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee', |
|
1201 | - 'FHEE_EventEspresso_core_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee', |
|
1202 | - '\EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler::findExistingAttendee()', |
|
1203 | - '4.9.34', |
|
1204 | - '5.0.0', |
|
1205 | - 'filter' |
|
1206 | - ); |
|
1207 | - return apply_filters( |
|
1208 | - 'FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee', |
|
1209 | - $existing_attendee, |
|
1210 | - $registration, |
|
1211 | - $attendee_data |
|
1212 | - ); |
|
1213 | - }, |
|
1214 | - 10, |
|
1215 | - 3 |
|
1194 | + 'FHEE_EventEspresso_core_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee', |
|
1195 | + function ($existing_attendee, $registration, $attendee_data) { |
|
1196 | + if (! has_filter('FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee')) { |
|
1197 | + return $existing_attendee; |
|
1198 | + } |
|
1199 | + deprecated_espresso_action_or_filter_doing_it_wrong( |
|
1200 | + 'FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee', |
|
1201 | + 'FHEE_EventEspresso_core_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee', |
|
1202 | + '\EventEspresso\core\services\commands\attendee\CreateAttendeeCommandHandler::findExistingAttendee()', |
|
1203 | + '4.9.34', |
|
1204 | + '5.0.0', |
|
1205 | + 'filter' |
|
1206 | + ); |
|
1207 | + return apply_filters( |
|
1208 | + 'FHEE_EE_Single_Page_Checkout__save_registration_items__find_existing_attendee', |
|
1209 | + $existing_attendee, |
|
1210 | + $registration, |
|
1211 | + $attendee_data |
|
1212 | + ); |
|
1213 | + }, |
|
1214 | + 10, |
|
1215 | + 3 |
|
1216 | 1216 | ); |
1217 | 1217 | |
1218 | 1218 | /** |
@@ -1223,88 +1223,88 @@ discard block |
||
1223 | 1223 | class EE_Event_List_Query extends WP_Query |
1224 | 1224 | { |
1225 | 1225 | |
1226 | - private $title; |
|
1227 | - |
|
1228 | - private $css_class; |
|
1229 | - |
|
1230 | - private $category_slug; |
|
1231 | - |
|
1232 | - /** |
|
1233 | - * EE_Event_List_Query constructor. |
|
1234 | - * |
|
1235 | - * @param array $args |
|
1236 | - */ |
|
1237 | - public function __construct($args = array()) |
|
1238 | - { |
|
1239 | - \EE_Error::doing_it_wrong( |
|
1240 | - __METHOD__, |
|
1241 | - __( |
|
1242 | - 'Usage is deprecated. Please use \EventEspresso\core\domain\services\wp_queries\EventListQuery instead.', |
|
1243 | - 'event_espresso' |
|
1244 | - ), |
|
1245 | - '4.9.27', |
|
1246 | - '5.0.0' |
|
1247 | - ); |
|
1248 | - $this->title = isset($args['title']) ? $args['title'] : ''; |
|
1249 | - $this->css_class = isset($args['css_class']) ? $args['css_class'] : ''; |
|
1250 | - $this->category_slug = isset($args['category_slug']) ? $args['category_slug'] : ''; |
|
1251 | - $limit = isset($args['limit']) && absint($args['limit']) ? $args['limit'] : 10; |
|
1252 | - // the current "page" we are viewing |
|
1253 | - $paged = max(1, get_query_var('paged')); |
|
1254 | - // Force these args |
|
1255 | - $args = array_merge( |
|
1256 | - $args, |
|
1257 | - array( |
|
1258 | - 'post_type' => 'espresso_events', |
|
1259 | - 'posts_per_page' => $limit, |
|
1260 | - 'update_post_term_cache' => false, |
|
1261 | - 'update_post_meta_cache' => false, |
|
1262 | - 'paged' => $paged, |
|
1263 | - 'offset' => ($paged - 1) * $limit, |
|
1264 | - ) |
|
1265 | - ); |
|
1266 | - // run the query |
|
1267 | - parent::__construct($args); |
|
1268 | - } |
|
1269 | - |
|
1270 | - |
|
1271 | - /** |
|
1272 | - * event_list_title |
|
1273 | - * |
|
1274 | - * @param string $event_list_title |
|
1275 | - * @return string |
|
1276 | - */ |
|
1277 | - public function event_list_title($event_list_title = '') |
|
1278 | - { |
|
1279 | - if (! empty($this->title)) { |
|
1280 | - return $this->title; |
|
1281 | - } |
|
1282 | - return $event_list_title; |
|
1283 | - } |
|
1284 | - |
|
1285 | - |
|
1286 | - /** |
|
1287 | - * event_list_css |
|
1288 | - * |
|
1289 | - * @param string $event_list_css |
|
1290 | - * @return string |
|
1291 | - */ |
|
1292 | - public function event_list_css($event_list_css = '') |
|
1293 | - { |
|
1294 | - $event_list_css .= ! empty($event_list_css) |
|
1295 | - ? ' ' |
|
1296 | - : ''; |
|
1297 | - $event_list_css .= ! empty($this->css_class) |
|
1298 | - ? $this->css_class |
|
1299 | - : ''; |
|
1300 | - $event_list_css .= ! empty($event_list_css) |
|
1301 | - ? ' ' |
|
1302 | - : ''; |
|
1303 | - $event_list_css .= ! empty($this->category_slug) |
|
1304 | - ? $this->category_slug |
|
1305 | - : ''; |
|
1306 | - return $event_list_css; |
|
1307 | - } |
|
1226 | + private $title; |
|
1227 | + |
|
1228 | + private $css_class; |
|
1229 | + |
|
1230 | + private $category_slug; |
|
1231 | + |
|
1232 | + /** |
|
1233 | + * EE_Event_List_Query constructor. |
|
1234 | + * |
|
1235 | + * @param array $args |
|
1236 | + */ |
|
1237 | + public function __construct($args = array()) |
|
1238 | + { |
|
1239 | + \EE_Error::doing_it_wrong( |
|
1240 | + __METHOD__, |
|
1241 | + __( |
|
1242 | + 'Usage is deprecated. Please use \EventEspresso\core\domain\services\wp_queries\EventListQuery instead.', |
|
1243 | + 'event_espresso' |
|
1244 | + ), |
|
1245 | + '4.9.27', |
|
1246 | + '5.0.0' |
|
1247 | + ); |
|
1248 | + $this->title = isset($args['title']) ? $args['title'] : ''; |
|
1249 | + $this->css_class = isset($args['css_class']) ? $args['css_class'] : ''; |
|
1250 | + $this->category_slug = isset($args['category_slug']) ? $args['category_slug'] : ''; |
|
1251 | + $limit = isset($args['limit']) && absint($args['limit']) ? $args['limit'] : 10; |
|
1252 | + // the current "page" we are viewing |
|
1253 | + $paged = max(1, get_query_var('paged')); |
|
1254 | + // Force these args |
|
1255 | + $args = array_merge( |
|
1256 | + $args, |
|
1257 | + array( |
|
1258 | + 'post_type' => 'espresso_events', |
|
1259 | + 'posts_per_page' => $limit, |
|
1260 | + 'update_post_term_cache' => false, |
|
1261 | + 'update_post_meta_cache' => false, |
|
1262 | + 'paged' => $paged, |
|
1263 | + 'offset' => ($paged - 1) * $limit, |
|
1264 | + ) |
|
1265 | + ); |
|
1266 | + // run the query |
|
1267 | + parent::__construct($args); |
|
1268 | + } |
|
1269 | + |
|
1270 | + |
|
1271 | + /** |
|
1272 | + * event_list_title |
|
1273 | + * |
|
1274 | + * @param string $event_list_title |
|
1275 | + * @return string |
|
1276 | + */ |
|
1277 | + public function event_list_title($event_list_title = '') |
|
1278 | + { |
|
1279 | + if (! empty($this->title)) { |
|
1280 | + return $this->title; |
|
1281 | + } |
|
1282 | + return $event_list_title; |
|
1283 | + } |
|
1284 | + |
|
1285 | + |
|
1286 | + /** |
|
1287 | + * event_list_css |
|
1288 | + * |
|
1289 | + * @param string $event_list_css |
|
1290 | + * @return string |
|
1291 | + */ |
|
1292 | + public function event_list_css($event_list_css = '') |
|
1293 | + { |
|
1294 | + $event_list_css .= ! empty($event_list_css) |
|
1295 | + ? ' ' |
|
1296 | + : ''; |
|
1297 | + $event_list_css .= ! empty($this->css_class) |
|
1298 | + ? $this->css_class |
|
1299 | + : ''; |
|
1300 | + $event_list_css .= ! empty($event_list_css) |
|
1301 | + ? ' ' |
|
1302 | + : ''; |
|
1303 | + $event_list_css .= ! empty($this->category_slug) |
|
1304 | + ? $this->category_slug |
|
1305 | + : ''; |
|
1306 | + return $event_list_css; |
|
1307 | + } |
|
1308 | 1308 | |
1309 | 1309 | } |
1310 | 1310 | |
@@ -1321,75 +1321,75 @@ discard block |
||
1321 | 1321 | { |
1322 | 1322 | |
1323 | 1323 | |
1324 | - /** |
|
1325 | - * class constructor |
|
1326 | - * |
|
1327 | - * @deprecated 4.9.59.p |
|
1328 | - */ |
|
1329 | - public function __construct() |
|
1330 | - { |
|
1331 | - EE_Error::doing_it_wrong( |
|
1332 | - __METHOD__, |
|
1333 | - sprintf( |
|
1334 | - esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1335 | - __CLASS__, |
|
1336 | - 'EventEspresso\core\services\licensing\LicenseServices' |
|
1337 | - ), |
|
1338 | - '4.9.59.p' |
|
1339 | - ); |
|
1340 | - } |
|
1341 | - |
|
1342 | - |
|
1343 | - /** |
|
1344 | - * The purpose of this function is to display information about Event Espresso data collection |
|
1345 | - * and a optin selection for extra data collecting by users. |
|
1346 | - * |
|
1347 | - * @param bool $extra |
|
1348 | - * @return string html. |
|
1349 | - * @deprecated 4.9.59.p |
|
1350 | - */ |
|
1351 | - public static function espresso_data_collection_optin_text($extra = true) |
|
1352 | - { |
|
1353 | - EE_Error::doing_it_wrong( |
|
1354 | - __METHOD__, |
|
1355 | - sprintf( |
|
1356 | - esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1357 | - __METHOD__, |
|
1358 | - 'EventEspresso\core\domain\services\Stats::optinText' |
|
1359 | - ), |
|
1360 | - '4.9.59.p' |
|
1361 | - ); |
|
1362 | - Stats::optinText($extra); |
|
1363 | - } |
|
1364 | - |
|
1365 | - /** |
|
1366 | - * This is a handy helper method for retrieving whether there is an update available for the given plugin. |
|
1367 | - * |
|
1368 | - * @param string $basename Use the equivalent result from plugin_basename() for this param as WP uses that to |
|
1369 | - * identify plugins. Defaults to core update |
|
1370 | - * @return boolean True if update available, false if not. |
|
1371 | - * @deprecated 4.9.59.p |
|
1372 | - */ |
|
1373 | - public static function is_update_available($basename = '') |
|
1374 | - { |
|
1375 | - EE_Error::doing_it_wrong( |
|
1376 | - __METHOD__, |
|
1377 | - sprintf( |
|
1378 | - esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1379 | - __METHOD__, |
|
1380 | - 'EventEspresso\core\services\licensing\LicenseService::isUpdateAvailable' |
|
1381 | - ), |
|
1382 | - '4.9.59.p' |
|
1383 | - ); |
|
1384 | - return LicenseService::isUpdateAvailable($basename); |
|
1385 | - } |
|
1324 | + /** |
|
1325 | + * class constructor |
|
1326 | + * |
|
1327 | + * @deprecated 4.9.59.p |
|
1328 | + */ |
|
1329 | + public function __construct() |
|
1330 | + { |
|
1331 | + EE_Error::doing_it_wrong( |
|
1332 | + __METHOD__, |
|
1333 | + sprintf( |
|
1334 | + esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1335 | + __CLASS__, |
|
1336 | + 'EventEspresso\core\services\licensing\LicenseServices' |
|
1337 | + ), |
|
1338 | + '4.9.59.p' |
|
1339 | + ); |
|
1340 | + } |
|
1341 | + |
|
1342 | + |
|
1343 | + /** |
|
1344 | + * The purpose of this function is to display information about Event Espresso data collection |
|
1345 | + * and a optin selection for extra data collecting by users. |
|
1346 | + * |
|
1347 | + * @param bool $extra |
|
1348 | + * @return string html. |
|
1349 | + * @deprecated 4.9.59.p |
|
1350 | + */ |
|
1351 | + public static function espresso_data_collection_optin_text($extra = true) |
|
1352 | + { |
|
1353 | + EE_Error::doing_it_wrong( |
|
1354 | + __METHOD__, |
|
1355 | + sprintf( |
|
1356 | + esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1357 | + __METHOD__, |
|
1358 | + 'EventEspresso\core\domain\services\Stats::optinText' |
|
1359 | + ), |
|
1360 | + '4.9.59.p' |
|
1361 | + ); |
|
1362 | + Stats::optinText($extra); |
|
1363 | + } |
|
1364 | + |
|
1365 | + /** |
|
1366 | + * This is a handy helper method for retrieving whether there is an update available for the given plugin. |
|
1367 | + * |
|
1368 | + * @param string $basename Use the equivalent result from plugin_basename() for this param as WP uses that to |
|
1369 | + * identify plugins. Defaults to core update |
|
1370 | + * @return boolean True if update available, false if not. |
|
1371 | + * @deprecated 4.9.59.p |
|
1372 | + */ |
|
1373 | + public static function is_update_available($basename = '') |
|
1374 | + { |
|
1375 | + EE_Error::doing_it_wrong( |
|
1376 | + __METHOD__, |
|
1377 | + sprintf( |
|
1378 | + esc_html__('%1$s has been replaced by %2$s.', 'event_espresso'), |
|
1379 | + __METHOD__, |
|
1380 | + 'EventEspresso\core\services\licensing\LicenseService::isUpdateAvailable' |
|
1381 | + ), |
|
1382 | + '4.9.59.p' |
|
1383 | + ); |
|
1384 | + return LicenseService::isUpdateAvailable($basename); |
|
1385 | + } |
|
1386 | 1386 | } |
1387 | 1387 | |
1388 | 1388 | add_filter( |
1389 | - 'FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array', |
|
1390 | - 'ee_deprecated_registrations_report_csv_legacy_fields', |
|
1391 | - 10, |
|
1392 | - 2 |
|
1389 | + 'FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array', |
|
1390 | + 'ee_deprecated_registrations_report_csv_legacy_fields', |
|
1391 | + 10, |
|
1392 | + 2 |
|
1393 | 1393 | ); |
1394 | 1394 | /** |
1395 | 1395 | * Filters the CSV row to make it appear like the old labels (which were "$pretty_name[$field_name]"). |
@@ -1406,96 +1406,96 @@ discard block |
||
1406 | 1406 | */ |
1407 | 1407 | function ee_deprecated_registrations_report_csv_legacy_fields($csv_row_data, $reg_row) |
1408 | 1408 | { |
1409 | - // no need for all this if nobody is using the deprecated filter |
|
1410 | - if (has_filter('FHEE__EE_Export__report_registrations__reg_csv_array')) { |
|
1411 | - EE_Error::doing_it_wrong( |
|
1412 | - __FUNCTION__, |
|
1413 | - sprintf( |
|
1414 | - // EE_Error::doing_it_wrong with escape HTML, so don't escape it twice by doing it here too. |
|
1415 | - _x( |
|
1416 | - 'The filter "%1$s" has been deprecated. Please use "%2$s" instead.', |
|
1417 | - 'The filter "FHEE__EE_Export__report_registrations__reg_csv_array" has been deprecated. Please use "FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array" instead.', |
|
1418 | - 'event_espresso' |
|
1419 | - ), |
|
1420 | - 'FHEE__EE_Export__report_registrations__reg_csv_array', |
|
1421 | - 'FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array' |
|
1422 | - ), |
|
1423 | - '4.9.69.p', |
|
1424 | - '4.9.75.p' |
|
1425 | - ); |
|
1426 | - // there's code that expected the old csv column headers/labels. Let's oblige. Put it back in the old format! |
|
1427 | - // first: what model fields might be used as column headers? (whose format we need to change) |
|
1428 | - $model_fields = array_merge( |
|
1429 | - EEM_Registration::instance()->field_settings(), |
|
1430 | - EEM_Attendee::instance()->field_settings() |
|
1431 | - ); |
|
1432 | - // create an array that uses the legacy column headers/labels. |
|
1433 | - $new_csv_row = array(); |
|
1434 | - foreach ($csv_row_data as $label => $value) { |
|
1435 | - $new_label = $label; |
|
1436 | - foreach ($model_fields as $field) { |
|
1437 | - if ($label === EEH_Export::get_column_name_for_field($field)) { |
|
1438 | - // re-add the old field name |
|
1439 | - $new_label = $label . '[' . $field->get_name() . ']'; |
|
1440 | - break; |
|
1441 | - } |
|
1442 | - } |
|
1443 | - $new_csv_row[$new_label] = $value; |
|
1444 | - } |
|
1445 | - // before we run it through the deprecated filter, set the method `EEH_Export::get_column_name_for_field()` |
|
1446 | - // to create the old column names, because that's what's in the row temporarily |
|
1447 | - add_filter( |
|
1448 | - 'FHEE__EEH_Export__get_column_name_for_field__add_field_name', |
|
1449 | - '__return_true', |
|
1450 | - 777 |
|
1451 | - ); |
|
1452 | - // now, those old filters can be run on this data. Have fun! |
|
1453 | - /** |
|
1454 | - * Deprecated. Use FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array instead. |
|
1455 | - * |
|
1456 | - * Filter to change the contents of each row of the registrations report CSV file. |
|
1457 | - * This can be used to add or remote columns from the CSV file, or change their values. * |
|
1458 | - * Note: it has this name because originally that's where this filter resided, |
|
1459 | - * and we've left its name as-is for backward compatibility. |
|
1460 | - * Note when using: all rows in the CSV should have the same columns. |
|
1461 | - * |
|
1462 | - * @param array $reg_csv_array keys are column-header names, and values are that columns' value |
|
1463 | - * in this row |
|
1464 | - * @param array $reg_row is the row from the database's wp_esp_registration table |
|
1465 | - */ |
|
1466 | - $updated_row = apply_filters( |
|
1467 | - 'FHEE__EE_Export__report_registrations__reg_csv_array', |
|
1468 | - $new_csv_row, |
|
1469 | - $reg_row |
|
1470 | - ); |
|
1471 | - |
|
1472 | - // ok now we can revert to normal for EEH_Export::get_column_name_for_field(). |
|
1473 | - remove_filter( |
|
1474 | - 'FHEE__EEH_Export__get_column_name_for_field__add_field_name', |
|
1475 | - '__return_true', |
|
1476 | - 777 |
|
1477 | - ); |
|
1478 | - |
|
1479 | - // great. Now that the old filters are done, we can remove the ugly square brackets from column headers/labels. |
|
1480 | - $updated_and_restored_row = array(); |
|
1481 | - foreach ($updated_row as $label => $value) { |
|
1482 | - $matches = array(); |
|
1483 | - if (preg_match( |
|
1484 | - '~([^\[]*)\[(.*)\]~', |
|
1485 | - $label, |
|
1486 | - $matches |
|
1487 | - ) |
|
1488 | - && isset( |
|
1489 | - $matches[0], |
|
1490 | - $matches[1], |
|
1491 | - $matches[2] |
|
1492 | - ) |
|
1493 | - ) { |
|
1494 | - $label = $matches[1]; |
|
1495 | - } |
|
1496 | - $updated_and_restored_row[$label] = $value; |
|
1497 | - } |
|
1498 | - $csv_row_data = $updated_and_restored_row; |
|
1499 | - } |
|
1500 | - return $csv_row_data; |
|
1409 | + // no need for all this if nobody is using the deprecated filter |
|
1410 | + if (has_filter('FHEE__EE_Export__report_registrations__reg_csv_array')) { |
|
1411 | + EE_Error::doing_it_wrong( |
|
1412 | + __FUNCTION__, |
|
1413 | + sprintf( |
|
1414 | + // EE_Error::doing_it_wrong with escape HTML, so don't escape it twice by doing it here too. |
|
1415 | + _x( |
|
1416 | + 'The filter "%1$s" has been deprecated. Please use "%2$s" instead.', |
|
1417 | + 'The filter "FHEE__EE_Export__report_registrations__reg_csv_array" has been deprecated. Please use "FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array" instead.', |
|
1418 | + 'event_espresso' |
|
1419 | + ), |
|
1420 | + 'FHEE__EE_Export__report_registrations__reg_csv_array', |
|
1421 | + 'FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array' |
|
1422 | + ), |
|
1423 | + '4.9.69.p', |
|
1424 | + '4.9.75.p' |
|
1425 | + ); |
|
1426 | + // there's code that expected the old csv column headers/labels. Let's oblige. Put it back in the old format! |
|
1427 | + // first: what model fields might be used as column headers? (whose format we need to change) |
|
1428 | + $model_fields = array_merge( |
|
1429 | + EEM_Registration::instance()->field_settings(), |
|
1430 | + EEM_Attendee::instance()->field_settings() |
|
1431 | + ); |
|
1432 | + // create an array that uses the legacy column headers/labels. |
|
1433 | + $new_csv_row = array(); |
|
1434 | + foreach ($csv_row_data as $label => $value) { |
|
1435 | + $new_label = $label; |
|
1436 | + foreach ($model_fields as $field) { |
|
1437 | + if ($label === EEH_Export::get_column_name_for_field($field)) { |
|
1438 | + // re-add the old field name |
|
1439 | + $new_label = $label . '[' . $field->get_name() . ']'; |
|
1440 | + break; |
|
1441 | + } |
|
1442 | + } |
|
1443 | + $new_csv_row[$new_label] = $value; |
|
1444 | + } |
|
1445 | + // before we run it through the deprecated filter, set the method `EEH_Export::get_column_name_for_field()` |
|
1446 | + // to create the old column names, because that's what's in the row temporarily |
|
1447 | + add_filter( |
|
1448 | + 'FHEE__EEH_Export__get_column_name_for_field__add_field_name', |
|
1449 | + '__return_true', |
|
1450 | + 777 |
|
1451 | + ); |
|
1452 | + // now, those old filters can be run on this data. Have fun! |
|
1453 | + /** |
|
1454 | + * Deprecated. Use FHEE__EventEspressoBatchRequest__JobHandlers__RegistrationsReport__reg_csv_array instead. |
|
1455 | + * |
|
1456 | + * Filter to change the contents of each row of the registrations report CSV file. |
|
1457 | + * This can be used to add or remote columns from the CSV file, or change their values. * |
|
1458 | + * Note: it has this name because originally that's where this filter resided, |
|
1459 | + * and we've left its name as-is for backward compatibility. |
|
1460 | + * Note when using: all rows in the CSV should have the same columns. |
|
1461 | + * |
|
1462 | + * @param array $reg_csv_array keys are column-header names, and values are that columns' value |
|
1463 | + * in this row |
|
1464 | + * @param array $reg_row is the row from the database's wp_esp_registration table |
|
1465 | + */ |
|
1466 | + $updated_row = apply_filters( |
|
1467 | + 'FHEE__EE_Export__report_registrations__reg_csv_array', |
|
1468 | + $new_csv_row, |
|
1469 | + $reg_row |
|
1470 | + ); |
|
1471 | + |
|
1472 | + // ok now we can revert to normal for EEH_Export::get_column_name_for_field(). |
|
1473 | + remove_filter( |
|
1474 | + 'FHEE__EEH_Export__get_column_name_for_field__add_field_name', |
|
1475 | + '__return_true', |
|
1476 | + 777 |
|
1477 | + ); |
|
1478 | + |
|
1479 | + // great. Now that the old filters are done, we can remove the ugly square brackets from column headers/labels. |
|
1480 | + $updated_and_restored_row = array(); |
|
1481 | + foreach ($updated_row as $label => $value) { |
|
1482 | + $matches = array(); |
|
1483 | + if (preg_match( |
|
1484 | + '~([^\[]*)\[(.*)\]~', |
|
1485 | + $label, |
|
1486 | + $matches |
|
1487 | + ) |
|
1488 | + && isset( |
|
1489 | + $matches[0], |
|
1490 | + $matches[1], |
|
1491 | + $matches[2] |
|
1492 | + ) |
|
1493 | + ) { |
|
1494 | + $label = $matches[1]; |
|
1495 | + } |
|
1496 | + $updated_and_restored_row[$label] = $value; |
|
1497 | + } |
|
1498 | + $csv_row_data = $updated_and_restored_row; |
|
1499 | + } |
|
1500 | + return $csv_row_data; |
|
1501 | 1501 | } |
1502 | 1502 | \ No newline at end of file |
@@ -84,6 +84,7 @@ |
||
84 | 84 | * |
85 | 85 | * @access public |
86 | 86 | * @param mixed |
87 | + * @param string $info |
|
87 | 88 | * @return null | object |
88 | 89 | */ |
89 | 90 | public function get_by_info($info) |
@@ -16,160 +16,160 @@ |
||
16 | 16 | abstract class EE_Object_Collection extends SplObjectStorage implements EEI_Collection |
17 | 17 | { |
18 | 18 | |
19 | - /** |
|
20 | - * an interface (or class) name to be used for restricting the type of objects added to the storage |
|
21 | - * this should be set from within the child class constructor |
|
22 | - * |
|
23 | - * @type string $interface |
|
24 | - */ |
|
25 | - protected $interface; |
|
26 | - |
|
27 | - |
|
28 | - /** |
|
29 | - * add |
|
30 | - * |
|
31 | - * attaches an object to the Collection |
|
32 | - * and sets any supplied data associated with the current iterator entry |
|
33 | - * by calling EE_Object_Collection::set_info() |
|
34 | - * |
|
35 | - * @access public |
|
36 | - * @param object $object |
|
37 | - * @param mixed $info |
|
38 | - * @return bool |
|
39 | - */ |
|
40 | - public function add($object, $info = null) |
|
41 | - { |
|
42 | - $class = $this->interface; |
|
43 | - if (! $object instanceof $class) { |
|
44 | - return false; |
|
45 | - } |
|
46 | - $this->attach($object); |
|
47 | - $this->set_info($object, $info); |
|
48 | - return $this->contains($object); |
|
49 | - } |
|
50 | - |
|
51 | - |
|
52 | - /** |
|
53 | - * set_info |
|
54 | - * |
|
55 | - * Sets the data associated with an object in the Collection |
|
56 | - * if no $info is supplied, then the spl_object_hash() is used |
|
57 | - * |
|
58 | - * @access public |
|
59 | - * @param object $object |
|
60 | - * @param mixed $info |
|
61 | - * @return bool |
|
62 | - */ |
|
63 | - public function set_info($object, $info = null) |
|
64 | - { |
|
65 | - $info = ! empty($info) ? $info : spl_object_hash($object); |
|
66 | - $this->rewind(); |
|
67 | - while ($this->valid()) { |
|
68 | - if ($object == $this->current()) { |
|
69 | - $this->setInfo($info); |
|
70 | - $this->rewind(); |
|
71 | - return true; |
|
72 | - } |
|
73 | - $this->next(); |
|
74 | - } |
|
75 | - return false; |
|
76 | - } |
|
77 | - |
|
78 | - |
|
79 | - /** |
|
80 | - * get_by_info |
|
81 | - * |
|
82 | - * finds and returns an object in the Collection based on the info that was set using addObject() |
|
83 | - * PLZ NOTE: the pointer is reset to the beginning of the collection before returning |
|
84 | - * |
|
85 | - * @access public |
|
86 | - * @param mixed |
|
87 | - * @return null | object |
|
88 | - */ |
|
89 | - public function get_by_info($info) |
|
90 | - { |
|
91 | - $this->rewind(); |
|
92 | - while ($this->valid()) { |
|
93 | - if ($info === $this->getInfo()) { |
|
94 | - $object = $this->current(); |
|
95 | - $this->rewind(); |
|
96 | - return $object; |
|
97 | - } |
|
98 | - $this->next(); |
|
99 | - } |
|
100 | - return null; |
|
101 | - } |
|
102 | - |
|
103 | - |
|
104 | - /** |
|
105 | - * has |
|
106 | - * |
|
107 | - * returns TRUE or FALSE depending on whether the supplied object is within the Collection |
|
108 | - * |
|
109 | - * @access public |
|
110 | - * @param object $object |
|
111 | - * @return bool |
|
112 | - */ |
|
113 | - public function has($object) |
|
114 | - { |
|
115 | - return $this->contains($object); |
|
116 | - } |
|
117 | - |
|
118 | - |
|
119 | - /** |
|
120 | - * remove |
|
121 | - * |
|
122 | - * detaches an object from the Collection |
|
123 | - * |
|
124 | - * @access public |
|
125 | - * @param $object |
|
126 | - * @return bool |
|
127 | - */ |
|
128 | - public function remove($object) |
|
129 | - { |
|
130 | - $this->detach($object); |
|
131 | - return true; |
|
132 | - } |
|
133 | - |
|
134 | - |
|
135 | - /** |
|
136 | - * set_current |
|
137 | - * |
|
138 | - * advances pointer to the provided object |
|
139 | - * |
|
140 | - * @access public |
|
141 | - * @param $object |
|
142 | - * @return void |
|
143 | - */ |
|
144 | - public function set_current($object) |
|
145 | - { |
|
146 | - $this->rewind(); |
|
147 | - while ($this->valid()) { |
|
148 | - if ($this->current() === $object) { |
|
149 | - break; |
|
150 | - } |
|
151 | - $this->next(); |
|
152 | - } |
|
153 | - } |
|
154 | - |
|
155 | - |
|
156 | - /** |
|
157 | - * set_current_by_info |
|
158 | - * |
|
159 | - * advances pointer to the object whose info matches that which was provided |
|
160 | - * |
|
161 | - * @access public |
|
162 | - * @param $info |
|
163 | - * @return void |
|
164 | - */ |
|
165 | - public function set_current_by_info($info) |
|
166 | - { |
|
167 | - $this->rewind(); |
|
168 | - while ($this->valid()) { |
|
169 | - if ($info === $this->getInfo()) { |
|
170 | - break; |
|
171 | - } |
|
172 | - $this->next(); |
|
173 | - } |
|
174 | - } |
|
19 | + /** |
|
20 | + * an interface (or class) name to be used for restricting the type of objects added to the storage |
|
21 | + * this should be set from within the child class constructor |
|
22 | + * |
|
23 | + * @type string $interface |
|
24 | + */ |
|
25 | + protected $interface; |
|
26 | + |
|
27 | + |
|
28 | + /** |
|
29 | + * add |
|
30 | + * |
|
31 | + * attaches an object to the Collection |
|
32 | + * and sets any supplied data associated with the current iterator entry |
|
33 | + * by calling EE_Object_Collection::set_info() |
|
34 | + * |
|
35 | + * @access public |
|
36 | + * @param object $object |
|
37 | + * @param mixed $info |
|
38 | + * @return bool |
|
39 | + */ |
|
40 | + public function add($object, $info = null) |
|
41 | + { |
|
42 | + $class = $this->interface; |
|
43 | + if (! $object instanceof $class) { |
|
44 | + return false; |
|
45 | + } |
|
46 | + $this->attach($object); |
|
47 | + $this->set_info($object, $info); |
|
48 | + return $this->contains($object); |
|
49 | + } |
|
50 | + |
|
51 | + |
|
52 | + /** |
|
53 | + * set_info |
|
54 | + * |
|
55 | + * Sets the data associated with an object in the Collection |
|
56 | + * if no $info is supplied, then the spl_object_hash() is used |
|
57 | + * |
|
58 | + * @access public |
|
59 | + * @param object $object |
|
60 | + * @param mixed $info |
|
61 | + * @return bool |
|
62 | + */ |
|
63 | + public function set_info($object, $info = null) |
|
64 | + { |
|
65 | + $info = ! empty($info) ? $info : spl_object_hash($object); |
|
66 | + $this->rewind(); |
|
67 | + while ($this->valid()) { |
|
68 | + if ($object == $this->current()) { |
|
69 | + $this->setInfo($info); |
|
70 | + $this->rewind(); |
|
71 | + return true; |
|
72 | + } |
|
73 | + $this->next(); |
|
74 | + } |
|
75 | + return false; |
|
76 | + } |
|
77 | + |
|
78 | + |
|
79 | + /** |
|
80 | + * get_by_info |
|
81 | + * |
|
82 | + * finds and returns an object in the Collection based on the info that was set using addObject() |
|
83 | + * PLZ NOTE: the pointer is reset to the beginning of the collection before returning |
|
84 | + * |
|
85 | + * @access public |
|
86 | + * @param mixed |
|
87 | + * @return null | object |
|
88 | + */ |
|
89 | + public function get_by_info($info) |
|
90 | + { |
|
91 | + $this->rewind(); |
|
92 | + while ($this->valid()) { |
|
93 | + if ($info === $this->getInfo()) { |
|
94 | + $object = $this->current(); |
|
95 | + $this->rewind(); |
|
96 | + return $object; |
|
97 | + } |
|
98 | + $this->next(); |
|
99 | + } |
|
100 | + return null; |
|
101 | + } |
|
102 | + |
|
103 | + |
|
104 | + /** |
|
105 | + * has |
|
106 | + * |
|
107 | + * returns TRUE or FALSE depending on whether the supplied object is within the Collection |
|
108 | + * |
|
109 | + * @access public |
|
110 | + * @param object $object |
|
111 | + * @return bool |
|
112 | + */ |
|
113 | + public function has($object) |
|
114 | + { |
|
115 | + return $this->contains($object); |
|
116 | + } |
|
117 | + |
|
118 | + |
|
119 | + /** |
|
120 | + * remove |
|
121 | + * |
|
122 | + * detaches an object from the Collection |
|
123 | + * |
|
124 | + * @access public |
|
125 | + * @param $object |
|
126 | + * @return bool |
|
127 | + */ |
|
128 | + public function remove($object) |
|
129 | + { |
|
130 | + $this->detach($object); |
|
131 | + return true; |
|
132 | + } |
|
133 | + |
|
134 | + |
|
135 | + /** |
|
136 | + * set_current |
|
137 | + * |
|
138 | + * advances pointer to the provided object |
|
139 | + * |
|
140 | + * @access public |
|
141 | + * @param $object |
|
142 | + * @return void |
|
143 | + */ |
|
144 | + public function set_current($object) |
|
145 | + { |
|
146 | + $this->rewind(); |
|
147 | + while ($this->valid()) { |
|
148 | + if ($this->current() === $object) { |
|
149 | + break; |
|
150 | + } |
|
151 | + $this->next(); |
|
152 | + } |
|
153 | + } |
|
154 | + |
|
155 | + |
|
156 | + /** |
|
157 | + * set_current_by_info |
|
158 | + * |
|
159 | + * advances pointer to the object whose info matches that which was provided |
|
160 | + * |
|
161 | + * @access public |
|
162 | + * @param $info |
|
163 | + * @return void |
|
164 | + */ |
|
165 | + public function set_current_by_info($info) |
|
166 | + { |
|
167 | + $this->rewind(); |
|
168 | + while ($this->valid()) { |
|
169 | + if ($info === $this->getInfo()) { |
|
170 | + break; |
|
171 | + } |
|
172 | + $this->next(); |
|
173 | + } |
|
174 | + } |
|
175 | 175 | } |
@@ -40,7 +40,7 @@ |
||
40 | 40 | public function add($object, $info = null) |
41 | 41 | { |
42 | 42 | $class = $this->interface; |
43 | - if (! $object instanceof $class) { |
|
43 | + if ( ! $object instanceof $class) { |
|
44 | 44 | return false; |
45 | 45 | } |
46 | 46 | $this->attach($object); |
@@ -777,7 +777,7 @@ discard block |
||
777 | 777 | * |
778 | 778 | * @param mixed $opt_group |
779 | 779 | * @param mixed $QSOs |
780 | - * @param mixed $answer |
|
780 | + * @param string $answer |
|
781 | 781 | * @param boolean $use_html_entities |
782 | 782 | * @return string |
783 | 783 | */ |
@@ -1134,7 +1134,7 @@ discard block |
||
1134 | 1134 | /** |
1135 | 1135 | * prep_required |
1136 | 1136 | * @param string|array $required |
1137 | - * @return array |
|
1137 | + * @return string |
|
1138 | 1138 | */ |
1139 | 1139 | public static function prep_required($required = array()) |
1140 | 1140 | { |
@@ -1187,8 +1187,8 @@ discard block |
||
1187 | 1187 | |
1188 | 1188 | /** |
1189 | 1189 | * _load_system_dropdowns |
1190 | - * @param array $QFI |
|
1191 | - * @return array |
|
1190 | + * @param EE_Question_Form_Input $QFI |
|
1191 | + * @return EE_Question_Form_Input |
|
1192 | 1192 | */ |
1193 | 1193 | private static function _load_system_dropdowns($QFI) |
1194 | 1194 | { |
@@ -1491,7 +1491,7 @@ discard block |
||
1491 | 1491 | * @param string $nonce_action - if using nonces |
1492 | 1492 | * @param bool|string $input_only - whether to print form header and footer. TRUE returns the input without the form |
1493 | 1493 | * @param string $extra_attributes - any extra attributes that need to be attached to the form input |
1494 | - * @return void |
|
1494 | + * @return string |
|
1495 | 1495 | */ |
1496 | 1496 | public static function submit_button($url = '', $ID = '', $class = '', $text = '', $nonce_action = '', $input_only = false, $extra_attributes = '') |
1497 | 1497 | { |
@@ -29,1034 +29,1034 @@ discard block |
||
29 | 29 | { |
30 | 30 | |
31 | 31 | |
32 | - /** |
|
33 | - * Generates HTML for the forms used on admin pages |
|
34 | - * |
|
35 | - * |
|
36 | - * @static |
|
37 | - * @access public |
|
38 | - * @param array $input_vars - array of input field details |
|
39 | - * format: |
|
40 | - * $template_form_fields['field-id'] = array( |
|
41 | - * 'name' => 'name_attribute', |
|
42 | - * 'label' => __('Field Label', 'event_espresso'), //or false |
|
43 | - * 'input' => 'hidden', //field input type can be 'text', 'select', 'textarea', 'hidden', 'checkbox', 'wp_editor' |
|
44 | - * 'type' => 'int', //what "type" the value is (i.e. string, int etc) |
|
45 | - * 'required' => false, //boolean for whether the field is required |
|
46 | - * 'validation' => true, //boolean, whether to validate the field (todo) |
|
47 | - * 'value' => 'some_value_for_field', //what value is used for field |
|
48 | - * 'format' => '%d', //what format the value is (%d, %f, or %s) |
|
49 | - * 'db-col' => 'column_in_db' //used to indicate which column the field corresponds with in the db |
|
50 | - * 'options' => optiona, optionb || array('value' => 'label', '') //if the input type is "select", this allows you to set the args for the different <option> tags. |
|
51 | - * 'tabindex' => 1 //this allows you to set the tabindex for the field. |
|
52 | - * 'append_content' => '' //this allows you to send in html content to append to the field. |
|
53 | - * ) |
|
54 | - * @param array $id - used for defining unique identifiers for the form. |
|
55 | - * @return string |
|
56 | - * @todo: at some point we can break this down into other static methods to abstract it a bit better. |
|
57 | - */ |
|
58 | - public static function get_form_fields($input_vars = array(), $id = false) |
|
59 | - { |
|
60 | - |
|
61 | - if (empty($input_vars)) { |
|
62 | - EE_Error::add_error(__('missing required variables for the form field generator', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__); |
|
63 | - return false; |
|
64 | - } |
|
65 | - |
|
66 | - // if you don't behave - this is what you're gonna get !!! |
|
67 | - $close = true; |
|
68 | - $output = '<ul>'; // this is for using built-in wp styles... watch carefully... |
|
69 | - |
|
70 | - // cycle thru inputs |
|
71 | - foreach ($input_vars as $input_key => $input_value) { |
|
72 | - $defaults = array( |
|
73 | - 'name' => $input_key, |
|
74 | - 'label' => __('No label', 'event_espresso'), |
|
75 | - 'input' => 'hidden', |
|
76 | - 'type' => 'int', |
|
77 | - 'required' => false, |
|
78 | - 'validation' => true, |
|
79 | - 'value' => 'some_value_for_field', |
|
80 | - 'format' => '%d', |
|
81 | - 'db-col' => 'column_in_db', |
|
82 | - 'options' => array(), |
|
83 | - 'tabindex' => '', |
|
84 | - 'append_content' => '' |
|
85 | - ); |
|
86 | - |
|
87 | - $input_value = wp_parse_args($input_value, $defaults); |
|
88 | - |
|
89 | - // required fields get a * |
|
90 | - $required = isset($input_value['required']) && $input_value['required'] ? ' <span>*</span>: ' : ': '; |
|
91 | - // and the css class "required" |
|
92 | - $css_class = isset($input_value['css_class']) ? $input_value['css_class'] : ''; |
|
93 | - $styles = $input_value['required'] ? 'required ' . $css_class : $css_class; |
|
94 | - |
|
95 | - $field_id = ($id) ? $id . '-' . $input_key : $input_key; |
|
96 | - $tabindex = !empty($input_value['tabindex']) ? ' tabindex="' . $input_value['tabindex'] . '"' : ''; |
|
97 | - |
|
98 | - // rows or cols? |
|
99 | - $rows = isset($input_value['rows']) ? $input_value['rows'] : '10'; |
|
100 | - $cols = isset($input_value['cols']) ? $input_value['cols'] : '80'; |
|
101 | - |
|
102 | - // any content? |
|
103 | - $append_content = $input_value['append_content']; |
|
104 | - |
|
105 | - $output .= (!$close) ? '<ul>' : ''; |
|
106 | - $output .= '<li>'; |
|
107 | - |
|
108 | - // what type of input are we dealing with ? |
|
109 | - switch ($input_value['input']) { |
|
110 | - // text inputs |
|
111 | - case 'text': |
|
112 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
113 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" class="' . $styles . '" type="text" value="' . esc_textarea($input_value['value']) . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
114 | - break; |
|
115 | - |
|
116 | - // dropdowns |
|
117 | - case 'select': |
|
118 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
119 | - $output .= "\n\t\t\t" . '<select id="' . $field_id . '" class="' . $styles . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
120 | - |
|
121 | - if (is_array($input_value['options'])) { |
|
122 | - $options = $input_value['options']; |
|
123 | - } else { |
|
124 | - $options = explode(',', $input_value['options']); |
|
125 | - } |
|
126 | - |
|
127 | - foreach ($options as $key => $value) { |
|
128 | - $selected = isset($input_value['value']) && $input_value['value'] == $key ? 'selected=selected' : ''; |
|
129 | - // $key = str_replace( ' ', '_', sanitize_key( $value )); |
|
130 | - $output .= "\n\t\t\t\t" . '<option ' . $selected . ' value="' . $key . '">' . $value . '</option>'; |
|
131 | - } |
|
132 | - $output .= "\n\t\t\t" . '</select>'; |
|
133 | - |
|
134 | - break; |
|
135 | - |
|
136 | - case 'textarea': |
|
137 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
138 | - $output .= "\n\t\t\t" . '<textarea id="' . $field_id . '" class="' . $styles . '" rows="' . $rows . '" cols="' . $cols . '" name="' . $input_value['name'] . '"' . $tabindex . '>' . esc_textarea($input_value['value']) . '</textarea>'; |
|
139 | - break; |
|
140 | - |
|
141 | - case 'hidden': |
|
142 | - $close = false; |
|
143 | - $output .= "</li></ul>"; |
|
144 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="hidden" name="' . $input_value['name'] . '" value="' . $input_value['value'] . '">'; |
|
145 | - break; |
|
146 | - |
|
147 | - case 'checkbox': |
|
148 | - $checked = ( $input_value['value'] == 1 ) ? 'checked="checked"' : ''; |
|
149 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
150 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="checkbox" name="' . $input_value['name'] . '" value="1"' . $checked . $tabindex . ' />'; |
|
151 | - break; |
|
152 | - |
|
153 | - case 'wp_editor': |
|
154 | - $close = false; |
|
155 | - $editor_settings = array( |
|
156 | - 'textarea_name' => $input_value['name'], |
|
157 | - 'textarea_rows' => $rows, |
|
158 | - 'editor_class' => $styles, |
|
159 | - 'tabindex' => $input_value['tabindex'] |
|
160 | - ); |
|
161 | - $output .= '</li>'; |
|
162 | - $output .= '</ul>'; |
|
163 | - $output .= '<h4>' . $input_value['label'] . '</h4>'; |
|
164 | - if ($append_content) { |
|
165 | - $output .= $append_content; |
|
166 | - } |
|
167 | - ob_start(); |
|
168 | - wp_editor($input_value['value'], $field_id, $editor_settings); |
|
169 | - $editor = ob_get_contents(); |
|
170 | - ob_end_clean(); |
|
171 | - $output .= $editor; |
|
172 | - break; |
|
173 | - } |
|
174 | - if ($append_content && $input_value['input'] !== 'wp_editor') { |
|
175 | - $output .= $append_content; |
|
176 | - } |
|
177 | - $output .= ($close) ? '</li>' : ''; |
|
178 | - } // end foreach( $input_vars as $input_key => $input_value ) |
|
179 | - $output .= ($close) ? '</ul>' : ''; |
|
180 | - |
|
181 | - return $output; |
|
182 | - } |
|
183 | - |
|
184 | - /** |
|
185 | - * form_fields_array |
|
186 | - * This utility function assembles form fields from a given structured array with field information. |
|
187 | - * //TODO: This is an alternate generator that we may want to use instead. |
|
188 | - * |
|
189 | - * @param array $fields structured array of fields to assemble in the following format: |
|
190 | - * [field_name] => array( |
|
191 | - * ['label'] => 'label for field', |
|
192 | - * ['labels'] => array('label_1', 'label_2'); //optional - if the field type is a multi select type of field you can indicated the labels for each option via this index |
|
193 | - * ['extra_desc'] => 'extra description for the field', //optional |
|
194 | - * ['type'] => 'textarea'|'text'|'wp_editor'|'checkbox'|'radio'|'hidden'|'select', //defaults to text |
|
195 | - * ['value'] => 'value that goes in the field', //(if multi then this is an array of values and the 'default' paramater will be used for what is selected) |
|
196 | - * ['default'] => 'default if the field type is multi (i.e. select or radios or checkboxes)', |
|
197 | - * ['class'] => 'name-of-class(es)-for-input', |
|
198 | - * ['classes'] => array('class_1', 'class_2'); //optional - if the field type is a multi select type of field you can indicate the css class for each option via this index. |
|
199 | - * ['id'] => 'css-id-for-input') //defaults to 'field_name' |
|
200 | - * ['unique_id'] => 1 //defaults to empty string. This is useful for when the fields generated are going to be used in a loop and you want to make sure that the field identifiers are unique from each other. |
|
201 | - * ['dimensions'] => array(100,300), //defaults to empty array. This is used by field types such as textarea to indicate cols/rows. |
|
202 | - * ['tabindex'] => '' //this allows you to set the tabindex for the field. |
|
203 | - * ['wpeditor_args'] => array() //if the type of field is wpeditor then this can optionally contain an array of arguments for the editor setup. |
|
204 | - * |
|
205 | - * @return array an array of inputs for form indexed by field name, and in the following structure: |
|
206 | - * [field_name] => array( 'label' => '{label_html}', 'field' => '{input_html}' |
|
207 | - */ |
|
208 | - public static function get_form_fields_array($fields) |
|
209 | - { |
|
210 | - |
|
211 | - $form_fields = array(); |
|
212 | - $fields = (array) $fields; |
|
213 | - |
|
214 | - foreach ($fields as $field_name => $field_atts) { |
|
215 | - // defaults: |
|
216 | - $defaults = array( |
|
217 | - 'label' => '', |
|
218 | - 'labels' => '', |
|
219 | - 'extra_desc' => '', |
|
220 | - 'type' => 'text', |
|
221 | - 'value' => '', |
|
222 | - 'default' => '', |
|
223 | - 'class' => '', |
|
224 | - 'classes' => '', |
|
225 | - 'id' => $field_name, |
|
226 | - 'unique_id' => '', |
|
227 | - 'dimensions' => array('10', '5'), |
|
228 | - 'tabindex' => '', |
|
229 | - 'wpeditor_args' => array() |
|
230 | - ); |
|
231 | - // merge defaults with passed arguments |
|
232 | - $_fields = wp_parse_args($field_atts, $defaults); |
|
233 | - extract($_fields); |
|
234 | - // generate label |
|
235 | - $label = empty($label) ? '' : '<label for="' . $id . '">' . $label . '</label>'; |
|
236 | - // generate field name |
|
237 | - $f_name = !empty($unique_id) ? $field_name . '[' . $unique_id . ']' : $field_name; |
|
238 | - |
|
239 | - // tabindex |
|
240 | - $tabindex_str = !empty($tabindex) ? ' tabindex="' . $tabindex . '"' : ''; |
|
241 | - |
|
242 | - // we determine what we're building based on the type |
|
243 | - switch ($type) { |
|
244 | - case 'textarea': |
|
245 | - $fld = '<textarea id="' . $id . '" class="' . $class . '" rows="' . $dimensions[1] . '" cols="' . $dimensions[0] . '" name="' . $f_name . '"' . $tabindex_str . '>' . $value . '</textarea>'; |
|
246 | - $fld .= $extra_desc; |
|
247 | - break; |
|
248 | - |
|
249 | - case 'checkbox': |
|
250 | - $c_input = ''; |
|
251 | - if (is_array($value)) { |
|
252 | - foreach ($value as $key => $val) { |
|
253 | - $c_id = $field_name . '_' . $value; |
|
254 | - $c_class = isset($classes[ $key ]) ? ' class="' . $classes[ $key ] . '" ' : ''; |
|
255 | - $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
256 | - $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
257 | - $c_input .= '<input name="' . $f_name . '[]" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
258 | - } |
|
259 | - $fld = $c_input; |
|
260 | - } else { |
|
261 | - $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
262 | - $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
263 | - } |
|
264 | - break; |
|
265 | - |
|
266 | - case 'radio': |
|
267 | - $c_input = ''; |
|
268 | - if (is_array($value)) { |
|
269 | - foreach ($value as $key => $val) { |
|
270 | - $c_id = $field_name . '_' . $value; |
|
271 | - $c_class = isset($classes[ $key ]) ? 'class="' . $classes[ $key ] . '" ' : ''; |
|
272 | - $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
273 | - $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
274 | - $c_input .= '<input name="' . $f_name . '" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
275 | - } |
|
276 | - $fld = $c_input; |
|
277 | - } else { |
|
278 | - $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
279 | - $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
280 | - } |
|
281 | - break; |
|
282 | - |
|
283 | - case 'hidden': |
|
284 | - $fld = '<input name="' . $f_name . '" type="hidden" id="' . $id . '" class="' . $class . '" value="' . $value . '" />' . "\n"; |
|
285 | - break; |
|
286 | - |
|
287 | - case 'select': |
|
288 | - $fld = '<select name="' . $f_name . '" class="' . $class . '" id="' . $id . '"' . $tabindex_str . '>' . "\n"; |
|
289 | - foreach ($value as $key => $val) { |
|
290 | - $checked = !empty($default) && $default == $val ? ' selected="selected"' : ''; |
|
291 | - $fld .= "\t" . '<option value="' . $val . '"' . $checked . '>' . $labels[ $key ] . '</option>' . "\n"; |
|
292 | - } |
|
293 | - $fld .= '</select>'; |
|
294 | - break; |
|
295 | - |
|
296 | - case 'wp_editor': |
|
297 | - $editor_settings = array( |
|
298 | - 'textarea_name' => $f_name, |
|
299 | - 'textarea_rows' => $dimensions[1], |
|
300 | - 'editor_class' => $class, |
|
301 | - 'tabindex' => $tabindex |
|
302 | - ); |
|
303 | - $editor_settings = array_merge($wpeditor_args, $editor_settings); |
|
304 | - ob_start(); |
|
305 | - wp_editor($value, $id, $editor_settings); |
|
306 | - $editor = ob_get_contents(); |
|
307 | - ob_end_clean(); |
|
308 | - $fld = $editor; |
|
309 | - break; |
|
310 | - |
|
311 | - default: // 'text fields' |
|
312 | - $fld = '<input name="' . $f_name . '" type="text" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $tabindex_str . ' />' . "\n"; |
|
313 | - $fld .= $extra_desc; |
|
314 | - } |
|
315 | - |
|
316 | - $form_fields[ $field_name ] = array( 'label' => $label, 'field' => $fld ); |
|
317 | - } |
|
318 | - |
|
319 | - return $form_fields; |
|
320 | - } |
|
321 | - |
|
322 | - |
|
323 | - |
|
324 | - |
|
325 | - |
|
326 | - |
|
327 | - /** |
|
328 | - * espresso admin page select_input |
|
329 | - * Turns an array into a select fields |
|
330 | - * |
|
331 | - * @static |
|
332 | - * @access public |
|
333 | - * @param string $name field name |
|
334 | - * @param array $values option values, numbered array starting at 0, where each value is an array with a key 'text' (meaning text to display' and 'id' (meaning the internal value) |
|
335 | - * eg: array(1=>array('text'=>'Monday','id'=>1),2=>array('text'=>'Tuesday','id'=>2)...). or as an array of key-value pairs, where the key is to be used for the |
|
336 | - * select input's name, and the value will be the text shown to the user. Optionally you can also include an additional key of "class" which will add a specific class to the option for that value. |
|
337 | - * @param string $default default value |
|
338 | - * @param string $parameters extra paramaters |
|
339 | - * @param string $class css class |
|
340 | - * @param boolean $autosize whether to autosize the select or not |
|
341 | - * @return string html string for the select input |
|
342 | - */ |
|
343 | - public static function select_input($name, $values, $default = '', $parameters = '', $class = '', $autosize = true) |
|
344 | - { |
|
345 | - // if $values was submitted in the wrong format, convert it over |
|
346 | - if (!empty($values) && (!array_key_exists(0, $values) || !is_array($values[0]))) { |
|
347 | - $converted_values = array(); |
|
348 | - foreach ($values as $id => $text) { |
|
349 | - $converted_values[] = array('id' => $id,'text' => $text); |
|
350 | - } |
|
351 | - $values = $converted_values; |
|
352 | - } |
|
353 | - |
|
354 | - $field = '<select id="' . EEH_Formatter::ee_tep_output_string($name) . '" name="' . EEH_Formatter::ee_tep_output_string($name) . '"'; |
|
355 | - // Debug |
|
356 | - // EEH_Debug_Tools::printr( $values, '$values <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
357 | - if (EEH_Formatter::ee_tep_not_null($parameters)) { |
|
358 | - $field .= ' ' . $parameters; |
|
359 | - } |
|
360 | - if ($autosize) { |
|
361 | - $size = 'med'; |
|
362 | - for ($ii = 0, $ni = sizeof($values); $ii < $ni; $ii++) { |
|
363 | - if ($values[ $ii ]['text']) { |
|
364 | - if (strlen($values[ $ii ]['text']) > 5) { |
|
365 | - $size = 'wide'; |
|
366 | - } |
|
367 | - } |
|
368 | - } |
|
369 | - } else { |
|
370 | - $size = ''; |
|
371 | - } |
|
372 | - |
|
373 | - $field .= ' class="' . $class . ' ' . $size . '">'; |
|
374 | - |
|
375 | - if (empty($default) && isset($GLOBALS[ $name ])) { |
|
376 | - $default = stripslashes($GLOBALS[ $name ]); |
|
377 | - } |
|
378 | - |
|
379 | - |
|
380 | - for ($i = 0, $n = sizeof($values); $i < $n; $i++) { |
|
381 | - $field .= '<option value="' . $values[ $i ]['id'] . '"'; |
|
382 | - if ($default == $values[ $i ]['id']) { |
|
383 | - $field .= ' selected = "selected"'; |
|
384 | - } |
|
385 | - if (isset($values[ $i ]['class'])) { |
|
386 | - $field .= ' class="' . $values[ $i ]['class'] . '"'; |
|
387 | - } |
|
388 | - $field .= '>' . $values[ $i ]['text'] . '</option>'; |
|
389 | - } |
|
390 | - $field .= '</select>'; |
|
391 | - |
|
392 | - return $field; |
|
393 | - } |
|
394 | - |
|
395 | - |
|
396 | - |
|
397 | - |
|
398 | - |
|
399 | - |
|
400 | - /** |
|
401 | - * generate_question_groups_html |
|
402 | - * |
|
403 | - * @param string $question_groups |
|
404 | - * @return string HTML |
|
405 | - */ |
|
406 | - public static function generate_question_groups_html($question_groups = array(), $group_wrapper = 'fieldset') |
|
407 | - { |
|
408 | - |
|
409 | - $html = ''; |
|
410 | - $before_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', ''); |
|
411 | - $after_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', ''); |
|
412 | - |
|
413 | - if (! empty($question_groups)) { |
|
414 | - // EEH_Debug_Tools::printr( $question_groups, '$question_groups <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
415 | - // loop thru question groups |
|
416 | - foreach ($question_groups as $QSG) { |
|
417 | - // check that questions exist |
|
418 | - if (! empty($QSG['QSG_questions'])) { |
|
419 | - // use fieldsets |
|
420 | - $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG['QSG_identifier'] . '">'; |
|
421 | - // group_name |
|
422 | - $html .= $QSG['QSG_show_group_name'] ? "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . self::prep_answer($QSG['QSG_name']) . '</h5>' : ''; |
|
423 | - // group_desc |
|
424 | - $html .= $QSG['QSG_show_group_desc'] && ! empty($QSG['QSG_desc']) ? '<div class="espresso-question-group-desc-pg">' . self::prep_answer($QSG['QSG_desc']) . '</div>' : ''; |
|
425 | - |
|
426 | - $html .= $before_question_group_questions; |
|
427 | - // loop thru questions |
|
428 | - foreach ($QSG['QSG_questions'] as $question) { |
|
32 | + /** |
|
33 | + * Generates HTML for the forms used on admin pages |
|
34 | + * |
|
35 | + * |
|
36 | + * @static |
|
37 | + * @access public |
|
38 | + * @param array $input_vars - array of input field details |
|
39 | + * format: |
|
40 | + * $template_form_fields['field-id'] = array( |
|
41 | + * 'name' => 'name_attribute', |
|
42 | + * 'label' => __('Field Label', 'event_espresso'), //or false |
|
43 | + * 'input' => 'hidden', //field input type can be 'text', 'select', 'textarea', 'hidden', 'checkbox', 'wp_editor' |
|
44 | + * 'type' => 'int', //what "type" the value is (i.e. string, int etc) |
|
45 | + * 'required' => false, //boolean for whether the field is required |
|
46 | + * 'validation' => true, //boolean, whether to validate the field (todo) |
|
47 | + * 'value' => 'some_value_for_field', //what value is used for field |
|
48 | + * 'format' => '%d', //what format the value is (%d, %f, or %s) |
|
49 | + * 'db-col' => 'column_in_db' //used to indicate which column the field corresponds with in the db |
|
50 | + * 'options' => optiona, optionb || array('value' => 'label', '') //if the input type is "select", this allows you to set the args for the different <option> tags. |
|
51 | + * 'tabindex' => 1 //this allows you to set the tabindex for the field. |
|
52 | + * 'append_content' => '' //this allows you to send in html content to append to the field. |
|
53 | + * ) |
|
54 | + * @param array $id - used for defining unique identifiers for the form. |
|
55 | + * @return string |
|
56 | + * @todo: at some point we can break this down into other static methods to abstract it a bit better. |
|
57 | + */ |
|
58 | + public static function get_form_fields($input_vars = array(), $id = false) |
|
59 | + { |
|
60 | + |
|
61 | + if (empty($input_vars)) { |
|
62 | + EE_Error::add_error(__('missing required variables for the form field generator', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__); |
|
63 | + return false; |
|
64 | + } |
|
65 | + |
|
66 | + // if you don't behave - this is what you're gonna get !!! |
|
67 | + $close = true; |
|
68 | + $output = '<ul>'; // this is for using built-in wp styles... watch carefully... |
|
69 | + |
|
70 | + // cycle thru inputs |
|
71 | + foreach ($input_vars as $input_key => $input_value) { |
|
72 | + $defaults = array( |
|
73 | + 'name' => $input_key, |
|
74 | + 'label' => __('No label', 'event_espresso'), |
|
75 | + 'input' => 'hidden', |
|
76 | + 'type' => 'int', |
|
77 | + 'required' => false, |
|
78 | + 'validation' => true, |
|
79 | + 'value' => 'some_value_for_field', |
|
80 | + 'format' => '%d', |
|
81 | + 'db-col' => 'column_in_db', |
|
82 | + 'options' => array(), |
|
83 | + 'tabindex' => '', |
|
84 | + 'append_content' => '' |
|
85 | + ); |
|
86 | + |
|
87 | + $input_value = wp_parse_args($input_value, $defaults); |
|
88 | + |
|
89 | + // required fields get a * |
|
90 | + $required = isset($input_value['required']) && $input_value['required'] ? ' <span>*</span>: ' : ': '; |
|
91 | + // and the css class "required" |
|
92 | + $css_class = isset($input_value['css_class']) ? $input_value['css_class'] : ''; |
|
93 | + $styles = $input_value['required'] ? 'required ' . $css_class : $css_class; |
|
94 | + |
|
95 | + $field_id = ($id) ? $id . '-' . $input_key : $input_key; |
|
96 | + $tabindex = !empty($input_value['tabindex']) ? ' tabindex="' . $input_value['tabindex'] . '"' : ''; |
|
97 | + |
|
98 | + // rows or cols? |
|
99 | + $rows = isset($input_value['rows']) ? $input_value['rows'] : '10'; |
|
100 | + $cols = isset($input_value['cols']) ? $input_value['cols'] : '80'; |
|
101 | + |
|
102 | + // any content? |
|
103 | + $append_content = $input_value['append_content']; |
|
104 | + |
|
105 | + $output .= (!$close) ? '<ul>' : ''; |
|
106 | + $output .= '<li>'; |
|
107 | + |
|
108 | + // what type of input are we dealing with ? |
|
109 | + switch ($input_value['input']) { |
|
110 | + // text inputs |
|
111 | + case 'text': |
|
112 | + $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
113 | + $output .= "\n\t\t\t" . '<input id="' . $field_id . '" class="' . $styles . '" type="text" value="' . esc_textarea($input_value['value']) . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
114 | + break; |
|
115 | + |
|
116 | + // dropdowns |
|
117 | + case 'select': |
|
118 | + $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
119 | + $output .= "\n\t\t\t" . '<select id="' . $field_id . '" class="' . $styles . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
120 | + |
|
121 | + if (is_array($input_value['options'])) { |
|
122 | + $options = $input_value['options']; |
|
123 | + } else { |
|
124 | + $options = explode(',', $input_value['options']); |
|
125 | + } |
|
126 | + |
|
127 | + foreach ($options as $key => $value) { |
|
128 | + $selected = isset($input_value['value']) && $input_value['value'] == $key ? 'selected=selected' : ''; |
|
129 | + // $key = str_replace( ' ', '_', sanitize_key( $value )); |
|
130 | + $output .= "\n\t\t\t\t" . '<option ' . $selected . ' value="' . $key . '">' . $value . '</option>'; |
|
131 | + } |
|
132 | + $output .= "\n\t\t\t" . '</select>'; |
|
133 | + |
|
134 | + break; |
|
135 | + |
|
136 | + case 'textarea': |
|
137 | + $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
138 | + $output .= "\n\t\t\t" . '<textarea id="' . $field_id . '" class="' . $styles . '" rows="' . $rows . '" cols="' . $cols . '" name="' . $input_value['name'] . '"' . $tabindex . '>' . esc_textarea($input_value['value']) . '</textarea>'; |
|
139 | + break; |
|
140 | + |
|
141 | + case 'hidden': |
|
142 | + $close = false; |
|
143 | + $output .= "</li></ul>"; |
|
144 | + $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="hidden" name="' . $input_value['name'] . '" value="' . $input_value['value'] . '">'; |
|
145 | + break; |
|
146 | + |
|
147 | + case 'checkbox': |
|
148 | + $checked = ( $input_value['value'] == 1 ) ? 'checked="checked"' : ''; |
|
149 | + $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
150 | + $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="checkbox" name="' . $input_value['name'] . '" value="1"' . $checked . $tabindex . ' />'; |
|
151 | + break; |
|
152 | + |
|
153 | + case 'wp_editor': |
|
154 | + $close = false; |
|
155 | + $editor_settings = array( |
|
156 | + 'textarea_name' => $input_value['name'], |
|
157 | + 'textarea_rows' => $rows, |
|
158 | + 'editor_class' => $styles, |
|
159 | + 'tabindex' => $input_value['tabindex'] |
|
160 | + ); |
|
161 | + $output .= '</li>'; |
|
162 | + $output .= '</ul>'; |
|
163 | + $output .= '<h4>' . $input_value['label'] . '</h4>'; |
|
164 | + if ($append_content) { |
|
165 | + $output .= $append_content; |
|
166 | + } |
|
167 | + ob_start(); |
|
168 | + wp_editor($input_value['value'], $field_id, $editor_settings); |
|
169 | + $editor = ob_get_contents(); |
|
170 | + ob_end_clean(); |
|
171 | + $output .= $editor; |
|
172 | + break; |
|
173 | + } |
|
174 | + if ($append_content && $input_value['input'] !== 'wp_editor') { |
|
175 | + $output .= $append_content; |
|
176 | + } |
|
177 | + $output .= ($close) ? '</li>' : ''; |
|
178 | + } // end foreach( $input_vars as $input_key => $input_value ) |
|
179 | + $output .= ($close) ? '</ul>' : ''; |
|
180 | + |
|
181 | + return $output; |
|
182 | + } |
|
183 | + |
|
184 | + /** |
|
185 | + * form_fields_array |
|
186 | + * This utility function assembles form fields from a given structured array with field information. |
|
187 | + * //TODO: This is an alternate generator that we may want to use instead. |
|
188 | + * |
|
189 | + * @param array $fields structured array of fields to assemble in the following format: |
|
190 | + * [field_name] => array( |
|
191 | + * ['label'] => 'label for field', |
|
192 | + * ['labels'] => array('label_1', 'label_2'); //optional - if the field type is a multi select type of field you can indicated the labels for each option via this index |
|
193 | + * ['extra_desc'] => 'extra description for the field', //optional |
|
194 | + * ['type'] => 'textarea'|'text'|'wp_editor'|'checkbox'|'radio'|'hidden'|'select', //defaults to text |
|
195 | + * ['value'] => 'value that goes in the field', //(if multi then this is an array of values and the 'default' paramater will be used for what is selected) |
|
196 | + * ['default'] => 'default if the field type is multi (i.e. select or radios or checkboxes)', |
|
197 | + * ['class'] => 'name-of-class(es)-for-input', |
|
198 | + * ['classes'] => array('class_1', 'class_2'); //optional - if the field type is a multi select type of field you can indicate the css class for each option via this index. |
|
199 | + * ['id'] => 'css-id-for-input') //defaults to 'field_name' |
|
200 | + * ['unique_id'] => 1 //defaults to empty string. This is useful for when the fields generated are going to be used in a loop and you want to make sure that the field identifiers are unique from each other. |
|
201 | + * ['dimensions'] => array(100,300), //defaults to empty array. This is used by field types such as textarea to indicate cols/rows. |
|
202 | + * ['tabindex'] => '' //this allows you to set the tabindex for the field. |
|
203 | + * ['wpeditor_args'] => array() //if the type of field is wpeditor then this can optionally contain an array of arguments for the editor setup. |
|
204 | + * |
|
205 | + * @return array an array of inputs for form indexed by field name, and in the following structure: |
|
206 | + * [field_name] => array( 'label' => '{label_html}', 'field' => '{input_html}' |
|
207 | + */ |
|
208 | + public static function get_form_fields_array($fields) |
|
209 | + { |
|
210 | + |
|
211 | + $form_fields = array(); |
|
212 | + $fields = (array) $fields; |
|
213 | + |
|
214 | + foreach ($fields as $field_name => $field_atts) { |
|
215 | + // defaults: |
|
216 | + $defaults = array( |
|
217 | + 'label' => '', |
|
218 | + 'labels' => '', |
|
219 | + 'extra_desc' => '', |
|
220 | + 'type' => 'text', |
|
221 | + 'value' => '', |
|
222 | + 'default' => '', |
|
223 | + 'class' => '', |
|
224 | + 'classes' => '', |
|
225 | + 'id' => $field_name, |
|
226 | + 'unique_id' => '', |
|
227 | + 'dimensions' => array('10', '5'), |
|
228 | + 'tabindex' => '', |
|
229 | + 'wpeditor_args' => array() |
|
230 | + ); |
|
231 | + // merge defaults with passed arguments |
|
232 | + $_fields = wp_parse_args($field_atts, $defaults); |
|
233 | + extract($_fields); |
|
234 | + // generate label |
|
235 | + $label = empty($label) ? '' : '<label for="' . $id . '">' . $label . '</label>'; |
|
236 | + // generate field name |
|
237 | + $f_name = !empty($unique_id) ? $field_name . '[' . $unique_id . ']' : $field_name; |
|
238 | + |
|
239 | + // tabindex |
|
240 | + $tabindex_str = !empty($tabindex) ? ' tabindex="' . $tabindex . '"' : ''; |
|
241 | + |
|
242 | + // we determine what we're building based on the type |
|
243 | + switch ($type) { |
|
244 | + case 'textarea': |
|
245 | + $fld = '<textarea id="' . $id . '" class="' . $class . '" rows="' . $dimensions[1] . '" cols="' . $dimensions[0] . '" name="' . $f_name . '"' . $tabindex_str . '>' . $value . '</textarea>'; |
|
246 | + $fld .= $extra_desc; |
|
247 | + break; |
|
248 | + |
|
249 | + case 'checkbox': |
|
250 | + $c_input = ''; |
|
251 | + if (is_array($value)) { |
|
252 | + foreach ($value as $key => $val) { |
|
253 | + $c_id = $field_name . '_' . $value; |
|
254 | + $c_class = isset($classes[ $key ]) ? ' class="' . $classes[ $key ] . '" ' : ''; |
|
255 | + $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
256 | + $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
257 | + $c_input .= '<input name="' . $f_name . '[]" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
258 | + } |
|
259 | + $fld = $c_input; |
|
260 | + } else { |
|
261 | + $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
262 | + $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
263 | + } |
|
264 | + break; |
|
265 | + |
|
266 | + case 'radio': |
|
267 | + $c_input = ''; |
|
268 | + if (is_array($value)) { |
|
269 | + foreach ($value as $key => $val) { |
|
270 | + $c_id = $field_name . '_' . $value; |
|
271 | + $c_class = isset($classes[ $key ]) ? 'class="' . $classes[ $key ] . '" ' : ''; |
|
272 | + $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
273 | + $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
274 | + $c_input .= '<input name="' . $f_name . '" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
275 | + } |
|
276 | + $fld = $c_input; |
|
277 | + } else { |
|
278 | + $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
279 | + $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
280 | + } |
|
281 | + break; |
|
282 | + |
|
283 | + case 'hidden': |
|
284 | + $fld = '<input name="' . $f_name . '" type="hidden" id="' . $id . '" class="' . $class . '" value="' . $value . '" />' . "\n"; |
|
285 | + break; |
|
286 | + |
|
287 | + case 'select': |
|
288 | + $fld = '<select name="' . $f_name . '" class="' . $class . '" id="' . $id . '"' . $tabindex_str . '>' . "\n"; |
|
289 | + foreach ($value as $key => $val) { |
|
290 | + $checked = !empty($default) && $default == $val ? ' selected="selected"' : ''; |
|
291 | + $fld .= "\t" . '<option value="' . $val . '"' . $checked . '>' . $labels[ $key ] . '</option>' . "\n"; |
|
292 | + } |
|
293 | + $fld .= '</select>'; |
|
294 | + break; |
|
295 | + |
|
296 | + case 'wp_editor': |
|
297 | + $editor_settings = array( |
|
298 | + 'textarea_name' => $f_name, |
|
299 | + 'textarea_rows' => $dimensions[1], |
|
300 | + 'editor_class' => $class, |
|
301 | + 'tabindex' => $tabindex |
|
302 | + ); |
|
303 | + $editor_settings = array_merge($wpeditor_args, $editor_settings); |
|
304 | + ob_start(); |
|
305 | + wp_editor($value, $id, $editor_settings); |
|
306 | + $editor = ob_get_contents(); |
|
307 | + ob_end_clean(); |
|
308 | + $fld = $editor; |
|
309 | + break; |
|
310 | + |
|
311 | + default: // 'text fields' |
|
312 | + $fld = '<input name="' . $f_name . '" type="text" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $tabindex_str . ' />' . "\n"; |
|
313 | + $fld .= $extra_desc; |
|
314 | + } |
|
315 | + |
|
316 | + $form_fields[ $field_name ] = array( 'label' => $label, 'field' => $fld ); |
|
317 | + } |
|
318 | + |
|
319 | + return $form_fields; |
|
320 | + } |
|
321 | + |
|
322 | + |
|
323 | + |
|
324 | + |
|
325 | + |
|
326 | + |
|
327 | + /** |
|
328 | + * espresso admin page select_input |
|
329 | + * Turns an array into a select fields |
|
330 | + * |
|
331 | + * @static |
|
332 | + * @access public |
|
333 | + * @param string $name field name |
|
334 | + * @param array $values option values, numbered array starting at 0, where each value is an array with a key 'text' (meaning text to display' and 'id' (meaning the internal value) |
|
335 | + * eg: array(1=>array('text'=>'Monday','id'=>1),2=>array('text'=>'Tuesday','id'=>2)...). or as an array of key-value pairs, where the key is to be used for the |
|
336 | + * select input's name, and the value will be the text shown to the user. Optionally you can also include an additional key of "class" which will add a specific class to the option for that value. |
|
337 | + * @param string $default default value |
|
338 | + * @param string $parameters extra paramaters |
|
339 | + * @param string $class css class |
|
340 | + * @param boolean $autosize whether to autosize the select or not |
|
341 | + * @return string html string for the select input |
|
342 | + */ |
|
343 | + public static function select_input($name, $values, $default = '', $parameters = '', $class = '', $autosize = true) |
|
344 | + { |
|
345 | + // if $values was submitted in the wrong format, convert it over |
|
346 | + if (!empty($values) && (!array_key_exists(0, $values) || !is_array($values[0]))) { |
|
347 | + $converted_values = array(); |
|
348 | + foreach ($values as $id => $text) { |
|
349 | + $converted_values[] = array('id' => $id,'text' => $text); |
|
350 | + } |
|
351 | + $values = $converted_values; |
|
352 | + } |
|
353 | + |
|
354 | + $field = '<select id="' . EEH_Formatter::ee_tep_output_string($name) . '" name="' . EEH_Formatter::ee_tep_output_string($name) . '"'; |
|
355 | + // Debug |
|
356 | + // EEH_Debug_Tools::printr( $values, '$values <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
357 | + if (EEH_Formatter::ee_tep_not_null($parameters)) { |
|
358 | + $field .= ' ' . $parameters; |
|
359 | + } |
|
360 | + if ($autosize) { |
|
361 | + $size = 'med'; |
|
362 | + for ($ii = 0, $ni = sizeof($values); $ii < $ni; $ii++) { |
|
363 | + if ($values[ $ii ]['text']) { |
|
364 | + if (strlen($values[ $ii ]['text']) > 5) { |
|
365 | + $size = 'wide'; |
|
366 | + } |
|
367 | + } |
|
368 | + } |
|
369 | + } else { |
|
370 | + $size = ''; |
|
371 | + } |
|
372 | + |
|
373 | + $field .= ' class="' . $class . ' ' . $size . '">'; |
|
374 | + |
|
375 | + if (empty($default) && isset($GLOBALS[ $name ])) { |
|
376 | + $default = stripslashes($GLOBALS[ $name ]); |
|
377 | + } |
|
378 | + |
|
379 | + |
|
380 | + for ($i = 0, $n = sizeof($values); $i < $n; $i++) { |
|
381 | + $field .= '<option value="' . $values[ $i ]['id'] . '"'; |
|
382 | + if ($default == $values[ $i ]['id']) { |
|
383 | + $field .= ' selected = "selected"'; |
|
384 | + } |
|
385 | + if (isset($values[ $i ]['class'])) { |
|
386 | + $field .= ' class="' . $values[ $i ]['class'] . '"'; |
|
387 | + } |
|
388 | + $field .= '>' . $values[ $i ]['text'] . '</option>'; |
|
389 | + } |
|
390 | + $field .= '</select>'; |
|
391 | + |
|
392 | + return $field; |
|
393 | + } |
|
394 | + |
|
395 | + |
|
396 | + |
|
397 | + |
|
398 | + |
|
399 | + |
|
400 | + /** |
|
401 | + * generate_question_groups_html |
|
402 | + * |
|
403 | + * @param string $question_groups |
|
404 | + * @return string HTML |
|
405 | + */ |
|
406 | + public static function generate_question_groups_html($question_groups = array(), $group_wrapper = 'fieldset') |
|
407 | + { |
|
408 | + |
|
409 | + $html = ''; |
|
410 | + $before_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', ''); |
|
411 | + $after_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', ''); |
|
412 | + |
|
413 | + if (! empty($question_groups)) { |
|
414 | + // EEH_Debug_Tools::printr( $question_groups, '$question_groups <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
415 | + // loop thru question groups |
|
416 | + foreach ($question_groups as $QSG) { |
|
417 | + // check that questions exist |
|
418 | + if (! empty($QSG['QSG_questions'])) { |
|
419 | + // use fieldsets |
|
420 | + $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG['QSG_identifier'] . '">'; |
|
421 | + // group_name |
|
422 | + $html .= $QSG['QSG_show_group_name'] ? "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . self::prep_answer($QSG['QSG_name']) . '</h5>' : ''; |
|
423 | + // group_desc |
|
424 | + $html .= $QSG['QSG_show_group_desc'] && ! empty($QSG['QSG_desc']) ? '<div class="espresso-question-group-desc-pg">' . self::prep_answer($QSG['QSG_desc']) . '</div>' : ''; |
|
425 | + |
|
426 | + $html .= $before_question_group_questions; |
|
427 | + // loop thru questions |
|
428 | + foreach ($QSG['QSG_questions'] as $question) { |
|
429 | 429 | // EEH_Debug_Tools::printr( $question, '$question <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
430 | - $QFI = new EE_Question_Form_Input( |
|
431 | - $question['qst_obj'], |
|
432 | - $question['ans_obj'], |
|
433 | - $question |
|
434 | - ); |
|
435 | - $html .= self::generate_form_input($QFI); |
|
436 | - } |
|
437 | - $html .= $after_question_group_questions; |
|
438 | - $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
439 | - } |
|
440 | - } |
|
441 | - } |
|
442 | - |
|
443 | - return $html; |
|
444 | - } |
|
445 | - |
|
446 | - |
|
447 | - |
|
448 | - /** |
|
449 | - * generate_question_groups_html |
|
450 | - * |
|
451 | - * @param array $question_groups |
|
452 | - * @param array $q_meta |
|
453 | - * @param bool $from_admin |
|
454 | - * @param string $group_wrapper |
|
455 | - * @return string HTML |
|
456 | - */ |
|
457 | - public static function generate_question_groups_html2($question_groups = array(), $q_meta = array(), $from_admin = false, $group_wrapper = 'fieldset') |
|
458 | - { |
|
459 | - |
|
460 | - $html = ''; |
|
461 | - $before_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', ''); |
|
462 | - $after_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', ''); |
|
463 | - |
|
464 | - $default_q_meta = array( |
|
465 | - 'att_nmbr' => 1, |
|
466 | - 'ticket_id' => '', |
|
467 | - 'input_name' => '', |
|
468 | - 'input_id' => '', |
|
469 | - 'input_class' => '' |
|
470 | - ); |
|
471 | - $q_meta = array_merge($default_q_meta, $q_meta); |
|
472 | - // EEH_Debug_Tools::printr( $q_meta, '$q_meta <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
473 | - |
|
474 | - if (! empty($question_groups)) { |
|
430 | + $QFI = new EE_Question_Form_Input( |
|
431 | + $question['qst_obj'], |
|
432 | + $question['ans_obj'], |
|
433 | + $question |
|
434 | + ); |
|
435 | + $html .= self::generate_form_input($QFI); |
|
436 | + } |
|
437 | + $html .= $after_question_group_questions; |
|
438 | + $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
439 | + } |
|
440 | + } |
|
441 | + } |
|
442 | + |
|
443 | + return $html; |
|
444 | + } |
|
445 | + |
|
446 | + |
|
447 | + |
|
448 | + /** |
|
449 | + * generate_question_groups_html |
|
450 | + * |
|
451 | + * @param array $question_groups |
|
452 | + * @param array $q_meta |
|
453 | + * @param bool $from_admin |
|
454 | + * @param string $group_wrapper |
|
455 | + * @return string HTML |
|
456 | + */ |
|
457 | + public static function generate_question_groups_html2($question_groups = array(), $q_meta = array(), $from_admin = false, $group_wrapper = 'fieldset') |
|
458 | + { |
|
459 | + |
|
460 | + $html = ''; |
|
461 | + $before_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', ''); |
|
462 | + $after_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', ''); |
|
463 | + |
|
464 | + $default_q_meta = array( |
|
465 | + 'att_nmbr' => 1, |
|
466 | + 'ticket_id' => '', |
|
467 | + 'input_name' => '', |
|
468 | + 'input_id' => '', |
|
469 | + 'input_class' => '' |
|
470 | + ); |
|
471 | + $q_meta = array_merge($default_q_meta, $q_meta); |
|
472 | + // EEH_Debug_Tools::printr( $q_meta, '$q_meta <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
473 | + |
|
474 | + if (! empty($question_groups)) { |
|
475 | 475 | // EEH_Debug_Tools::printr( $question_groups, '$question_groups <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
476 | - // loop thru question groups |
|
477 | - foreach ($question_groups as $QSG) { |
|
478 | - if ($QSG instanceof EE_Question_Group) { |
|
479 | - // check that questions exist |
|
480 | - |
|
481 | - $where = array( 'QST_deleted' => 0 ); |
|
482 | - if (! $from_admin) { |
|
483 | - $where['QST_admin_only'] = 0; |
|
484 | - } |
|
485 | - $questions = $QSG->questions(array( $where, 'order_by' => array( 'Question_Group_Question.QGQ_order' => 'ASC' ))); |
|
486 | - if (! empty($questions)) { |
|
487 | - // use fieldsets |
|
488 | - $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG->get('QSG_identifier') . '">'; |
|
489 | - // group_name |
|
490 | - if ($QSG->show_group_name()) { |
|
491 | - $html .= "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . $QSG->get_pretty('QSG_name') . '</h5>'; |
|
492 | - } |
|
493 | - // group_desc |
|
494 | - if ($QSG->show_group_desc()) { |
|
495 | - $html .= '<div class="espresso-question-group-desc-pg">' . $QSG->get_pretty('QSG_desc') . '</div>'; |
|
496 | - } |
|
497 | - |
|
498 | - $html .= $before_question_group_questions; |
|
499 | - // loop thru questions |
|
500 | - foreach ($questions as $QST) { |
|
501 | - $qstn_id = $QST->is_system_question() ? $QST->system_ID() : $QST->ID(); |
|
502 | - |
|
503 | - $answer = null; |
|
504 | - |
|
505 | - if (isset($_GET['qstn']) && isset($q_meta['input_id']) && isset($q_meta['att_nmbr'])) { |
|
506 | - // check for answer in $_GET in case we are reprocessing a form after an error |
|
507 | - if (isset($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ])) { |
|
508 | - $answer = is_array($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]) ? $_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ] : sanitize_text_field($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]); |
|
509 | - } |
|
510 | - } elseif (isset($q_meta['attendee']) && $q_meta['attendee']) { |
|
511 | - // attendee data from the session |
|
512 | - $answer = isset($q_meta['attendee'][ $qstn_id ]) ? $q_meta['attendee'][ $qstn_id ] : null; |
|
513 | - } |
|
514 | - |
|
515 | - |
|
516 | - |
|
517 | - $QFI = new EE_Question_Form_Input( |
|
518 | - $QST, |
|
519 | - EE_Answer::new_instance(array( |
|
520 | - 'ANS_ID' => 0, |
|
521 | - 'QST_ID' => 0, |
|
522 | - 'REG_ID' => 0, |
|
523 | - 'ANS_value' => $answer |
|
524 | - )), |
|
525 | - $q_meta |
|
526 | - ); |
|
527 | - // EEH_Debug_Tools::printr( $QFI, '$QFI <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
528 | - $html .= self::generate_form_input($QFI); |
|
529 | - } |
|
530 | - $html .= $after_question_group_questions; |
|
531 | - $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
532 | - } |
|
533 | - } |
|
534 | - } |
|
535 | - } |
|
536 | - return $html; |
|
537 | - } |
|
538 | - |
|
539 | - |
|
540 | - |
|
541 | - |
|
542 | - |
|
543 | - |
|
544 | - /** |
|
545 | - * generate_form_input |
|
546 | - * |
|
547 | - * @param EE_Question_Form_Input $QFI |
|
548 | - * @return string HTML |
|
549 | - */ |
|
550 | - public static function generate_form_input(EE_Question_Form_Input $QFI) |
|
551 | - { |
|
552 | - if (isset($QFI->QST_admin_only) && $QFI->QST_admin_only && ! is_admin()) { |
|
553 | - return ''; |
|
554 | - } |
|
555 | - |
|
556 | - $QFI = self::_load_system_dropdowns($QFI); |
|
557 | - $QFI = self::_load_specialized_dropdowns($QFI); |
|
558 | - |
|
559 | - // we also need to verify |
|
560 | - |
|
561 | - $display_text = $QFI->get('QST_display_text'); |
|
562 | - $input_name = $QFI->get('QST_input_name'); |
|
563 | - $answer = EE_Registry::instance()->REQ->is_set($input_name) ? EE_Registry::instance()->REQ->get($input_name) : $QFI->get('ANS_value'); |
|
564 | - $input_id = $QFI->get('QST_input_id'); |
|
565 | - $input_class = $QFI->get('QST_input_class'); |
|
476 | + // loop thru question groups |
|
477 | + foreach ($question_groups as $QSG) { |
|
478 | + if ($QSG instanceof EE_Question_Group) { |
|
479 | + // check that questions exist |
|
480 | + |
|
481 | + $where = array( 'QST_deleted' => 0 ); |
|
482 | + if (! $from_admin) { |
|
483 | + $where['QST_admin_only'] = 0; |
|
484 | + } |
|
485 | + $questions = $QSG->questions(array( $where, 'order_by' => array( 'Question_Group_Question.QGQ_order' => 'ASC' ))); |
|
486 | + if (! empty($questions)) { |
|
487 | + // use fieldsets |
|
488 | + $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG->get('QSG_identifier') . '">'; |
|
489 | + // group_name |
|
490 | + if ($QSG->show_group_name()) { |
|
491 | + $html .= "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . $QSG->get_pretty('QSG_name') . '</h5>'; |
|
492 | + } |
|
493 | + // group_desc |
|
494 | + if ($QSG->show_group_desc()) { |
|
495 | + $html .= '<div class="espresso-question-group-desc-pg">' . $QSG->get_pretty('QSG_desc') . '</div>'; |
|
496 | + } |
|
497 | + |
|
498 | + $html .= $before_question_group_questions; |
|
499 | + // loop thru questions |
|
500 | + foreach ($questions as $QST) { |
|
501 | + $qstn_id = $QST->is_system_question() ? $QST->system_ID() : $QST->ID(); |
|
502 | + |
|
503 | + $answer = null; |
|
504 | + |
|
505 | + if (isset($_GET['qstn']) && isset($q_meta['input_id']) && isset($q_meta['att_nmbr'])) { |
|
506 | + // check for answer in $_GET in case we are reprocessing a form after an error |
|
507 | + if (isset($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ])) { |
|
508 | + $answer = is_array($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]) ? $_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ] : sanitize_text_field($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]); |
|
509 | + } |
|
510 | + } elseif (isset($q_meta['attendee']) && $q_meta['attendee']) { |
|
511 | + // attendee data from the session |
|
512 | + $answer = isset($q_meta['attendee'][ $qstn_id ]) ? $q_meta['attendee'][ $qstn_id ] : null; |
|
513 | + } |
|
514 | + |
|
515 | + |
|
516 | + |
|
517 | + $QFI = new EE_Question_Form_Input( |
|
518 | + $QST, |
|
519 | + EE_Answer::new_instance(array( |
|
520 | + 'ANS_ID' => 0, |
|
521 | + 'QST_ID' => 0, |
|
522 | + 'REG_ID' => 0, |
|
523 | + 'ANS_value' => $answer |
|
524 | + )), |
|
525 | + $q_meta |
|
526 | + ); |
|
527 | + // EEH_Debug_Tools::printr( $QFI, '$QFI <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
|
528 | + $html .= self::generate_form_input($QFI); |
|
529 | + } |
|
530 | + $html .= $after_question_group_questions; |
|
531 | + $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
532 | + } |
|
533 | + } |
|
534 | + } |
|
535 | + } |
|
536 | + return $html; |
|
537 | + } |
|
538 | + |
|
539 | + |
|
540 | + |
|
541 | + |
|
542 | + |
|
543 | + |
|
544 | + /** |
|
545 | + * generate_form_input |
|
546 | + * |
|
547 | + * @param EE_Question_Form_Input $QFI |
|
548 | + * @return string HTML |
|
549 | + */ |
|
550 | + public static function generate_form_input(EE_Question_Form_Input $QFI) |
|
551 | + { |
|
552 | + if (isset($QFI->QST_admin_only) && $QFI->QST_admin_only && ! is_admin()) { |
|
553 | + return ''; |
|
554 | + } |
|
555 | + |
|
556 | + $QFI = self::_load_system_dropdowns($QFI); |
|
557 | + $QFI = self::_load_specialized_dropdowns($QFI); |
|
558 | + |
|
559 | + // we also need to verify |
|
560 | + |
|
561 | + $display_text = $QFI->get('QST_display_text'); |
|
562 | + $input_name = $QFI->get('QST_input_name'); |
|
563 | + $answer = EE_Registry::instance()->REQ->is_set($input_name) ? EE_Registry::instance()->REQ->get($input_name) : $QFI->get('ANS_value'); |
|
564 | + $input_id = $QFI->get('QST_input_id'); |
|
565 | + $input_class = $QFI->get('QST_input_class'); |
|
566 | 566 | // $disabled = $QFI->get('QST_disabled') ? ' disabled="disabled"' : ''; |
567 | - $disabled = $QFI->get('QST_disabled') ? true : false; |
|
568 | - $required_label = apply_filters(' FHEE__EEH_Form_Fields__generate_form_input__required_label', '<em>*</em>'); |
|
569 | - $QST_required = $QFI->get('QST_required'); |
|
570 | - $required = $QST_required ? array( 'label' => $required_label, 'class' => 'required needs-value', 'title' => $QST_required ) : array(); |
|
571 | - $use_html_entities = $QFI->get_meta('htmlentities'); |
|
572 | - $required_text = $QFI->get('QST_required_text') != '' ? $QFI->get('QST_required_text') : __('This field is required', 'event_espresso'); |
|
573 | - $required_text = $QST_required ? "\n\t\t\t" . '<div class="required-text hidden">' . self::prep_answer($required_text, $use_html_entities) . '</div>' : ''; |
|
574 | - $label_class = 'espresso-form-input-lbl'; |
|
575 | - $QST_options = $QFI->options(true, $answer); |
|
576 | - $options = is_array($QST_options) ? self::prep_answer_options($QST_options) : array(); |
|
577 | - $system_ID = $QFI->get('QST_system'); |
|
578 | - $label_b4 = $QFI->get_meta('label_b4'); |
|
579 | - $use_desc_4_label = $QFI->get_meta('use_desc_4_label'); |
|
580 | - |
|
581 | - |
|
582 | - switch ($QFI->get('QST_type')) { |
|
583 | - case 'TEXTAREA': |
|
584 | - return EEH_Form_Fields::textarea($display_text, $answer, $input_name, $input_id, $input_class, array(), $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
585 | - break; |
|
586 | - |
|
587 | - case 'DROPDOWN': |
|
588 | - return EEH_Form_Fields::select($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities, true); |
|
589 | - break; |
|
590 | - |
|
591 | - |
|
592 | - case 'RADIO_BTN': |
|
593 | - return EEH_Form_Fields::radio($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities, $label_b4, $use_desc_4_label); |
|
594 | - break; |
|
595 | - |
|
596 | - case 'CHECKBOX': |
|
597 | - return EEH_Form_Fields::checkbox($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $label_b4, $system_ID, $use_html_entities); |
|
598 | - break; |
|
599 | - |
|
600 | - case 'DATE': |
|
601 | - return EEH_Form_Fields::datepicker($display_text, $answer, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
602 | - break; |
|
603 | - |
|
604 | - case 'TEXT': |
|
605 | - default: |
|
606 | - return EEH_Form_Fields::text($display_text, $answer, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
607 | - break; |
|
608 | - } |
|
609 | - } |
|
610 | - |
|
611 | - |
|
612 | - |
|
613 | - |
|
614 | - |
|
615 | - |
|
616 | - /** |
|
617 | - * generates HTML for a form text input |
|
618 | - * |
|
619 | - * @param string $question label content |
|
620 | - * @param string $answer form input value attribute |
|
621 | - * @param string $name form input name attribute |
|
622 | - * @param string $id form input css id attribute |
|
623 | - * @param string $class form input css class attribute |
|
624 | - * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
625 | - * @param string $label_class css class attribute for the label |
|
626 | - * @param string $disabled disabled="disabled" or null |
|
627 | - * @return string HTML |
|
628 | - */ |
|
629 | - public static function text($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
630 | - { |
|
631 | - // need these |
|
632 | - if (! $question || ! $name) { |
|
633 | - return null; |
|
634 | - } |
|
635 | - // prep the answer |
|
636 | - $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
637 | - // prep the required array |
|
638 | - $required = self::prep_required($required); |
|
639 | - // set disabled tag |
|
640 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
641 | - // ya gots ta have style man!!! |
|
642 | - $txt_class = is_admin() ? 'regular-text' : 'espresso-text-inp'; |
|
643 | - $class = empty($class) ? $txt_class : $class; |
|
644 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
645 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
646 | - |
|
647 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
648 | - // filter label but ensure required text comes before it |
|
649 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
650 | - |
|
651 | - $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" value="' . esc_attr($answer) . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
652 | - |
|
653 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
654 | - return $label_html . $input_html; |
|
655 | - } |
|
656 | - |
|
657 | - |
|
658 | - |
|
659 | - |
|
660 | - |
|
661 | - /** |
|
662 | - * generates HTML for a form textarea |
|
663 | - * |
|
664 | - * @param string $question label content |
|
665 | - * @param string $answer form input value attribute |
|
666 | - * @param string $name form input name attribute |
|
667 | - * @param string $id form input css id attribute |
|
668 | - * @param string $class form input css class attribute |
|
669 | - * @param array $dimensions array of form input rows and cols attributes : array( 'rows' => 3, 'cols' => 40 ) |
|
670 | - * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
671 | - * @param string $label_class css class attribute for the label |
|
672 | - * @param string $disabled disabled="disabled" or null |
|
673 | - * @return string HTML |
|
674 | - */ |
|
675 | - public static function textarea($question = false, $answer = null, $name = false, $id = '', $class = '', $dimensions = false, $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
676 | - { |
|
677 | - // need these |
|
678 | - if (! $question || ! $name) { |
|
679 | - return null; |
|
680 | - } |
|
681 | - // prep the answer |
|
682 | - $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
683 | - // prep the required array |
|
684 | - $required = self::prep_required($required); |
|
685 | - // make sure $dimensions is an array |
|
686 | - $dimensions = is_array($dimensions) ? $dimensions : array(); |
|
687 | - // and set some defaults |
|
688 | - $dimensions = array_merge(array( 'rows' => 3, 'cols' => 40 ), $dimensions); |
|
689 | - // set disabled tag |
|
690 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
691 | - // ya gots ta have style man!!! |
|
692 | - $txt_class = is_admin() ? 'regular-text' : 'espresso-textarea-inp'; |
|
693 | - $class = empty($class) ? $txt_class : $class; |
|
694 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
695 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
696 | - |
|
697 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
698 | - // filter label but ensure required text comes before it |
|
699 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
700 | - |
|
701 | - $input_html = "\n\t\t\t" . '<textarea name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" rows="' . $dimensions['rows'] . '" cols="' . $dimensions['cols'] . '" title="' . $required['msg'] . '" ' . $disabled . ' ' . $extra . '>' . $answer . '</textarea>'; |
|
702 | - |
|
703 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
704 | - return $label_html . $input_html; |
|
705 | - } |
|
706 | - |
|
707 | - |
|
708 | - |
|
709 | - |
|
710 | - |
|
711 | - |
|
712 | - /** |
|
713 | - * generates HTML for a form select input |
|
714 | - * |
|
715 | - * @param string $question label content |
|
716 | - * @param string $answer form input value attribute |
|
717 | - * @param array $options array of answer options where array key = option value and array value = option display text |
|
718 | - * @param string $name form input name attribute |
|
719 | - * @param string $id form input css id attribute |
|
720 | - * @param string $class form input css class attribute |
|
721 | - * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
722 | - * @param string $label_class css class attribute for the label |
|
723 | - * @param string $disabled disabled="disabled" or null |
|
724 | - * @return string HTML |
|
725 | - */ |
|
726 | - public static function select($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true, $add_please_select_option = false) |
|
727 | - { |
|
728 | - |
|
729 | - // need these |
|
730 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
731 | - return null; |
|
732 | - } |
|
733 | - // prep the answer |
|
734 | - $answer = is_array($answer) ? self::prep_answer(array_shift($answer), $use_html_entities) : self::prep_answer($answer, $use_html_entities); |
|
735 | - // prep the required array |
|
736 | - $required = self::prep_required($required); |
|
737 | - // set disabled tag |
|
738 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
739 | - // ya gots ta have style man!!! |
|
740 | - $txt_class = is_admin() ? 'wide' : 'espresso-select-inp'; |
|
741 | - $class = empty($class) ? $txt_class : $class; |
|
742 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
743 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
744 | - |
|
745 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
746 | - // filter label but ensure required text comes before it |
|
747 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
748 | - |
|
749 | - $input_html = "\n\t\t\t" . '<select name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" title="' . esc_attr($required['msg']) . '"' . $disabled . ' ' . $extra . '>'; |
|
750 | - // recursively count array elements, to determine total number of options |
|
751 | - $only_option = count($options, 1) == 1 ? true : false; |
|
752 | - if (! $only_option) { |
|
753 | - // if there is NO answer set and there are multiple options to choose from, then set the "please select" message as selected |
|
754 | - $selected = $answer === null ? ' selected="selected"' : ''; |
|
755 | - $input_html .= $add_please_select_option ? "\n\t\t\t\t" . '<option value=""' . $selected . '>' . __(' - please select - ', 'event_espresso') . '</option>' : ''; |
|
756 | - } |
|
757 | - foreach ($options as $key => $value) { |
|
758 | - // if value is an array, then create option groups, else create regular ol' options |
|
759 | - $input_html .= is_array($value) ? self::_generate_select_option_group($key, $value, $answer, $use_html_entities) : self::_generate_select_option($value->value(), $value->desc(), $answer, $only_option, $use_html_entities); |
|
760 | - } |
|
761 | - |
|
762 | - $input_html .= "\n\t\t\t" . '</select>'; |
|
763 | - |
|
764 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__select__before_end_wrapper', $input_html, $question, $answer, $name, $id, $class, $system_ID); |
|
765 | - |
|
766 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
767 | - return $label_html . $input_html; |
|
768 | - } |
|
769 | - |
|
770 | - |
|
771 | - |
|
772 | - /** |
|
773 | - * _generate_select_option_group |
|
774 | - * |
|
775 | - * if $value for a select box is an array, then the key will be used as the optgroup label |
|
776 | - * and the value array will be looped thru and the elements sent to _generate_select_option |
|
777 | - * |
|
778 | - * @param mixed $opt_group |
|
779 | - * @param mixed $QSOs |
|
780 | - * @param mixed $answer |
|
781 | - * @param boolean $use_html_entities |
|
782 | - * @return string |
|
783 | - */ |
|
784 | - private static function _generate_select_option_group($opt_group, $QSOs, $answer, $use_html_entities = true) |
|
785 | - { |
|
786 | - $html = "\n\t\t\t\t" . '<optgroup label="' . self::prep_option_value($opt_group) . '">'; |
|
787 | - foreach ($QSOs as $QSO) { |
|
788 | - $html .= self::_generate_select_option($QSO->value(), $QSO->desc(), $answer, false, $use_html_entities); |
|
789 | - } |
|
790 | - $html .= "\n\t\t\t\t" . '</optgroup>'; |
|
791 | - return $html; |
|
792 | - } |
|
793 | - |
|
794 | - |
|
795 | - |
|
796 | - /** |
|
797 | - * _generate_select_option |
|
798 | - * @param mixed $key |
|
799 | - * @param mixed $value |
|
800 | - * @param mixed $answer |
|
801 | - * @param int $only_option |
|
802 | - * @param boolean $use_html_entities |
|
803 | - * @return string |
|
804 | - */ |
|
805 | - private static function _generate_select_option($key, $value, $answer, $only_option = false, $use_html_entities = true) |
|
806 | - { |
|
807 | - $key = self::prep_answer($key, $use_html_entities); |
|
808 | - $value = self::prep_answer($value, $use_html_entities); |
|
809 | - $value = ! empty($value) ? $value : $key; |
|
810 | - $selected = ( $answer == $key || $only_option ) ? ' selected="selected"' : ''; |
|
811 | - return "\n\t\t\t\t" . '<option value="' . self::prep_option_value($key) . '"' . $selected . '> ' . $value . ' </option>'; |
|
812 | - } |
|
813 | - |
|
814 | - |
|
815 | - |
|
816 | - /** |
|
817 | - * generates HTML for form radio button inputs |
|
818 | - * |
|
819 | - * @param bool|string $question label content |
|
820 | - * @param string $answer form input value attribute |
|
821 | - * @param array|bool $options array of answer options where array key = option value and array value = option display text |
|
822 | - * @param bool|string $name form input name attribute |
|
823 | - * @param string $id form input css id attribute |
|
824 | - * @param string $class form input css class attribute |
|
825 | - * @param array|bool $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
826 | - * @param string $required_text |
|
827 | - * @param string $label_class css class attribute for the label |
|
828 | - * @param bool|string $disabled disabled="disabled" or null |
|
829 | - * @param bool $system_ID |
|
830 | - * @param bool $use_html_entities |
|
831 | - * @param bool $label_b4 |
|
832 | - * @param bool $use_desc_4_label |
|
833 | - * @return string HTML |
|
834 | - */ |
|
835 | - public static function radio($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true, $label_b4 = false, $use_desc_4_label = false) |
|
836 | - { |
|
837 | - // need these |
|
838 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
839 | - return null; |
|
840 | - } |
|
841 | - // prep the answer |
|
842 | - $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
843 | - // prep the required array |
|
844 | - $required = self::prep_required($required); |
|
845 | - // set disabled tag |
|
846 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
847 | - // ya gots ta have style man!!! |
|
848 | - $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
|
849 | - $class = ! empty($class) ? $class : 'espresso-radio-btn-inp'; |
|
850 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
851 | - |
|
852 | - $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
853 | - // filter label but ensure required text comes before it |
|
854 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
855 | - |
|
856 | - $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-radio-btn-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
857 | - |
|
858 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
859 | - $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
860 | - |
|
861 | - foreach ($options as $OPT) { |
|
862 | - if ($OPT instanceof EE_Question_Option) { |
|
863 | - $value = self::prep_option_value($OPT->value()); |
|
864 | - $label = $use_desc_4_label ? $OPT->desc() : $OPT->value(); |
|
865 | - $size = $use_desc_4_label ? self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()) : self::get_label_size_class($OPT->value()); |
|
866 | - $desc = $OPT->desc();// no self::prep_answer |
|
867 | - $answer = is_numeric($value) && empty($answer) ? 0 : $answer; |
|
868 | - $checked = (string) $value == (string) $answer ? ' checked="checked"' : ''; |
|
869 | - $opt = '-' . sanitize_key($value); |
|
870 | - |
|
871 | - $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
872 | - $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-radio-btn-lbl">'; |
|
873 | - $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $label . '</span>' : ''; |
|
874 | - $input_html .= "\n\t\t\t\t\t\t" . '<input type="radio" name="' . $name . '" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
875 | - $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span class="espresso-radio-btn-desc">' . $label . '</span>' : ''; |
|
876 | - $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
877 | - $input_html .= $use_desc_4_label ? '' : '<span class="espresso-radio-btn-option-desc small-text grey-text">' . $desc . '</span>'; |
|
878 | - $input_html .= "\n\t\t\t\t" . '</li>'; |
|
879 | - } |
|
880 | - } |
|
881 | - |
|
882 | - $input_html .= "\n\t\t\t" . '</ul>'; |
|
883 | - |
|
884 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
885 | - return $label_html . $input_html; |
|
886 | - } |
|
887 | - |
|
888 | - |
|
889 | - |
|
890 | - |
|
891 | - |
|
892 | - |
|
893 | - /** |
|
894 | - * generates HTML for form checkbox inputs |
|
895 | - * |
|
896 | - * @param string $question label content |
|
897 | - * @param string $answer form input value attribute |
|
898 | - * @param array $options array of options where array key = option value and array value = option display text |
|
899 | - * @param string $name form input name attribute |
|
900 | - * @param string $id form input css id attribute |
|
901 | - * @param string $class form input css class attribute |
|
902 | - * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
903 | - * @param string $label_class css class attribute for the label |
|
904 | - * @param string $disabled disabled="disabled" or null |
|
905 | - * @return string HTML |
|
906 | - */ |
|
907 | - public static function checkbox($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $label_b4 = false, $system_ID = false, $use_html_entities = true) |
|
908 | - { |
|
909 | - // need these |
|
910 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
911 | - return null; |
|
912 | - } |
|
913 | - $answer = maybe_unserialize($answer); |
|
914 | - |
|
915 | - // prep the answer(s) |
|
916 | - $answer = is_array($answer) ? $answer : array( sanitize_key($answer) => $answer ); |
|
917 | - |
|
918 | - foreach ($answer as $key => $value) { |
|
919 | - $key = self::prep_option_value($key); |
|
920 | - $answer[ $key ] = self::prep_answer($value, $use_html_entities); |
|
921 | - } |
|
922 | - |
|
923 | - // prep the required array |
|
924 | - $required = self::prep_required($required); |
|
925 | - // set disabled tag |
|
926 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
927 | - // ya gots ta have style man!!! |
|
928 | - $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
|
929 | - $class = empty($class) ? 'espresso-radio-btn-inp' : $class; |
|
930 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
931 | - |
|
932 | - $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
933 | - // filter label but ensure required text comes before it |
|
934 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
935 | - |
|
936 | - $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-checkbox-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
937 | - |
|
938 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
939 | - $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
940 | - |
|
941 | - foreach ($options as $OPT) { |
|
942 | - $value = $OPT->value();// self::prep_option_value( $OPT->value() ); |
|
943 | - $size = self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()); |
|
944 | - $text = self::prep_answer($OPT->value()); |
|
945 | - $desc = $OPT->desc() ; |
|
946 | - $opt = '-' . sanitize_key($value); |
|
947 | - |
|
948 | - $checked = is_array($answer) && in_array($text, $answer) ? ' checked="checked"' : ''; |
|
949 | - |
|
950 | - $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
951 | - $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-checkbox-lbl">'; |
|
952 | - $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
953 | - $input_html .= "\n\t\t\t\t\t\t" . '<input type="checkbox" name="' . $name . '[' . $OPT->ID() . ']" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
954 | - $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
955 | - $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
956 | - if (! empty($desc) && $desc != $text) { |
|
957 | - $input_html .= "\n\t\t\t\t\t" . ' <br/><div class="espresso-checkbox-option-desc small-text grey-text">' . $desc . '</div>'; |
|
958 | - } |
|
959 | - $input_html .= "\n\t\t\t\t" . '</li>'; |
|
960 | - } |
|
961 | - |
|
962 | - $input_html .= "\n\t\t\t" . '</ul>'; |
|
963 | - |
|
964 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
965 | - return $label_html . $input_html; |
|
966 | - } |
|
967 | - |
|
968 | - |
|
969 | - |
|
970 | - |
|
971 | - |
|
972 | - |
|
973 | - /** |
|
974 | - * generates HTML for a form datepicker input |
|
975 | - * |
|
976 | - * @param string $question label content |
|
977 | - * @param string $answer form input value attribute |
|
978 | - * @param string $name form input name attribute |
|
979 | - * @param string $id form input css id attribute |
|
980 | - * @param string $class form input css class attribute |
|
981 | - * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
982 | - * @param string $label_class css class attribute for the label |
|
983 | - * @param string $disabled disabled="disabled" or null |
|
984 | - * @return string HTML |
|
985 | - */ |
|
986 | - public static function datepicker($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
987 | - { |
|
988 | - // need these |
|
989 | - if (! $question || ! $name) { |
|
990 | - return null; |
|
991 | - } |
|
992 | - // prep the answer |
|
993 | - $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
994 | - // prep the required array |
|
995 | - $required = self::prep_required($required); |
|
996 | - // set disabled tag |
|
997 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
998 | - // ya gots ta have style man!!! |
|
999 | - $txt_class = is_admin() ? 'regular-text' : 'espresso-datepicker-inp'; |
|
1000 | - $class = empty($class) ? $txt_class : $class; |
|
1001 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
1002 | - $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
1003 | - |
|
1004 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
1005 | - // filter label but ensure required text comes before it |
|
1006 | - $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
1007 | - |
|
1008 | - $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . ' datepicker" value="' . $answer . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
1009 | - |
|
1010 | - // enqueue scripts |
|
1011 | - wp_register_style('espresso-ui-theme', EE_GLOBAL_ASSETS_URL . 'css/espresso-ui-theme/jquery-ui-1.10.3.custom.min.css', array(), EVENT_ESPRESSO_VERSION); |
|
1012 | - wp_enqueue_style('espresso-ui-theme'); |
|
1013 | - wp_enqueue_script('jquery-ui-datepicker'); |
|
1014 | - |
|
1015 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
1016 | - return $label_html . $input_html; |
|
1017 | - } |
|
1018 | - |
|
1019 | - |
|
1020 | - |
|
1021 | - /** |
|
1022 | - * remove_label_keep_required_msg |
|
1023 | - * this will strip out a form input's label HTML while keeping the required text HTML that MUST be before the label |
|
1024 | - * @access public |
|
1025 | - * @return string |
|
1026 | - */ |
|
1027 | - public static function remove_label_keep_required_msg($label_html, $required_text) |
|
1028 | - { |
|
1029 | - return $required_text; |
|
1030 | - } |
|
1031 | - |
|
1032 | - |
|
1033 | - |
|
1034 | - |
|
1035 | - |
|
1036 | - /** |
|
1037 | - * Simply return sthe HTML for a hidden input of the given name and value. |
|
1038 | - * @param string $name |
|
1039 | - * @param string $value |
|
1040 | - * @return string HTML |
|
1041 | - */ |
|
1042 | - public static function hidden_input($name, $value, $id = '') |
|
1043 | - { |
|
1044 | - $id = ! empty($id) ? $id : $name; |
|
1045 | - return '<input id="' . $id . '" type="hidden" name="' . $name . '" value="' . $value . '"/>'; |
|
1046 | - } |
|
1047 | - |
|
1048 | - |
|
1049 | - |
|
1050 | - |
|
1051 | - |
|
1052 | - /** |
|
1053 | - * prep_question |
|
1054 | - * @param string $question |
|
1055 | - * @return string |
|
1056 | - */ |
|
1057 | - public static function prep_question($question) |
|
1058 | - { |
|
1059 | - return $question; |
|
567 | + $disabled = $QFI->get('QST_disabled') ? true : false; |
|
568 | + $required_label = apply_filters(' FHEE__EEH_Form_Fields__generate_form_input__required_label', '<em>*</em>'); |
|
569 | + $QST_required = $QFI->get('QST_required'); |
|
570 | + $required = $QST_required ? array( 'label' => $required_label, 'class' => 'required needs-value', 'title' => $QST_required ) : array(); |
|
571 | + $use_html_entities = $QFI->get_meta('htmlentities'); |
|
572 | + $required_text = $QFI->get('QST_required_text') != '' ? $QFI->get('QST_required_text') : __('This field is required', 'event_espresso'); |
|
573 | + $required_text = $QST_required ? "\n\t\t\t" . '<div class="required-text hidden">' . self::prep_answer($required_text, $use_html_entities) . '</div>' : ''; |
|
574 | + $label_class = 'espresso-form-input-lbl'; |
|
575 | + $QST_options = $QFI->options(true, $answer); |
|
576 | + $options = is_array($QST_options) ? self::prep_answer_options($QST_options) : array(); |
|
577 | + $system_ID = $QFI->get('QST_system'); |
|
578 | + $label_b4 = $QFI->get_meta('label_b4'); |
|
579 | + $use_desc_4_label = $QFI->get_meta('use_desc_4_label'); |
|
580 | + |
|
581 | + |
|
582 | + switch ($QFI->get('QST_type')) { |
|
583 | + case 'TEXTAREA': |
|
584 | + return EEH_Form_Fields::textarea($display_text, $answer, $input_name, $input_id, $input_class, array(), $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
585 | + break; |
|
586 | + |
|
587 | + case 'DROPDOWN': |
|
588 | + return EEH_Form_Fields::select($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities, true); |
|
589 | + break; |
|
590 | + |
|
591 | + |
|
592 | + case 'RADIO_BTN': |
|
593 | + return EEH_Form_Fields::radio($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities, $label_b4, $use_desc_4_label); |
|
594 | + break; |
|
595 | + |
|
596 | + case 'CHECKBOX': |
|
597 | + return EEH_Form_Fields::checkbox($display_text, $answer, $options, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $label_b4, $system_ID, $use_html_entities); |
|
598 | + break; |
|
599 | + |
|
600 | + case 'DATE': |
|
601 | + return EEH_Form_Fields::datepicker($display_text, $answer, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
602 | + break; |
|
603 | + |
|
604 | + case 'TEXT': |
|
605 | + default: |
|
606 | + return EEH_Form_Fields::text($display_text, $answer, $input_name, $input_id, $input_class, $required, $required_text, $label_class, $disabled, $system_ID, $use_html_entities); |
|
607 | + break; |
|
608 | + } |
|
609 | + } |
|
610 | + |
|
611 | + |
|
612 | + |
|
613 | + |
|
614 | + |
|
615 | + |
|
616 | + /** |
|
617 | + * generates HTML for a form text input |
|
618 | + * |
|
619 | + * @param string $question label content |
|
620 | + * @param string $answer form input value attribute |
|
621 | + * @param string $name form input name attribute |
|
622 | + * @param string $id form input css id attribute |
|
623 | + * @param string $class form input css class attribute |
|
624 | + * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
625 | + * @param string $label_class css class attribute for the label |
|
626 | + * @param string $disabled disabled="disabled" or null |
|
627 | + * @return string HTML |
|
628 | + */ |
|
629 | + public static function text($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
630 | + { |
|
631 | + // need these |
|
632 | + if (! $question || ! $name) { |
|
633 | + return null; |
|
634 | + } |
|
635 | + // prep the answer |
|
636 | + $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
637 | + // prep the required array |
|
638 | + $required = self::prep_required($required); |
|
639 | + // set disabled tag |
|
640 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
641 | + // ya gots ta have style man!!! |
|
642 | + $txt_class = is_admin() ? 'regular-text' : 'espresso-text-inp'; |
|
643 | + $class = empty($class) ? $txt_class : $class; |
|
644 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
645 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
646 | + |
|
647 | + $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
648 | + // filter label but ensure required text comes before it |
|
649 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
650 | + |
|
651 | + $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" value="' . esc_attr($answer) . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
652 | + |
|
653 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
654 | + return $label_html . $input_html; |
|
655 | + } |
|
656 | + |
|
657 | + |
|
658 | + |
|
659 | + |
|
660 | + |
|
661 | + /** |
|
662 | + * generates HTML for a form textarea |
|
663 | + * |
|
664 | + * @param string $question label content |
|
665 | + * @param string $answer form input value attribute |
|
666 | + * @param string $name form input name attribute |
|
667 | + * @param string $id form input css id attribute |
|
668 | + * @param string $class form input css class attribute |
|
669 | + * @param array $dimensions array of form input rows and cols attributes : array( 'rows' => 3, 'cols' => 40 ) |
|
670 | + * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
671 | + * @param string $label_class css class attribute for the label |
|
672 | + * @param string $disabled disabled="disabled" or null |
|
673 | + * @return string HTML |
|
674 | + */ |
|
675 | + public static function textarea($question = false, $answer = null, $name = false, $id = '', $class = '', $dimensions = false, $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
676 | + { |
|
677 | + // need these |
|
678 | + if (! $question || ! $name) { |
|
679 | + return null; |
|
680 | + } |
|
681 | + // prep the answer |
|
682 | + $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
683 | + // prep the required array |
|
684 | + $required = self::prep_required($required); |
|
685 | + // make sure $dimensions is an array |
|
686 | + $dimensions = is_array($dimensions) ? $dimensions : array(); |
|
687 | + // and set some defaults |
|
688 | + $dimensions = array_merge(array( 'rows' => 3, 'cols' => 40 ), $dimensions); |
|
689 | + // set disabled tag |
|
690 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
691 | + // ya gots ta have style man!!! |
|
692 | + $txt_class = is_admin() ? 'regular-text' : 'espresso-textarea-inp'; |
|
693 | + $class = empty($class) ? $txt_class : $class; |
|
694 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
695 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
696 | + |
|
697 | + $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
698 | + // filter label but ensure required text comes before it |
|
699 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
700 | + |
|
701 | + $input_html = "\n\t\t\t" . '<textarea name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" rows="' . $dimensions['rows'] . '" cols="' . $dimensions['cols'] . '" title="' . $required['msg'] . '" ' . $disabled . ' ' . $extra . '>' . $answer . '</textarea>'; |
|
702 | + |
|
703 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
704 | + return $label_html . $input_html; |
|
705 | + } |
|
706 | + |
|
707 | + |
|
708 | + |
|
709 | + |
|
710 | + |
|
711 | + |
|
712 | + /** |
|
713 | + * generates HTML for a form select input |
|
714 | + * |
|
715 | + * @param string $question label content |
|
716 | + * @param string $answer form input value attribute |
|
717 | + * @param array $options array of answer options where array key = option value and array value = option display text |
|
718 | + * @param string $name form input name attribute |
|
719 | + * @param string $id form input css id attribute |
|
720 | + * @param string $class form input css class attribute |
|
721 | + * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
722 | + * @param string $label_class css class attribute for the label |
|
723 | + * @param string $disabled disabled="disabled" or null |
|
724 | + * @return string HTML |
|
725 | + */ |
|
726 | + public static function select($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true, $add_please_select_option = false) |
|
727 | + { |
|
728 | + |
|
729 | + // need these |
|
730 | + if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
731 | + return null; |
|
732 | + } |
|
733 | + // prep the answer |
|
734 | + $answer = is_array($answer) ? self::prep_answer(array_shift($answer), $use_html_entities) : self::prep_answer($answer, $use_html_entities); |
|
735 | + // prep the required array |
|
736 | + $required = self::prep_required($required); |
|
737 | + // set disabled tag |
|
738 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
739 | + // ya gots ta have style man!!! |
|
740 | + $txt_class = is_admin() ? 'wide' : 'espresso-select-inp'; |
|
741 | + $class = empty($class) ? $txt_class : $class; |
|
742 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
743 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
744 | + |
|
745 | + $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
746 | + // filter label but ensure required text comes before it |
|
747 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
748 | + |
|
749 | + $input_html = "\n\t\t\t" . '<select name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" title="' . esc_attr($required['msg']) . '"' . $disabled . ' ' . $extra . '>'; |
|
750 | + // recursively count array elements, to determine total number of options |
|
751 | + $only_option = count($options, 1) == 1 ? true : false; |
|
752 | + if (! $only_option) { |
|
753 | + // if there is NO answer set and there are multiple options to choose from, then set the "please select" message as selected |
|
754 | + $selected = $answer === null ? ' selected="selected"' : ''; |
|
755 | + $input_html .= $add_please_select_option ? "\n\t\t\t\t" . '<option value=""' . $selected . '>' . __(' - please select - ', 'event_espresso') . '</option>' : ''; |
|
756 | + } |
|
757 | + foreach ($options as $key => $value) { |
|
758 | + // if value is an array, then create option groups, else create regular ol' options |
|
759 | + $input_html .= is_array($value) ? self::_generate_select_option_group($key, $value, $answer, $use_html_entities) : self::_generate_select_option($value->value(), $value->desc(), $answer, $only_option, $use_html_entities); |
|
760 | + } |
|
761 | + |
|
762 | + $input_html .= "\n\t\t\t" . '</select>'; |
|
763 | + |
|
764 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__select__before_end_wrapper', $input_html, $question, $answer, $name, $id, $class, $system_ID); |
|
765 | + |
|
766 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
767 | + return $label_html . $input_html; |
|
768 | + } |
|
769 | + |
|
770 | + |
|
771 | + |
|
772 | + /** |
|
773 | + * _generate_select_option_group |
|
774 | + * |
|
775 | + * if $value for a select box is an array, then the key will be used as the optgroup label |
|
776 | + * and the value array will be looped thru and the elements sent to _generate_select_option |
|
777 | + * |
|
778 | + * @param mixed $opt_group |
|
779 | + * @param mixed $QSOs |
|
780 | + * @param mixed $answer |
|
781 | + * @param boolean $use_html_entities |
|
782 | + * @return string |
|
783 | + */ |
|
784 | + private static function _generate_select_option_group($opt_group, $QSOs, $answer, $use_html_entities = true) |
|
785 | + { |
|
786 | + $html = "\n\t\t\t\t" . '<optgroup label="' . self::prep_option_value($opt_group) . '">'; |
|
787 | + foreach ($QSOs as $QSO) { |
|
788 | + $html .= self::_generate_select_option($QSO->value(), $QSO->desc(), $answer, false, $use_html_entities); |
|
789 | + } |
|
790 | + $html .= "\n\t\t\t\t" . '</optgroup>'; |
|
791 | + return $html; |
|
792 | + } |
|
793 | + |
|
794 | + |
|
795 | + |
|
796 | + /** |
|
797 | + * _generate_select_option |
|
798 | + * @param mixed $key |
|
799 | + * @param mixed $value |
|
800 | + * @param mixed $answer |
|
801 | + * @param int $only_option |
|
802 | + * @param boolean $use_html_entities |
|
803 | + * @return string |
|
804 | + */ |
|
805 | + private static function _generate_select_option($key, $value, $answer, $only_option = false, $use_html_entities = true) |
|
806 | + { |
|
807 | + $key = self::prep_answer($key, $use_html_entities); |
|
808 | + $value = self::prep_answer($value, $use_html_entities); |
|
809 | + $value = ! empty($value) ? $value : $key; |
|
810 | + $selected = ( $answer == $key || $only_option ) ? ' selected="selected"' : ''; |
|
811 | + return "\n\t\t\t\t" . '<option value="' . self::prep_option_value($key) . '"' . $selected . '> ' . $value . ' </option>'; |
|
812 | + } |
|
813 | + |
|
814 | + |
|
815 | + |
|
816 | + /** |
|
817 | + * generates HTML for form radio button inputs |
|
818 | + * |
|
819 | + * @param bool|string $question label content |
|
820 | + * @param string $answer form input value attribute |
|
821 | + * @param array|bool $options array of answer options where array key = option value and array value = option display text |
|
822 | + * @param bool|string $name form input name attribute |
|
823 | + * @param string $id form input css id attribute |
|
824 | + * @param string $class form input css class attribute |
|
825 | + * @param array|bool $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
826 | + * @param string $required_text |
|
827 | + * @param string $label_class css class attribute for the label |
|
828 | + * @param bool|string $disabled disabled="disabled" or null |
|
829 | + * @param bool $system_ID |
|
830 | + * @param bool $use_html_entities |
|
831 | + * @param bool $label_b4 |
|
832 | + * @param bool $use_desc_4_label |
|
833 | + * @return string HTML |
|
834 | + */ |
|
835 | + public static function radio($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true, $label_b4 = false, $use_desc_4_label = false) |
|
836 | + { |
|
837 | + // need these |
|
838 | + if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
839 | + return null; |
|
840 | + } |
|
841 | + // prep the answer |
|
842 | + $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
843 | + // prep the required array |
|
844 | + $required = self::prep_required($required); |
|
845 | + // set disabled tag |
|
846 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
847 | + // ya gots ta have style man!!! |
|
848 | + $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
|
849 | + $class = ! empty($class) ? $class : 'espresso-radio-btn-inp'; |
|
850 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
851 | + |
|
852 | + $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
853 | + // filter label but ensure required text comes before it |
|
854 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
855 | + |
|
856 | + $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-radio-btn-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
857 | + |
|
858 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
859 | + $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
860 | + |
|
861 | + foreach ($options as $OPT) { |
|
862 | + if ($OPT instanceof EE_Question_Option) { |
|
863 | + $value = self::prep_option_value($OPT->value()); |
|
864 | + $label = $use_desc_4_label ? $OPT->desc() : $OPT->value(); |
|
865 | + $size = $use_desc_4_label ? self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()) : self::get_label_size_class($OPT->value()); |
|
866 | + $desc = $OPT->desc();// no self::prep_answer |
|
867 | + $answer = is_numeric($value) && empty($answer) ? 0 : $answer; |
|
868 | + $checked = (string) $value == (string) $answer ? ' checked="checked"' : ''; |
|
869 | + $opt = '-' . sanitize_key($value); |
|
870 | + |
|
871 | + $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
872 | + $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-radio-btn-lbl">'; |
|
873 | + $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $label . '</span>' : ''; |
|
874 | + $input_html .= "\n\t\t\t\t\t\t" . '<input type="radio" name="' . $name . '" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
875 | + $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span class="espresso-radio-btn-desc">' . $label . '</span>' : ''; |
|
876 | + $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
877 | + $input_html .= $use_desc_4_label ? '' : '<span class="espresso-radio-btn-option-desc small-text grey-text">' . $desc . '</span>'; |
|
878 | + $input_html .= "\n\t\t\t\t" . '</li>'; |
|
879 | + } |
|
880 | + } |
|
881 | + |
|
882 | + $input_html .= "\n\t\t\t" . '</ul>'; |
|
883 | + |
|
884 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
885 | + return $label_html . $input_html; |
|
886 | + } |
|
887 | + |
|
888 | + |
|
889 | + |
|
890 | + |
|
891 | + |
|
892 | + |
|
893 | + /** |
|
894 | + * generates HTML for form checkbox inputs |
|
895 | + * |
|
896 | + * @param string $question label content |
|
897 | + * @param string $answer form input value attribute |
|
898 | + * @param array $options array of options where array key = option value and array value = option display text |
|
899 | + * @param string $name form input name attribute |
|
900 | + * @param string $id form input css id attribute |
|
901 | + * @param string $class form input css class attribute |
|
902 | + * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
903 | + * @param string $label_class css class attribute for the label |
|
904 | + * @param string $disabled disabled="disabled" or null |
|
905 | + * @return string HTML |
|
906 | + */ |
|
907 | + public static function checkbox($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $label_b4 = false, $system_ID = false, $use_html_entities = true) |
|
908 | + { |
|
909 | + // need these |
|
910 | + if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
911 | + return null; |
|
912 | + } |
|
913 | + $answer = maybe_unserialize($answer); |
|
914 | + |
|
915 | + // prep the answer(s) |
|
916 | + $answer = is_array($answer) ? $answer : array( sanitize_key($answer) => $answer ); |
|
917 | + |
|
918 | + foreach ($answer as $key => $value) { |
|
919 | + $key = self::prep_option_value($key); |
|
920 | + $answer[ $key ] = self::prep_answer($value, $use_html_entities); |
|
921 | + } |
|
922 | + |
|
923 | + // prep the required array |
|
924 | + $required = self::prep_required($required); |
|
925 | + // set disabled tag |
|
926 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
927 | + // ya gots ta have style man!!! |
|
928 | + $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
|
929 | + $class = empty($class) ? 'espresso-radio-btn-inp' : $class; |
|
930 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
931 | + |
|
932 | + $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
933 | + // filter label but ensure required text comes before it |
|
934 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
935 | + |
|
936 | + $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-checkbox-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
937 | + |
|
938 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
939 | + $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
940 | + |
|
941 | + foreach ($options as $OPT) { |
|
942 | + $value = $OPT->value();// self::prep_option_value( $OPT->value() ); |
|
943 | + $size = self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()); |
|
944 | + $text = self::prep_answer($OPT->value()); |
|
945 | + $desc = $OPT->desc() ; |
|
946 | + $opt = '-' . sanitize_key($value); |
|
947 | + |
|
948 | + $checked = is_array($answer) && in_array($text, $answer) ? ' checked="checked"' : ''; |
|
949 | + |
|
950 | + $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
951 | + $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-checkbox-lbl">'; |
|
952 | + $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
953 | + $input_html .= "\n\t\t\t\t\t\t" . '<input type="checkbox" name="' . $name . '[' . $OPT->ID() . ']" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
954 | + $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
955 | + $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
956 | + if (! empty($desc) && $desc != $text) { |
|
957 | + $input_html .= "\n\t\t\t\t\t" . ' <br/><div class="espresso-checkbox-option-desc small-text grey-text">' . $desc . '</div>'; |
|
958 | + } |
|
959 | + $input_html .= "\n\t\t\t\t" . '</li>'; |
|
960 | + } |
|
961 | + |
|
962 | + $input_html .= "\n\t\t\t" . '</ul>'; |
|
963 | + |
|
964 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
965 | + return $label_html . $input_html; |
|
966 | + } |
|
967 | + |
|
968 | + |
|
969 | + |
|
970 | + |
|
971 | + |
|
972 | + |
|
973 | + /** |
|
974 | + * generates HTML for a form datepicker input |
|
975 | + * |
|
976 | + * @param string $question label content |
|
977 | + * @param string $answer form input value attribute |
|
978 | + * @param string $name form input name attribute |
|
979 | + * @param string $id form input css id attribute |
|
980 | + * @param string $class form input css class attribute |
|
981 | + * @param array $required 'label', 'class', and 'msg' - array of values for required "label" content, css required 'class', and required 'msg' attribute |
|
982 | + * @param string $label_class css class attribute for the label |
|
983 | + * @param string $disabled disabled="disabled" or null |
|
984 | + * @return string HTML |
|
985 | + */ |
|
986 | + public static function datepicker($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
|
987 | + { |
|
988 | + // need these |
|
989 | + if (! $question || ! $name) { |
|
990 | + return null; |
|
991 | + } |
|
992 | + // prep the answer |
|
993 | + $answer = is_array($answer) ? '' : self::prep_answer($answer, $use_html_entities); |
|
994 | + // prep the required array |
|
995 | + $required = self::prep_required($required); |
|
996 | + // set disabled tag |
|
997 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
998 | + // ya gots ta have style man!!! |
|
999 | + $txt_class = is_admin() ? 'regular-text' : 'espresso-datepicker-inp'; |
|
1000 | + $class = empty($class) ? $txt_class : $class; |
|
1001 | + $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
1002 | + $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
|
1003 | + |
|
1004 | + $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
1005 | + // filter label but ensure required text comes before it |
|
1006 | + $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
|
1007 | + |
|
1008 | + $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . ' datepicker" value="' . $answer . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
1009 | + |
|
1010 | + // enqueue scripts |
|
1011 | + wp_register_style('espresso-ui-theme', EE_GLOBAL_ASSETS_URL . 'css/espresso-ui-theme/jquery-ui-1.10.3.custom.min.css', array(), EVENT_ESPRESSO_VERSION); |
|
1012 | + wp_enqueue_style('espresso-ui-theme'); |
|
1013 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
1014 | + |
|
1015 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
1016 | + return $label_html . $input_html; |
|
1017 | + } |
|
1018 | + |
|
1019 | + |
|
1020 | + |
|
1021 | + /** |
|
1022 | + * remove_label_keep_required_msg |
|
1023 | + * this will strip out a form input's label HTML while keeping the required text HTML that MUST be before the label |
|
1024 | + * @access public |
|
1025 | + * @return string |
|
1026 | + */ |
|
1027 | + public static function remove_label_keep_required_msg($label_html, $required_text) |
|
1028 | + { |
|
1029 | + return $required_text; |
|
1030 | + } |
|
1031 | + |
|
1032 | + |
|
1033 | + |
|
1034 | + |
|
1035 | + |
|
1036 | + /** |
|
1037 | + * Simply return sthe HTML for a hidden input of the given name and value. |
|
1038 | + * @param string $name |
|
1039 | + * @param string $value |
|
1040 | + * @return string HTML |
|
1041 | + */ |
|
1042 | + public static function hidden_input($name, $value, $id = '') |
|
1043 | + { |
|
1044 | + $id = ! empty($id) ? $id : $name; |
|
1045 | + return '<input id="' . $id . '" type="hidden" name="' . $name . '" value="' . $value . '"/>'; |
|
1046 | + } |
|
1047 | + |
|
1048 | + |
|
1049 | + |
|
1050 | + |
|
1051 | + |
|
1052 | + /** |
|
1053 | + * prep_question |
|
1054 | + * @param string $question |
|
1055 | + * @return string |
|
1056 | + */ |
|
1057 | + public static function prep_question($question) |
|
1058 | + { |
|
1059 | + return $question; |
|
1060 | 1060 | // $link = ''; |
1061 | 1061 | // // does this label have a help link attached ? |
1062 | 1062 | // if ( strpos( $question, '<a ' ) !== FALSE ) { |
@@ -1068,447 +1068,447 @@ discard block |
||
1068 | 1068 | // $link = '<a ' . $link; |
1069 | 1069 | // } |
1070 | 1070 | // return htmlspecialchars( trim( stripslashes( str_replace( ''', "'", $question ))), ENT_QUOTES, 'UTF-8' ) . ' ' . $link; |
1071 | - } |
|
1072 | - |
|
1073 | - |
|
1074 | - |
|
1075 | - |
|
1076 | - /** |
|
1077 | - * prep_answer |
|
1078 | - * @param mixed $answer |
|
1079 | - * @return string |
|
1080 | - */ |
|
1081 | - public static function prep_answer($answer, $use_html_entities = true) |
|
1082 | - { |
|
1083 | - // make sure we convert bools first. Otherwise (bool) false becomes an empty string which is NOT desired, we want "0". |
|
1084 | - if (is_bool($answer)) { |
|
1085 | - $answer = $answer ? 1 : 0; |
|
1086 | - } |
|
1087 | - $answer = trim(stripslashes(str_replace(''', "'", $answer))); |
|
1088 | - return $use_html_entities ? htmlentities($answer, ENT_QUOTES, 'UTF-8') : $answer; |
|
1089 | - } |
|
1090 | - |
|
1091 | - |
|
1092 | - |
|
1093 | - /** |
|
1094 | - * prep_answer_options |
|
1095 | - * @param array $QSOs array of EE_Question_Option objects |
|
1096 | - * @return array |
|
1097 | - */ |
|
1098 | - public static function prep_answer_options($QSOs = array()) |
|
1099 | - { |
|
1100 | - $prepped_answer_options = array(); |
|
1101 | - if (is_array($QSOs) && ! empty($QSOs)) { |
|
1102 | - foreach ($QSOs as $key => $QSO) { |
|
1103 | - if (! $QSO instanceof EE_Question_Option) { |
|
1104 | - $QSO = EE_Question_Option::new_instance(array( |
|
1105 | - 'QSO_value' => is_array($QSO) && isset($QSO['id']) ? (string) $QSO['id'] : (string) $key, |
|
1106 | - 'QSO_desc' => is_array($QSO) && isset($QSO['text']) ? (string) $QSO['text'] : (string) $QSO |
|
1107 | - )); |
|
1108 | - } |
|
1109 | - if ($QSO->opt_group()) { |
|
1110 | - $prepped_answer_options[ $QSO->opt_group() ][] = $QSO; |
|
1111 | - } else { |
|
1112 | - $prepped_answer_options[] = $QSO; |
|
1113 | - } |
|
1114 | - } |
|
1115 | - } |
|
1071 | + } |
|
1072 | + |
|
1073 | + |
|
1074 | + |
|
1075 | + |
|
1076 | + /** |
|
1077 | + * prep_answer |
|
1078 | + * @param mixed $answer |
|
1079 | + * @return string |
|
1080 | + */ |
|
1081 | + public static function prep_answer($answer, $use_html_entities = true) |
|
1082 | + { |
|
1083 | + // make sure we convert bools first. Otherwise (bool) false becomes an empty string which is NOT desired, we want "0". |
|
1084 | + if (is_bool($answer)) { |
|
1085 | + $answer = $answer ? 1 : 0; |
|
1086 | + } |
|
1087 | + $answer = trim(stripslashes(str_replace(''', "'", $answer))); |
|
1088 | + return $use_html_entities ? htmlentities($answer, ENT_QUOTES, 'UTF-8') : $answer; |
|
1089 | + } |
|
1090 | + |
|
1091 | + |
|
1092 | + |
|
1093 | + /** |
|
1094 | + * prep_answer_options |
|
1095 | + * @param array $QSOs array of EE_Question_Option objects |
|
1096 | + * @return array |
|
1097 | + */ |
|
1098 | + public static function prep_answer_options($QSOs = array()) |
|
1099 | + { |
|
1100 | + $prepped_answer_options = array(); |
|
1101 | + if (is_array($QSOs) && ! empty($QSOs)) { |
|
1102 | + foreach ($QSOs as $key => $QSO) { |
|
1103 | + if (! $QSO instanceof EE_Question_Option) { |
|
1104 | + $QSO = EE_Question_Option::new_instance(array( |
|
1105 | + 'QSO_value' => is_array($QSO) && isset($QSO['id']) ? (string) $QSO['id'] : (string) $key, |
|
1106 | + 'QSO_desc' => is_array($QSO) && isset($QSO['text']) ? (string) $QSO['text'] : (string) $QSO |
|
1107 | + )); |
|
1108 | + } |
|
1109 | + if ($QSO->opt_group()) { |
|
1110 | + $prepped_answer_options[ $QSO->opt_group() ][] = $QSO; |
|
1111 | + } else { |
|
1112 | + $prepped_answer_options[] = $QSO; |
|
1113 | + } |
|
1114 | + } |
|
1115 | + } |
|
1116 | 1116 | // d( $prepped_answer_options ); |
1117 | - return $prepped_answer_options; |
|
1118 | - } |
|
1119 | - |
|
1120 | - |
|
1121 | - /** |
|
1122 | - * prep_option_value |
|
1123 | - * @param string $option_value |
|
1124 | - * @return string |
|
1125 | - */ |
|
1126 | - public static function prep_option_value($option_value) |
|
1127 | - { |
|
1128 | - return esc_attr(trim(stripslashes($option_value))); |
|
1129 | - } |
|
1130 | - |
|
1131 | - |
|
1132 | - |
|
1133 | - |
|
1134 | - /** |
|
1135 | - * prep_required |
|
1136 | - * @param string|array $required |
|
1137 | - * @return array |
|
1138 | - */ |
|
1139 | - public static function prep_required($required = array()) |
|
1140 | - { |
|
1141 | - // make sure required is an array |
|
1142 | - $required = is_array($required) ? $required : array(); |
|
1143 | - // and set some defaults |
|
1144 | - $required = array_merge(array( 'label' => '', 'class' => '', 'msg' => '' ), $required); |
|
1145 | - return $required; |
|
1146 | - } |
|
1147 | - |
|
1148 | - |
|
1149 | - |
|
1150 | - /** |
|
1151 | - * get_label_size_class |
|
1152 | - * @param string $value |
|
1153 | - * @return string |
|
1154 | - */ |
|
1155 | - public static function get_label_size_class($value = false) |
|
1156 | - { |
|
1157 | - if ($value === false || $value == '') { |
|
1158 | - return ' class="medium-lbl"'; |
|
1159 | - } |
|
1160 | - // determine length of option value |
|
1161 | - $val_size = strlen($value); |
|
1162 | - switch ($val_size) { |
|
1163 | - case $val_size < 3: |
|
1164 | - $size = ' class="nano-lbl"'; |
|
1165 | - break; |
|
1166 | - case $val_size < 6: |
|
1167 | - $size = ' class="micro-lbl"'; |
|
1168 | - break; |
|
1169 | - case $val_size < 12: |
|
1170 | - $size = ' class="tiny-lbl"'; |
|
1171 | - break; |
|
1172 | - case $val_size < 25: |
|
1173 | - $size = ' class="small-lbl"'; |
|
1174 | - break; |
|
1175 | - case $val_size > 100: |
|
1176 | - $size = ' class="big-lbl"'; |
|
1177 | - break; |
|
1178 | - default: |
|
1179 | - $size = ' class="medium-lbl"'; |
|
1180 | - break; |
|
1181 | - } |
|
1182 | - return $size; |
|
1183 | - } |
|
1184 | - |
|
1185 | - |
|
1186 | - |
|
1187 | - |
|
1188 | - /** |
|
1189 | - * _load_system_dropdowns |
|
1190 | - * @param array $QFI |
|
1191 | - * @return array |
|
1192 | - */ |
|
1193 | - private static function _load_system_dropdowns($QFI) |
|
1194 | - { |
|
1195 | - $QST_system = $QFI->get('QST_system'); |
|
1196 | - switch ($QST_system) { |
|
1197 | - case 'state': |
|
1198 | - $QFI = self::generate_state_dropdown($QFI); |
|
1199 | - break; |
|
1200 | - case 'country': |
|
1201 | - $QFI = self::generate_country_dropdown($QFI); |
|
1202 | - break; |
|
1203 | - case 'admin-state': |
|
1204 | - $QFI = self::generate_state_dropdown($QFI, true); |
|
1205 | - break; |
|
1206 | - case 'admin-country': |
|
1207 | - $QFI = self::generate_country_dropdown($QFI, true); |
|
1208 | - break; |
|
1209 | - } |
|
1210 | - return $QFI; |
|
1211 | - } |
|
1212 | - |
|
1213 | - |
|
1214 | - |
|
1215 | - /** |
|
1216 | - * This preps dropdowns that are specialized. |
|
1217 | - * |
|
1218 | - * @since 4.6.0 |
|
1219 | - * |
|
1220 | - * @param EE_Question_Form_Input $QFI |
|
1221 | - * |
|
1222 | - * @return EE_Question_Form_Input |
|
1223 | - */ |
|
1224 | - protected static function _load_specialized_dropdowns($QFI) |
|
1225 | - { |
|
1226 | - switch ($QFI->get('QST_type')) { |
|
1227 | - case 'STATE': |
|
1228 | - $QFI = self::generate_state_dropdown($QFI); |
|
1229 | - break; |
|
1230 | - case 'COUNTRY': |
|
1231 | - $QFI = self::generate_country_dropdown($QFI); |
|
1232 | - break; |
|
1233 | - } |
|
1234 | - return $QFI; |
|
1235 | - } |
|
1236 | - |
|
1237 | - |
|
1238 | - |
|
1239 | - /** |
|
1240 | - * generate_state_dropdown |
|
1241 | - * @param array $QST |
|
1242 | - * @param bool $get_all |
|
1243 | - * @return array |
|
1244 | - */ |
|
1245 | - public static function generate_state_dropdown($QST, $get_all = false) |
|
1246 | - { |
|
1247 | - $states = $get_all ? EEM_State::instance()->get_all_states() : EEM_State::instance()->get_all_states_of_active_countries(); |
|
1248 | - if ($states && count($states) != count($QST->options())) { |
|
1249 | - $QST->set('QST_type', 'DROPDOWN'); |
|
1250 | - // if multiple countries, we'll create option groups within the dropdown |
|
1251 | - foreach ($states as $state) { |
|
1252 | - if ($state instanceof EE_State) { |
|
1253 | - $QSO = EE_Question_Option::new_instance(array ( |
|
1254 | - 'QSO_value' => $state->ID(), |
|
1255 | - 'QSO_desc' => $state->name(), |
|
1256 | - 'QST_ID' => $QST->get('QST_ID'), |
|
1257 | - 'QSO_deleted' => false |
|
1258 | - )); |
|
1259 | - // set option group |
|
1260 | - $QSO->set_opt_group($state->country()->name()); |
|
1261 | - // add option to question |
|
1262 | - $QST->add_temp_option($QSO); |
|
1263 | - } |
|
1264 | - } |
|
1265 | - } |
|
1266 | - return $QST; |
|
1267 | - } |
|
1268 | - |
|
1269 | - |
|
1270 | - |
|
1271 | - /** |
|
1272 | - * generate_country_dropdown |
|
1273 | - * @param $QST |
|
1274 | - * @param bool $get_all |
|
1275 | - * @internal param array $question |
|
1276 | - * @return array |
|
1277 | - */ |
|
1278 | - public static function generate_country_dropdown($QST, $get_all = false) |
|
1279 | - { |
|
1280 | - $countries = $get_all ? EEM_Country::instance()->get_all_countries() : EEM_Country::instance()->get_all_active_countries(); |
|
1281 | - if ($countries && count($countries) != count($QST->options())) { |
|
1282 | - $QST->set('QST_type', 'DROPDOWN'); |
|
1283 | - // now add countries |
|
1284 | - foreach ($countries as $country) { |
|
1285 | - if ($country instanceof EE_Country) { |
|
1286 | - $QSO = EE_Question_Option::new_instance(array ( |
|
1287 | - 'QSO_value' => $country->ID(), |
|
1288 | - 'QSO_desc' => $country->name(), |
|
1289 | - 'QST_ID' => $QST->get('QST_ID'), |
|
1290 | - 'QSO_deleted' => false |
|
1291 | - )); |
|
1292 | - $QST->add_temp_option($QSO); |
|
1293 | - } |
|
1294 | - } |
|
1295 | - } |
|
1296 | - return $QST; |
|
1297 | - } |
|
1298 | - |
|
1299 | - |
|
1300 | - |
|
1301 | - |
|
1302 | - |
|
1303 | - /** |
|
1304 | - * generates options for a month dropdown selector with numbers from 01 to 12 |
|
1305 | - * @return array() |
|
1306 | - */ |
|
1307 | - public static function two_digit_months_dropdown_options() |
|
1308 | - { |
|
1309 | - $options = array(); |
|
1310 | - for ($x = 1; $x <= 12; $x++) { |
|
1311 | - $mm = str_pad($x, 2, '0', STR_PAD_LEFT); |
|
1312 | - $options[ (string) $mm ] = (string) $mm; |
|
1313 | - } |
|
1314 | - return EEH_Form_Fields::prep_answer_options($options); |
|
1315 | - } |
|
1316 | - |
|
1317 | - |
|
1318 | - |
|
1319 | - |
|
1320 | - |
|
1321 | - /** |
|
1322 | - * generates a year dropdown selector with numbers for the next ten years |
|
1323 | - * @return object |
|
1324 | - */ |
|
1325 | - public static function next_decade_two_digit_year_dropdown_options() |
|
1326 | - { |
|
1327 | - $options = array(); |
|
1328 | - $current_year = date('y'); |
|
1329 | - $next_decade = $current_year + 10; |
|
1330 | - for ($x = $current_year; $x <= $next_decade; $x++) { |
|
1331 | - $yy = str_pad($x, 2, '0', STR_PAD_LEFT); |
|
1332 | - $options[ (string) $yy ] = (string) $yy; |
|
1333 | - } |
|
1334 | - return EEH_Form_Fields::prep_answer_options($options); |
|
1335 | - } |
|
1336 | - |
|
1337 | - |
|
1338 | - |
|
1339 | - |
|
1340 | - |
|
1341 | - /** |
|
1342 | - * generates a month/year dropdown selector for all registrations matching the given criteria. Typically used for list table filter. |
|
1343 | - * @param string $cur_date any currently selected date can be entered here. |
|
1344 | - * @param string $status Registration status |
|
1345 | - * @param integer $evt_category Event Category ID if the Event Category filter is selected |
|
1346 | - * @return string html |
|
1347 | - */ |
|
1348 | - public static function generate_registration_months_dropdown($cur_date = '', $status = '', $evt_category = 0) |
|
1349 | - { |
|
1350 | - $_where = array(); |
|
1351 | - if (!empty($status)) { |
|
1352 | - $_where['STS_ID'] = $status; |
|
1353 | - } |
|
1354 | - |
|
1355 | - if ($evt_category > 0) { |
|
1356 | - $_where['Event.Term_Taxonomy.term_id'] = $evt_category; |
|
1357 | - } |
|
1358 | - |
|
1359 | - $regdtts = EEM_Registration::instance()->get_reg_months_and_years($_where); |
|
1360 | - |
|
1361 | - // setup vals for select input helper |
|
1362 | - $options = array( |
|
1363 | - 0 => array( |
|
1364 | - 'text' => __('Select a Month/Year', 'event_espresso'), |
|
1365 | - 'id' => '' |
|
1366 | - ) |
|
1367 | - ); |
|
1368 | - |
|
1369 | - foreach ($regdtts as $regdtt) { |
|
1370 | - $date = $regdtt->reg_month . ' ' . $regdtt->reg_year; |
|
1371 | - $options[] = array( |
|
1372 | - 'text' => $date, |
|
1373 | - 'id' => $date |
|
1374 | - ); |
|
1375 | - } |
|
1376 | - |
|
1377 | - return self::select_input('month_range', $options, $cur_date, '', 'wide'); |
|
1378 | - } |
|
1379 | - |
|
1380 | - |
|
1381 | - |
|
1382 | - /** |
|
1383 | - * generates a month/year dropdown selector for all events matching the given criteria |
|
1384 | - * Typically used for list table filter |
|
1385 | - * @param string $cur_date any currently selected date can be entered here. |
|
1386 | - * @param string $status "view" (i.e. all, today, month, draft) |
|
1387 | - * @param int $evt_category category event belongs to |
|
1388 | - * @param string $evt_active_status "upcoming", "expired", "active", or "inactive" |
|
1389 | - * @return string html |
|
1390 | - */ |
|
1391 | - public static function generate_event_months_dropdown($cur_date = '', $status = null, $evt_category = null, $evt_active_status = null) |
|
1392 | - { |
|
1393 | - // determine what post_status our condition will have for the query. |
|
1394 | - // phpcs:disable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment |
|
1395 | - switch ($status) { |
|
1396 | - case 'month': |
|
1397 | - case 'today': |
|
1398 | - case null: |
|
1399 | - case 'all': |
|
1400 | - $where['Event.status'] = array( 'NOT IN', array('trash') ); |
|
1401 | - break; |
|
1402 | - |
|
1403 | - case 'draft': |
|
1404 | - $where['Event.status'] = array( 'IN', array('draft', 'auto-draft') ); |
|
1405 | - |
|
1406 | - default: |
|
1407 | - $where['Event.status'] = $status; |
|
1408 | - } |
|
1409 | - |
|
1410 | - // phpcs:enable |
|
1411 | - |
|
1412 | - // categories? |
|
1413 | - |
|
1117 | + return $prepped_answer_options; |
|
1118 | + } |
|
1119 | + |
|
1120 | + |
|
1121 | + /** |
|
1122 | + * prep_option_value |
|
1123 | + * @param string $option_value |
|
1124 | + * @return string |
|
1125 | + */ |
|
1126 | + public static function prep_option_value($option_value) |
|
1127 | + { |
|
1128 | + return esc_attr(trim(stripslashes($option_value))); |
|
1129 | + } |
|
1130 | + |
|
1131 | + |
|
1132 | + |
|
1133 | + |
|
1134 | + /** |
|
1135 | + * prep_required |
|
1136 | + * @param string|array $required |
|
1137 | + * @return array |
|
1138 | + */ |
|
1139 | + public static function prep_required($required = array()) |
|
1140 | + { |
|
1141 | + // make sure required is an array |
|
1142 | + $required = is_array($required) ? $required : array(); |
|
1143 | + // and set some defaults |
|
1144 | + $required = array_merge(array( 'label' => '', 'class' => '', 'msg' => '' ), $required); |
|
1145 | + return $required; |
|
1146 | + } |
|
1147 | + |
|
1148 | + |
|
1149 | + |
|
1150 | + /** |
|
1151 | + * get_label_size_class |
|
1152 | + * @param string $value |
|
1153 | + * @return string |
|
1154 | + */ |
|
1155 | + public static function get_label_size_class($value = false) |
|
1156 | + { |
|
1157 | + if ($value === false || $value == '') { |
|
1158 | + return ' class="medium-lbl"'; |
|
1159 | + } |
|
1160 | + // determine length of option value |
|
1161 | + $val_size = strlen($value); |
|
1162 | + switch ($val_size) { |
|
1163 | + case $val_size < 3: |
|
1164 | + $size = ' class="nano-lbl"'; |
|
1165 | + break; |
|
1166 | + case $val_size < 6: |
|
1167 | + $size = ' class="micro-lbl"'; |
|
1168 | + break; |
|
1169 | + case $val_size < 12: |
|
1170 | + $size = ' class="tiny-lbl"'; |
|
1171 | + break; |
|
1172 | + case $val_size < 25: |
|
1173 | + $size = ' class="small-lbl"'; |
|
1174 | + break; |
|
1175 | + case $val_size > 100: |
|
1176 | + $size = ' class="big-lbl"'; |
|
1177 | + break; |
|
1178 | + default: |
|
1179 | + $size = ' class="medium-lbl"'; |
|
1180 | + break; |
|
1181 | + } |
|
1182 | + return $size; |
|
1183 | + } |
|
1184 | + |
|
1185 | + |
|
1186 | + |
|
1187 | + |
|
1188 | + /** |
|
1189 | + * _load_system_dropdowns |
|
1190 | + * @param array $QFI |
|
1191 | + * @return array |
|
1192 | + */ |
|
1193 | + private static function _load_system_dropdowns($QFI) |
|
1194 | + { |
|
1195 | + $QST_system = $QFI->get('QST_system'); |
|
1196 | + switch ($QST_system) { |
|
1197 | + case 'state': |
|
1198 | + $QFI = self::generate_state_dropdown($QFI); |
|
1199 | + break; |
|
1200 | + case 'country': |
|
1201 | + $QFI = self::generate_country_dropdown($QFI); |
|
1202 | + break; |
|
1203 | + case 'admin-state': |
|
1204 | + $QFI = self::generate_state_dropdown($QFI, true); |
|
1205 | + break; |
|
1206 | + case 'admin-country': |
|
1207 | + $QFI = self::generate_country_dropdown($QFI, true); |
|
1208 | + break; |
|
1209 | + } |
|
1210 | + return $QFI; |
|
1211 | + } |
|
1212 | + |
|
1213 | + |
|
1214 | + |
|
1215 | + /** |
|
1216 | + * This preps dropdowns that are specialized. |
|
1217 | + * |
|
1218 | + * @since 4.6.0 |
|
1219 | + * |
|
1220 | + * @param EE_Question_Form_Input $QFI |
|
1221 | + * |
|
1222 | + * @return EE_Question_Form_Input |
|
1223 | + */ |
|
1224 | + protected static function _load_specialized_dropdowns($QFI) |
|
1225 | + { |
|
1226 | + switch ($QFI->get('QST_type')) { |
|
1227 | + case 'STATE': |
|
1228 | + $QFI = self::generate_state_dropdown($QFI); |
|
1229 | + break; |
|
1230 | + case 'COUNTRY': |
|
1231 | + $QFI = self::generate_country_dropdown($QFI); |
|
1232 | + break; |
|
1233 | + } |
|
1234 | + return $QFI; |
|
1235 | + } |
|
1236 | + |
|
1237 | + |
|
1238 | + |
|
1239 | + /** |
|
1240 | + * generate_state_dropdown |
|
1241 | + * @param array $QST |
|
1242 | + * @param bool $get_all |
|
1243 | + * @return array |
|
1244 | + */ |
|
1245 | + public static function generate_state_dropdown($QST, $get_all = false) |
|
1246 | + { |
|
1247 | + $states = $get_all ? EEM_State::instance()->get_all_states() : EEM_State::instance()->get_all_states_of_active_countries(); |
|
1248 | + if ($states && count($states) != count($QST->options())) { |
|
1249 | + $QST->set('QST_type', 'DROPDOWN'); |
|
1250 | + // if multiple countries, we'll create option groups within the dropdown |
|
1251 | + foreach ($states as $state) { |
|
1252 | + if ($state instanceof EE_State) { |
|
1253 | + $QSO = EE_Question_Option::new_instance(array ( |
|
1254 | + 'QSO_value' => $state->ID(), |
|
1255 | + 'QSO_desc' => $state->name(), |
|
1256 | + 'QST_ID' => $QST->get('QST_ID'), |
|
1257 | + 'QSO_deleted' => false |
|
1258 | + )); |
|
1259 | + // set option group |
|
1260 | + $QSO->set_opt_group($state->country()->name()); |
|
1261 | + // add option to question |
|
1262 | + $QST->add_temp_option($QSO); |
|
1263 | + } |
|
1264 | + } |
|
1265 | + } |
|
1266 | + return $QST; |
|
1267 | + } |
|
1268 | + |
|
1269 | + |
|
1270 | + |
|
1271 | + /** |
|
1272 | + * generate_country_dropdown |
|
1273 | + * @param $QST |
|
1274 | + * @param bool $get_all |
|
1275 | + * @internal param array $question |
|
1276 | + * @return array |
|
1277 | + */ |
|
1278 | + public static function generate_country_dropdown($QST, $get_all = false) |
|
1279 | + { |
|
1280 | + $countries = $get_all ? EEM_Country::instance()->get_all_countries() : EEM_Country::instance()->get_all_active_countries(); |
|
1281 | + if ($countries && count($countries) != count($QST->options())) { |
|
1282 | + $QST->set('QST_type', 'DROPDOWN'); |
|
1283 | + // now add countries |
|
1284 | + foreach ($countries as $country) { |
|
1285 | + if ($country instanceof EE_Country) { |
|
1286 | + $QSO = EE_Question_Option::new_instance(array ( |
|
1287 | + 'QSO_value' => $country->ID(), |
|
1288 | + 'QSO_desc' => $country->name(), |
|
1289 | + 'QST_ID' => $QST->get('QST_ID'), |
|
1290 | + 'QSO_deleted' => false |
|
1291 | + )); |
|
1292 | + $QST->add_temp_option($QSO); |
|
1293 | + } |
|
1294 | + } |
|
1295 | + } |
|
1296 | + return $QST; |
|
1297 | + } |
|
1298 | + |
|
1299 | + |
|
1300 | + |
|
1301 | + |
|
1302 | + |
|
1303 | + /** |
|
1304 | + * generates options for a month dropdown selector with numbers from 01 to 12 |
|
1305 | + * @return array() |
|
1306 | + */ |
|
1307 | + public static function two_digit_months_dropdown_options() |
|
1308 | + { |
|
1309 | + $options = array(); |
|
1310 | + for ($x = 1; $x <= 12; $x++) { |
|
1311 | + $mm = str_pad($x, 2, '0', STR_PAD_LEFT); |
|
1312 | + $options[ (string) $mm ] = (string) $mm; |
|
1313 | + } |
|
1314 | + return EEH_Form_Fields::prep_answer_options($options); |
|
1315 | + } |
|
1316 | + |
|
1317 | + |
|
1318 | + |
|
1319 | + |
|
1320 | + |
|
1321 | + /** |
|
1322 | + * generates a year dropdown selector with numbers for the next ten years |
|
1323 | + * @return object |
|
1324 | + */ |
|
1325 | + public static function next_decade_two_digit_year_dropdown_options() |
|
1326 | + { |
|
1327 | + $options = array(); |
|
1328 | + $current_year = date('y'); |
|
1329 | + $next_decade = $current_year + 10; |
|
1330 | + for ($x = $current_year; $x <= $next_decade; $x++) { |
|
1331 | + $yy = str_pad($x, 2, '0', STR_PAD_LEFT); |
|
1332 | + $options[ (string) $yy ] = (string) $yy; |
|
1333 | + } |
|
1334 | + return EEH_Form_Fields::prep_answer_options($options); |
|
1335 | + } |
|
1336 | + |
|
1337 | + |
|
1338 | + |
|
1339 | + |
|
1340 | + |
|
1341 | + /** |
|
1342 | + * generates a month/year dropdown selector for all registrations matching the given criteria. Typically used for list table filter. |
|
1343 | + * @param string $cur_date any currently selected date can be entered here. |
|
1344 | + * @param string $status Registration status |
|
1345 | + * @param integer $evt_category Event Category ID if the Event Category filter is selected |
|
1346 | + * @return string html |
|
1347 | + */ |
|
1348 | + public static function generate_registration_months_dropdown($cur_date = '', $status = '', $evt_category = 0) |
|
1349 | + { |
|
1350 | + $_where = array(); |
|
1351 | + if (!empty($status)) { |
|
1352 | + $_where['STS_ID'] = $status; |
|
1353 | + } |
|
1354 | + |
|
1355 | + if ($evt_category > 0) { |
|
1356 | + $_where['Event.Term_Taxonomy.term_id'] = $evt_category; |
|
1357 | + } |
|
1358 | + |
|
1359 | + $regdtts = EEM_Registration::instance()->get_reg_months_and_years($_where); |
|
1360 | + |
|
1361 | + // setup vals for select input helper |
|
1362 | + $options = array( |
|
1363 | + 0 => array( |
|
1364 | + 'text' => __('Select a Month/Year', 'event_espresso'), |
|
1365 | + 'id' => '' |
|
1366 | + ) |
|
1367 | + ); |
|
1368 | + |
|
1369 | + foreach ($regdtts as $regdtt) { |
|
1370 | + $date = $regdtt->reg_month . ' ' . $regdtt->reg_year; |
|
1371 | + $options[] = array( |
|
1372 | + 'text' => $date, |
|
1373 | + 'id' => $date |
|
1374 | + ); |
|
1375 | + } |
|
1376 | + |
|
1377 | + return self::select_input('month_range', $options, $cur_date, '', 'wide'); |
|
1378 | + } |
|
1379 | + |
|
1380 | + |
|
1381 | + |
|
1382 | + /** |
|
1383 | + * generates a month/year dropdown selector for all events matching the given criteria |
|
1384 | + * Typically used for list table filter |
|
1385 | + * @param string $cur_date any currently selected date can be entered here. |
|
1386 | + * @param string $status "view" (i.e. all, today, month, draft) |
|
1387 | + * @param int $evt_category category event belongs to |
|
1388 | + * @param string $evt_active_status "upcoming", "expired", "active", or "inactive" |
|
1389 | + * @return string html |
|
1390 | + */ |
|
1391 | + public static function generate_event_months_dropdown($cur_date = '', $status = null, $evt_category = null, $evt_active_status = null) |
|
1392 | + { |
|
1393 | + // determine what post_status our condition will have for the query. |
|
1394 | + // phpcs:disable PSR2.ControlStructures.SwitchDeclaration.TerminatingComment |
|
1395 | + switch ($status) { |
|
1396 | + case 'month': |
|
1397 | + case 'today': |
|
1398 | + case null: |
|
1399 | + case 'all': |
|
1400 | + $where['Event.status'] = array( 'NOT IN', array('trash') ); |
|
1401 | + break; |
|
1402 | + |
|
1403 | + case 'draft': |
|
1404 | + $where['Event.status'] = array( 'IN', array('draft', 'auto-draft') ); |
|
1405 | + |
|
1406 | + default: |
|
1407 | + $where['Event.status'] = $status; |
|
1408 | + } |
|
1409 | + |
|
1410 | + // phpcs:enable |
|
1411 | + |
|
1412 | + // categories? |
|
1413 | + |
|
1414 | 1414 | |
1415 | - if (!empty($evt_category)) { |
|
1416 | - $where['Event.Term_Taxonomy.taxonomy'] = 'espresso_event_categories'; |
|
1417 | - $where['Event.Term_Taxonomy.term_id'] = $evt_category; |
|
1418 | - } |
|
1415 | + if (!empty($evt_category)) { |
|
1416 | + $where['Event.Term_Taxonomy.taxonomy'] = 'espresso_event_categories'; |
|
1417 | + $where['Event.Term_Taxonomy.term_id'] = $evt_category; |
|
1418 | + } |
|
1419 | 1419 | |
1420 | 1420 | |
1421 | 1421 | // $where['DTT_is_primary'] = 1; |
1422 | 1422 | |
1423 | - $DTTS = EE_Registry::instance()->load_model('Datetime')->get_dtt_months_and_years($where, $evt_active_status); |
|
1424 | - |
|
1425 | - // let's setup vals for select input helper |
|
1426 | - $options = array( |
|
1427 | - 0 => array( |
|
1428 | - 'text' => __('Select a Month/Year', 'event_espresso'), |
|
1429 | - 'id' => "" |
|
1430 | - ) |
|
1431 | - ); |
|
1432 | - |
|
1433 | - |
|
1434 | - |
|
1435 | - // translate month and date |
|
1436 | - global $wp_locale; |
|
1437 | - |
|
1438 | - foreach ($DTTS as $DTT) { |
|
1439 | - $localized_date = $wp_locale->get_month($DTT->dtt_month_num) . ' ' . $DTT->dtt_year; |
|
1440 | - $id = $DTT->dtt_month . ' ' . $DTT->dtt_year; |
|
1441 | - $options[] = array( |
|
1442 | - 'text' => $localized_date, |
|
1443 | - 'id' => $id |
|
1444 | - ); |
|
1445 | - } |
|
1446 | - |
|
1447 | - |
|
1448 | - return self::select_input('month_range', $options, $cur_date, '', 'wide'); |
|
1449 | - } |
|
1450 | - |
|
1451 | - |
|
1452 | - |
|
1453 | - /** |
|
1454 | - * generates the dropdown selector for event categories |
|
1455 | - * typically used as a filter on list tables. |
|
1456 | - * @param integer $current_cat currently selected category |
|
1457 | - * @return string html for dropdown |
|
1458 | - */ |
|
1459 | - public static function generate_event_category_dropdown($current_cat = -1) |
|
1460 | - { |
|
1461 | - $categories = EEM_Term::instance()->get_all_ee_categories(true); |
|
1462 | - $options = array( |
|
1463 | - '0' => array( |
|
1464 | - 'text' => __('All Categories', 'event_espresso'), |
|
1465 | - 'id' => -1 |
|
1466 | - ) |
|
1467 | - ); |
|
1468 | - |
|
1469 | - // setup categories for dropdown |
|
1470 | - foreach ($categories as $category) { |
|
1471 | - $options[] = array( |
|
1472 | - 'text' => $category->get('name'), |
|
1473 | - 'id' => $category->ID() |
|
1474 | - ); |
|
1475 | - } |
|
1476 | - |
|
1477 | - return self::select_input('EVT_CAT', $options, $current_cat); |
|
1478 | - } |
|
1479 | - |
|
1480 | - |
|
1481 | - |
|
1482 | - /** |
|
1483 | - * generate a submit button with or without it's own microform |
|
1484 | - * this is the only way to create buttons that are compatible across all themes |
|
1485 | - * |
|
1486 | - * @access public |
|
1487 | - * @param string $url - the form action |
|
1488 | - * @param string $ID - some kind of unique ID, appended with "-sbmt" for the input and "-frm" for the form |
|
1489 | - * @param string $class - css classes (separated by spaces if more than one) |
|
1490 | - * @param string $text - what appears on the button |
|
1491 | - * @param string $nonce_action - if using nonces |
|
1492 | - * @param bool|string $input_only - whether to print form header and footer. TRUE returns the input without the form |
|
1493 | - * @param string $extra_attributes - any extra attributes that need to be attached to the form input |
|
1494 | - * @return void |
|
1495 | - */ |
|
1496 | - public static function submit_button($url = '', $ID = '', $class = '', $text = '', $nonce_action = '', $input_only = false, $extra_attributes = '') |
|
1497 | - { |
|
1498 | - $btn = ''; |
|
1499 | - if (empty($url) || empty($ID)) { |
|
1500 | - return $btn; |
|
1501 | - } |
|
1502 | - $text = ! empty($text) ? $text : __('Submit', 'event_espresso'); |
|
1503 | - $btn .= '<input id="' . $ID . '-btn" class="' . $class . '" type="submit" value="' . $text . '" ' . $extra_attributes . '/>'; |
|
1504 | - if (! $input_only) { |
|
1505 | - $btn_frm = '<form id="' . $ID . '-frm" method="POST" action="' . $url . '">'; |
|
1506 | - $btn_frm .= ! empty($nonce_action) ? wp_nonce_field($nonce_action, $nonce_action . '_nonce', true, false) : ''; |
|
1507 | - $btn_frm .= $btn; |
|
1508 | - $btn_frm .= '</form>'; |
|
1509 | - $btn = $btn_frm; |
|
1510 | - unset($btn_frm); |
|
1511 | - } |
|
1512 | - return $btn; |
|
1513 | - } |
|
1423 | + $DTTS = EE_Registry::instance()->load_model('Datetime')->get_dtt_months_and_years($where, $evt_active_status); |
|
1424 | + |
|
1425 | + // let's setup vals for select input helper |
|
1426 | + $options = array( |
|
1427 | + 0 => array( |
|
1428 | + 'text' => __('Select a Month/Year', 'event_espresso'), |
|
1429 | + 'id' => "" |
|
1430 | + ) |
|
1431 | + ); |
|
1432 | + |
|
1433 | + |
|
1434 | + |
|
1435 | + // translate month and date |
|
1436 | + global $wp_locale; |
|
1437 | + |
|
1438 | + foreach ($DTTS as $DTT) { |
|
1439 | + $localized_date = $wp_locale->get_month($DTT->dtt_month_num) . ' ' . $DTT->dtt_year; |
|
1440 | + $id = $DTT->dtt_month . ' ' . $DTT->dtt_year; |
|
1441 | + $options[] = array( |
|
1442 | + 'text' => $localized_date, |
|
1443 | + 'id' => $id |
|
1444 | + ); |
|
1445 | + } |
|
1446 | + |
|
1447 | + |
|
1448 | + return self::select_input('month_range', $options, $cur_date, '', 'wide'); |
|
1449 | + } |
|
1450 | + |
|
1451 | + |
|
1452 | + |
|
1453 | + /** |
|
1454 | + * generates the dropdown selector for event categories |
|
1455 | + * typically used as a filter on list tables. |
|
1456 | + * @param integer $current_cat currently selected category |
|
1457 | + * @return string html for dropdown |
|
1458 | + */ |
|
1459 | + public static function generate_event_category_dropdown($current_cat = -1) |
|
1460 | + { |
|
1461 | + $categories = EEM_Term::instance()->get_all_ee_categories(true); |
|
1462 | + $options = array( |
|
1463 | + '0' => array( |
|
1464 | + 'text' => __('All Categories', 'event_espresso'), |
|
1465 | + 'id' => -1 |
|
1466 | + ) |
|
1467 | + ); |
|
1468 | + |
|
1469 | + // setup categories for dropdown |
|
1470 | + foreach ($categories as $category) { |
|
1471 | + $options[] = array( |
|
1472 | + 'text' => $category->get('name'), |
|
1473 | + 'id' => $category->ID() |
|
1474 | + ); |
|
1475 | + } |
|
1476 | + |
|
1477 | + return self::select_input('EVT_CAT', $options, $current_cat); |
|
1478 | + } |
|
1479 | + |
|
1480 | + |
|
1481 | + |
|
1482 | + /** |
|
1483 | + * generate a submit button with or without it's own microform |
|
1484 | + * this is the only way to create buttons that are compatible across all themes |
|
1485 | + * |
|
1486 | + * @access public |
|
1487 | + * @param string $url - the form action |
|
1488 | + * @param string $ID - some kind of unique ID, appended with "-sbmt" for the input and "-frm" for the form |
|
1489 | + * @param string $class - css classes (separated by spaces if more than one) |
|
1490 | + * @param string $text - what appears on the button |
|
1491 | + * @param string $nonce_action - if using nonces |
|
1492 | + * @param bool|string $input_only - whether to print form header and footer. TRUE returns the input without the form |
|
1493 | + * @param string $extra_attributes - any extra attributes that need to be attached to the form input |
|
1494 | + * @return void |
|
1495 | + */ |
|
1496 | + public static function submit_button($url = '', $ID = '', $class = '', $text = '', $nonce_action = '', $input_only = false, $extra_attributes = '') |
|
1497 | + { |
|
1498 | + $btn = ''; |
|
1499 | + if (empty($url) || empty($ID)) { |
|
1500 | + return $btn; |
|
1501 | + } |
|
1502 | + $text = ! empty($text) ? $text : __('Submit', 'event_espresso'); |
|
1503 | + $btn .= '<input id="' . $ID . '-btn" class="' . $class . '" type="submit" value="' . $text . '" ' . $extra_attributes . '/>'; |
|
1504 | + if (! $input_only) { |
|
1505 | + $btn_frm = '<form id="' . $ID . '-frm" method="POST" action="' . $url . '">'; |
|
1506 | + $btn_frm .= ! empty($nonce_action) ? wp_nonce_field($nonce_action, $nonce_action . '_nonce', true, false) : ''; |
|
1507 | + $btn_frm .= $btn; |
|
1508 | + $btn_frm .= '</form>'; |
|
1509 | + $btn = $btn_frm; |
|
1510 | + unset($btn_frm); |
|
1511 | + } |
|
1512 | + return $btn; |
|
1513 | + } |
|
1514 | 1514 | } |
@@ -90,10 +90,10 @@ discard block |
||
90 | 90 | $required = isset($input_value['required']) && $input_value['required'] ? ' <span>*</span>: ' : ': '; |
91 | 91 | // and the css class "required" |
92 | 92 | $css_class = isset($input_value['css_class']) ? $input_value['css_class'] : ''; |
93 | - $styles = $input_value['required'] ? 'required ' . $css_class : $css_class; |
|
93 | + $styles = $input_value['required'] ? 'required '.$css_class : $css_class; |
|
94 | 94 | |
95 | - $field_id = ($id) ? $id . '-' . $input_key : $input_key; |
|
96 | - $tabindex = !empty($input_value['tabindex']) ? ' tabindex="' . $input_value['tabindex'] . '"' : ''; |
|
95 | + $field_id = ($id) ? $id.'-'.$input_key : $input_key; |
|
96 | + $tabindex = ! empty($input_value['tabindex']) ? ' tabindex="'.$input_value['tabindex'].'"' : ''; |
|
97 | 97 | |
98 | 98 | // rows or cols? |
99 | 99 | $rows = isset($input_value['rows']) ? $input_value['rows'] : '10'; |
@@ -102,21 +102,21 @@ discard block |
||
102 | 102 | // any content? |
103 | 103 | $append_content = $input_value['append_content']; |
104 | 104 | |
105 | - $output .= (!$close) ? '<ul>' : ''; |
|
105 | + $output .= ( ! $close) ? '<ul>' : ''; |
|
106 | 106 | $output .= '<li>'; |
107 | 107 | |
108 | 108 | // what type of input are we dealing with ? |
109 | 109 | switch ($input_value['input']) { |
110 | 110 | // text inputs |
111 | 111 | case 'text': |
112 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
113 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" class="' . $styles . '" type="text" value="' . esc_textarea($input_value['value']) . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
112 | + $output .= "\n\t\t\t".'<label for="'.$field_id.'">'.$input_value['label'].$required.'</label>'; |
|
113 | + $output .= "\n\t\t\t".'<input id="'.$field_id.'" class="'.$styles.'" type="text" value="'.esc_textarea($input_value['value']).'" name="'.$input_value['name'].'"'.$tabindex.'>'; |
|
114 | 114 | break; |
115 | 115 | |
116 | 116 | // dropdowns |
117 | 117 | case 'select': |
118 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
119 | - $output .= "\n\t\t\t" . '<select id="' . $field_id . '" class="' . $styles . '" name="' . $input_value['name'] . '"' . $tabindex . '>'; |
|
118 | + $output .= "\n\t\t\t".'<label for="'.$field_id.'">'.$input_value['label'].$required.'</label>'; |
|
119 | + $output .= "\n\t\t\t".'<select id="'.$field_id.'" class="'.$styles.'" name="'.$input_value['name'].'"'.$tabindex.'>'; |
|
120 | 120 | |
121 | 121 | if (is_array($input_value['options'])) { |
122 | 122 | $options = $input_value['options']; |
@@ -127,27 +127,27 @@ discard block |
||
127 | 127 | foreach ($options as $key => $value) { |
128 | 128 | $selected = isset($input_value['value']) && $input_value['value'] == $key ? 'selected=selected' : ''; |
129 | 129 | // $key = str_replace( ' ', '_', sanitize_key( $value )); |
130 | - $output .= "\n\t\t\t\t" . '<option ' . $selected . ' value="' . $key . '">' . $value . '</option>'; |
|
130 | + $output .= "\n\t\t\t\t".'<option '.$selected.' value="'.$key.'">'.$value.'</option>'; |
|
131 | 131 | } |
132 | - $output .= "\n\t\t\t" . '</select>'; |
|
132 | + $output .= "\n\t\t\t".'</select>'; |
|
133 | 133 | |
134 | 134 | break; |
135 | 135 | |
136 | 136 | case 'textarea': |
137 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
138 | - $output .= "\n\t\t\t" . '<textarea id="' . $field_id . '" class="' . $styles . '" rows="' . $rows . '" cols="' . $cols . '" name="' . $input_value['name'] . '"' . $tabindex . '>' . esc_textarea($input_value['value']) . '</textarea>'; |
|
137 | + $output .= "\n\t\t\t".'<label for="'.$field_id.'">'.$input_value['label'].$required.'</label>'; |
|
138 | + $output .= "\n\t\t\t".'<textarea id="'.$field_id.'" class="'.$styles.'" rows="'.$rows.'" cols="'.$cols.'" name="'.$input_value['name'].'"'.$tabindex.'>'.esc_textarea($input_value['value']).'</textarea>'; |
|
139 | 139 | break; |
140 | 140 | |
141 | 141 | case 'hidden': |
142 | 142 | $close = false; |
143 | 143 | $output .= "</li></ul>"; |
144 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="hidden" name="' . $input_value['name'] . '" value="' . $input_value['value'] . '">'; |
|
144 | + $output .= "\n\t\t\t".'<input id="'.$field_id.'" type="hidden" name="'.$input_value['name'].'" value="'.$input_value['value'].'">'; |
|
145 | 145 | break; |
146 | 146 | |
147 | 147 | case 'checkbox': |
148 | - $checked = ( $input_value['value'] == 1 ) ? 'checked="checked"' : ''; |
|
149 | - $output .= "\n\t\t\t" . '<label for="' . $field_id . '">' . $input_value['label'] . $required . '</label>'; |
|
150 | - $output .= "\n\t\t\t" . '<input id="' . $field_id . '" type="checkbox" name="' . $input_value['name'] . '" value="1"' . $checked . $tabindex . ' />'; |
|
148 | + $checked = ($input_value['value'] == 1) ? 'checked="checked"' : ''; |
|
149 | + $output .= "\n\t\t\t".'<label for="'.$field_id.'">'.$input_value['label'].$required.'</label>'; |
|
150 | + $output .= "\n\t\t\t".'<input id="'.$field_id.'" type="checkbox" name="'.$input_value['name'].'" value="1"'.$checked.$tabindex.' />'; |
|
151 | 151 | break; |
152 | 152 | |
153 | 153 | case 'wp_editor': |
@@ -160,7 +160,7 @@ discard block |
||
160 | 160 | ); |
161 | 161 | $output .= '</li>'; |
162 | 162 | $output .= '</ul>'; |
163 | - $output .= '<h4>' . $input_value['label'] . '</h4>'; |
|
163 | + $output .= '<h4>'.$input_value['label'].'</h4>'; |
|
164 | 164 | if ($append_content) { |
165 | 165 | $output .= $append_content; |
166 | 166 | } |
@@ -232,17 +232,17 @@ discard block |
||
232 | 232 | $_fields = wp_parse_args($field_atts, $defaults); |
233 | 233 | extract($_fields); |
234 | 234 | // generate label |
235 | - $label = empty($label) ? '' : '<label for="' . $id . '">' . $label . '</label>'; |
|
235 | + $label = empty($label) ? '' : '<label for="'.$id.'">'.$label.'</label>'; |
|
236 | 236 | // generate field name |
237 | - $f_name = !empty($unique_id) ? $field_name . '[' . $unique_id . ']' : $field_name; |
|
237 | + $f_name = ! empty($unique_id) ? $field_name.'['.$unique_id.']' : $field_name; |
|
238 | 238 | |
239 | 239 | // tabindex |
240 | - $tabindex_str = !empty($tabindex) ? ' tabindex="' . $tabindex . '"' : ''; |
|
240 | + $tabindex_str = ! empty($tabindex) ? ' tabindex="'.$tabindex.'"' : ''; |
|
241 | 241 | |
242 | 242 | // we determine what we're building based on the type |
243 | 243 | switch ($type) { |
244 | 244 | case 'textarea': |
245 | - $fld = '<textarea id="' . $id . '" class="' . $class . '" rows="' . $dimensions[1] . '" cols="' . $dimensions[0] . '" name="' . $f_name . '"' . $tabindex_str . '>' . $value . '</textarea>'; |
|
245 | + $fld = '<textarea id="'.$id.'" class="'.$class.'" rows="'.$dimensions[1].'" cols="'.$dimensions[0].'" name="'.$f_name.'"'.$tabindex_str.'>'.$value.'</textarea>'; |
|
246 | 246 | $fld .= $extra_desc; |
247 | 247 | break; |
248 | 248 | |
@@ -250,16 +250,16 @@ discard block |
||
250 | 250 | $c_input = ''; |
251 | 251 | if (is_array($value)) { |
252 | 252 | foreach ($value as $key => $val) { |
253 | - $c_id = $field_name . '_' . $value; |
|
254 | - $c_class = isset($classes[ $key ]) ? ' class="' . $classes[ $key ] . '" ' : ''; |
|
255 | - $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
256 | - $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
257 | - $c_input .= '<input name="' . $f_name . '[]" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
253 | + $c_id = $field_name.'_'.$value; |
|
254 | + $c_class = isset($classes[$key]) ? ' class="'.$classes[$key].'" ' : ''; |
|
255 | + $c_label = isset($labels[$key]) ? '<label for="'.$c_id.'">'.$labels[$key].'</label>' : ''; |
|
256 | + $checked = ! empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
257 | + $c_input .= '<input name="'.$f_name.'[]" type="checkbox" id="'.$c_id.'"'.$c_class.'value="'.$val.'"'.$checked.$tabindex_str.' />'."\n".$c_label; |
|
258 | 258 | } |
259 | 259 | $fld = $c_input; |
260 | 260 | } else { |
261 | - $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
262 | - $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
261 | + $checked = ! empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
262 | + $fld = '<input name="'.$f_name.'" type="checkbox" id="'.$id.'" class="'.$class.'" value="'.$value.'"'.$checked.$tabindex_str.' />'."\n"; |
|
263 | 263 | } |
264 | 264 | break; |
265 | 265 | |
@@ -267,28 +267,28 @@ discard block |
||
267 | 267 | $c_input = ''; |
268 | 268 | if (is_array($value)) { |
269 | 269 | foreach ($value as $key => $val) { |
270 | - $c_id = $field_name . '_' . $value; |
|
271 | - $c_class = isset($classes[ $key ]) ? 'class="' . $classes[ $key ] . '" ' : ''; |
|
272 | - $c_label = isset($labels[ $key ]) ? '<label for="' . $c_id . '">' . $labels[ $key ] . '</label>' : ''; |
|
273 | - $checked = !empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
274 | - $c_input .= '<input name="' . $f_name . '" type="checkbox" id="' . $c_id . '"' . $c_class . 'value="' . $val . '"' . $checked . $tabindex_str . ' />' . "\n" . $c_label; |
|
270 | + $c_id = $field_name.'_'.$value; |
|
271 | + $c_class = isset($classes[$key]) ? 'class="'.$classes[$key].'" ' : ''; |
|
272 | + $c_label = isset($labels[$key]) ? '<label for="'.$c_id.'">'.$labels[$key].'</label>' : ''; |
|
273 | + $checked = ! empty($default) && $default == $val ? ' checked="checked" ' : ''; |
|
274 | + $c_input .= '<input name="'.$f_name.'" type="checkbox" id="'.$c_id.'"'.$c_class.'value="'.$val.'"'.$checked.$tabindex_str.' />'."\n".$c_label; |
|
275 | 275 | } |
276 | 276 | $fld = $c_input; |
277 | 277 | } else { |
278 | - $checked = !empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
279 | - $fld = '<input name="' . $f_name . '" type="checkbox" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $checked . $tabindex_str . ' />' . "\n"; |
|
278 | + $checked = ! empty($default) && $default == $val ? 'checked="checked" ' : ''; |
|
279 | + $fld = '<input name="'.$f_name.'" type="checkbox" id="'.$id.'" class="'.$class.'" value="'.$value.'"'.$checked.$tabindex_str.' />'."\n"; |
|
280 | 280 | } |
281 | 281 | break; |
282 | 282 | |
283 | 283 | case 'hidden': |
284 | - $fld = '<input name="' . $f_name . '" type="hidden" id="' . $id . '" class="' . $class . '" value="' . $value . '" />' . "\n"; |
|
284 | + $fld = '<input name="'.$f_name.'" type="hidden" id="'.$id.'" class="'.$class.'" value="'.$value.'" />'."\n"; |
|
285 | 285 | break; |
286 | 286 | |
287 | 287 | case 'select': |
288 | - $fld = '<select name="' . $f_name . '" class="' . $class . '" id="' . $id . '"' . $tabindex_str . '>' . "\n"; |
|
288 | + $fld = '<select name="'.$f_name.'" class="'.$class.'" id="'.$id.'"'.$tabindex_str.'>'."\n"; |
|
289 | 289 | foreach ($value as $key => $val) { |
290 | - $checked = !empty($default) && $default == $val ? ' selected="selected"' : ''; |
|
291 | - $fld .= "\t" . '<option value="' . $val . '"' . $checked . '>' . $labels[ $key ] . '</option>' . "\n"; |
|
290 | + $checked = ! empty($default) && $default == $val ? ' selected="selected"' : ''; |
|
291 | + $fld .= "\t".'<option value="'.$val.'"'.$checked.'>'.$labels[$key].'</option>'."\n"; |
|
292 | 292 | } |
293 | 293 | $fld .= '</select>'; |
294 | 294 | break; |
@@ -309,11 +309,11 @@ discard block |
||
309 | 309 | break; |
310 | 310 | |
311 | 311 | default: // 'text fields' |
312 | - $fld = '<input name="' . $f_name . '" type="text" id="' . $id . '" class="' . $class . '" value="' . $value . '"' . $tabindex_str . ' />' . "\n"; |
|
312 | + $fld = '<input name="'.$f_name.'" type="text" id="'.$id.'" class="'.$class.'" value="'.$value.'"'.$tabindex_str.' />'."\n"; |
|
313 | 313 | $fld .= $extra_desc; |
314 | 314 | } |
315 | 315 | |
316 | - $form_fields[ $field_name ] = array( 'label' => $label, 'field' => $fld ); |
|
316 | + $form_fields[$field_name] = array('label' => $label, 'field' => $fld); |
|
317 | 317 | } |
318 | 318 | |
319 | 319 | return $form_fields; |
@@ -343,25 +343,25 @@ discard block |
||
343 | 343 | public static function select_input($name, $values, $default = '', $parameters = '', $class = '', $autosize = true) |
344 | 344 | { |
345 | 345 | // if $values was submitted in the wrong format, convert it over |
346 | - if (!empty($values) && (!array_key_exists(0, $values) || !is_array($values[0]))) { |
|
346 | + if ( ! empty($values) && ( ! array_key_exists(0, $values) || ! is_array($values[0]))) { |
|
347 | 347 | $converted_values = array(); |
348 | 348 | foreach ($values as $id => $text) { |
349 | - $converted_values[] = array('id' => $id,'text' => $text); |
|
349 | + $converted_values[] = array('id' => $id, 'text' => $text); |
|
350 | 350 | } |
351 | 351 | $values = $converted_values; |
352 | 352 | } |
353 | 353 | |
354 | - $field = '<select id="' . EEH_Formatter::ee_tep_output_string($name) . '" name="' . EEH_Formatter::ee_tep_output_string($name) . '"'; |
|
354 | + $field = '<select id="'.EEH_Formatter::ee_tep_output_string($name).'" name="'.EEH_Formatter::ee_tep_output_string($name).'"'; |
|
355 | 355 | // Debug |
356 | 356 | // EEH_Debug_Tools::printr( $values, '$values <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
357 | 357 | if (EEH_Formatter::ee_tep_not_null($parameters)) { |
358 | - $field .= ' ' . $parameters; |
|
358 | + $field .= ' '.$parameters; |
|
359 | 359 | } |
360 | 360 | if ($autosize) { |
361 | 361 | $size = 'med'; |
362 | 362 | for ($ii = 0, $ni = sizeof($values); $ii < $ni; $ii++) { |
363 | - if ($values[ $ii ]['text']) { |
|
364 | - if (strlen($values[ $ii ]['text']) > 5) { |
|
363 | + if ($values[$ii]['text']) { |
|
364 | + if (strlen($values[$ii]['text']) > 5) { |
|
365 | 365 | $size = 'wide'; |
366 | 366 | } |
367 | 367 | } |
@@ -370,22 +370,22 @@ discard block |
||
370 | 370 | $size = ''; |
371 | 371 | } |
372 | 372 | |
373 | - $field .= ' class="' . $class . ' ' . $size . '">'; |
|
373 | + $field .= ' class="'.$class.' '.$size.'">'; |
|
374 | 374 | |
375 | - if (empty($default) && isset($GLOBALS[ $name ])) { |
|
376 | - $default = stripslashes($GLOBALS[ $name ]); |
|
375 | + if (empty($default) && isset($GLOBALS[$name])) { |
|
376 | + $default = stripslashes($GLOBALS[$name]); |
|
377 | 377 | } |
378 | 378 | |
379 | 379 | |
380 | 380 | for ($i = 0, $n = sizeof($values); $i < $n; $i++) { |
381 | - $field .= '<option value="' . $values[ $i ]['id'] . '"'; |
|
382 | - if ($default == $values[ $i ]['id']) { |
|
381 | + $field .= '<option value="'.$values[$i]['id'].'"'; |
|
382 | + if ($default == $values[$i]['id']) { |
|
383 | 383 | $field .= ' selected = "selected"'; |
384 | 384 | } |
385 | - if (isset($values[ $i ]['class'])) { |
|
386 | - $field .= ' class="' . $values[ $i ]['class'] . '"'; |
|
385 | + if (isset($values[$i]['class'])) { |
|
386 | + $field .= ' class="'.$values[$i]['class'].'"'; |
|
387 | 387 | } |
388 | - $field .= '>' . $values[ $i ]['text'] . '</option>'; |
|
388 | + $field .= '>'.$values[$i]['text'].'</option>'; |
|
389 | 389 | } |
390 | 390 | $field .= '</select>'; |
391 | 391 | |
@@ -410,18 +410,18 @@ discard block |
||
410 | 410 | $before_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__before_question_group_questions', ''); |
411 | 411 | $after_question_group_questions = apply_filters('FHEE__EEH_Form_Fields__generate_question_groups_html__after_question_group_questions', ''); |
412 | 412 | |
413 | - if (! empty($question_groups)) { |
|
413 | + if ( ! empty($question_groups)) { |
|
414 | 414 | // EEH_Debug_Tools::printr( $question_groups, '$question_groups <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
415 | 415 | // loop thru question groups |
416 | 416 | foreach ($question_groups as $QSG) { |
417 | 417 | // check that questions exist |
418 | - if (! empty($QSG['QSG_questions'])) { |
|
418 | + if ( ! empty($QSG['QSG_questions'])) { |
|
419 | 419 | // use fieldsets |
420 | - $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG['QSG_identifier'] . '">'; |
|
420 | + $html .= "\n\t".'<'.$group_wrapper.' class="espresso-question-group-wrap" id="'.$QSG['QSG_identifier'].'">'; |
|
421 | 421 | // group_name |
422 | - $html .= $QSG['QSG_show_group_name'] ? "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . self::prep_answer($QSG['QSG_name']) . '</h5>' : ''; |
|
422 | + $html .= $QSG['QSG_show_group_name'] ? "\n\t\t".'<h5 class="espresso-question-group-title-h5 section-title">'.self::prep_answer($QSG['QSG_name']).'</h5>' : ''; |
|
423 | 423 | // group_desc |
424 | - $html .= $QSG['QSG_show_group_desc'] && ! empty($QSG['QSG_desc']) ? '<div class="espresso-question-group-desc-pg">' . self::prep_answer($QSG['QSG_desc']) . '</div>' : ''; |
|
424 | + $html .= $QSG['QSG_show_group_desc'] && ! empty($QSG['QSG_desc']) ? '<div class="espresso-question-group-desc-pg">'.self::prep_answer($QSG['QSG_desc']).'</div>' : ''; |
|
425 | 425 | |
426 | 426 | $html .= $before_question_group_questions; |
427 | 427 | // loop thru questions |
@@ -435,7 +435,7 @@ discard block |
||
435 | 435 | $html .= self::generate_form_input($QFI); |
436 | 436 | } |
437 | 437 | $html .= $after_question_group_questions; |
438 | - $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
438 | + $html .= "\n\t".'</'.$group_wrapper.'>'; |
|
439 | 439 | } |
440 | 440 | } |
441 | 441 | } |
@@ -471,28 +471,28 @@ discard block |
||
471 | 471 | $q_meta = array_merge($default_q_meta, $q_meta); |
472 | 472 | // EEH_Debug_Tools::printr( $q_meta, '$q_meta <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
473 | 473 | |
474 | - if (! empty($question_groups)) { |
|
474 | + if ( ! empty($question_groups)) { |
|
475 | 475 | // EEH_Debug_Tools::printr( $question_groups, '$question_groups <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); |
476 | 476 | // loop thru question groups |
477 | 477 | foreach ($question_groups as $QSG) { |
478 | 478 | if ($QSG instanceof EE_Question_Group) { |
479 | 479 | // check that questions exist |
480 | 480 | |
481 | - $where = array( 'QST_deleted' => 0 ); |
|
482 | - if (! $from_admin) { |
|
481 | + $where = array('QST_deleted' => 0); |
|
482 | + if ( ! $from_admin) { |
|
483 | 483 | $where['QST_admin_only'] = 0; |
484 | 484 | } |
485 | - $questions = $QSG->questions(array( $where, 'order_by' => array( 'Question_Group_Question.QGQ_order' => 'ASC' ))); |
|
486 | - if (! empty($questions)) { |
|
485 | + $questions = $QSG->questions(array($where, 'order_by' => array('Question_Group_Question.QGQ_order' => 'ASC'))); |
|
486 | + if ( ! empty($questions)) { |
|
487 | 487 | // use fieldsets |
488 | - $html .= "\n\t" . '<' . $group_wrapper . ' class="espresso-question-group-wrap" id="' . $QSG->get('QSG_identifier') . '">'; |
|
488 | + $html .= "\n\t".'<'.$group_wrapper.' class="espresso-question-group-wrap" id="'.$QSG->get('QSG_identifier').'">'; |
|
489 | 489 | // group_name |
490 | 490 | if ($QSG->show_group_name()) { |
491 | - $html .= "\n\t\t" . '<h5 class="espresso-question-group-title-h5 section-title">' . $QSG->get_pretty('QSG_name') . '</h5>'; |
|
491 | + $html .= "\n\t\t".'<h5 class="espresso-question-group-title-h5 section-title">'.$QSG->get_pretty('QSG_name').'</h5>'; |
|
492 | 492 | } |
493 | 493 | // group_desc |
494 | 494 | if ($QSG->show_group_desc()) { |
495 | - $html .= '<div class="espresso-question-group-desc-pg">' . $QSG->get_pretty('QSG_desc') . '</div>'; |
|
495 | + $html .= '<div class="espresso-question-group-desc-pg">'.$QSG->get_pretty('QSG_desc').'</div>'; |
|
496 | 496 | } |
497 | 497 | |
498 | 498 | $html .= $before_question_group_questions; |
@@ -504,12 +504,12 @@ discard block |
||
504 | 504 | |
505 | 505 | if (isset($_GET['qstn']) && isset($q_meta['input_id']) && isset($q_meta['att_nmbr'])) { |
506 | 506 | // check for answer in $_GET in case we are reprocessing a form after an error |
507 | - if (isset($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ])) { |
|
508 | - $answer = is_array($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]) ? $_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ] : sanitize_text_field($_GET['qstn'][ $q_meta['input_id'] ][ $qstn_id ]); |
|
507 | + if (isset($_GET['qstn'][$q_meta['input_id']][$qstn_id])) { |
|
508 | + $answer = is_array($_GET['qstn'][$q_meta['input_id']][$qstn_id]) ? $_GET['qstn'][$q_meta['input_id']][$qstn_id] : sanitize_text_field($_GET['qstn'][$q_meta['input_id']][$qstn_id]); |
|
509 | 509 | } |
510 | 510 | } elseif (isset($q_meta['attendee']) && $q_meta['attendee']) { |
511 | 511 | // attendee data from the session |
512 | - $answer = isset($q_meta['attendee'][ $qstn_id ]) ? $q_meta['attendee'][ $qstn_id ] : null; |
|
512 | + $answer = isset($q_meta['attendee'][$qstn_id]) ? $q_meta['attendee'][$qstn_id] : null; |
|
513 | 513 | } |
514 | 514 | |
515 | 515 | |
@@ -528,7 +528,7 @@ discard block |
||
528 | 528 | $html .= self::generate_form_input($QFI); |
529 | 529 | } |
530 | 530 | $html .= $after_question_group_questions; |
531 | - $html .= "\n\t" . '</' . $group_wrapper . '>'; |
|
531 | + $html .= "\n\t".'</'.$group_wrapper.'>'; |
|
532 | 532 | } |
533 | 533 | } |
534 | 534 | } |
@@ -567,10 +567,10 @@ discard block |
||
567 | 567 | $disabled = $QFI->get('QST_disabled') ? true : false; |
568 | 568 | $required_label = apply_filters(' FHEE__EEH_Form_Fields__generate_form_input__required_label', '<em>*</em>'); |
569 | 569 | $QST_required = $QFI->get('QST_required'); |
570 | - $required = $QST_required ? array( 'label' => $required_label, 'class' => 'required needs-value', 'title' => $QST_required ) : array(); |
|
570 | + $required = $QST_required ? array('label' => $required_label, 'class' => 'required needs-value', 'title' => $QST_required) : array(); |
|
571 | 571 | $use_html_entities = $QFI->get_meta('htmlentities'); |
572 | 572 | $required_text = $QFI->get('QST_required_text') != '' ? $QFI->get('QST_required_text') : __('This field is required', 'event_espresso'); |
573 | - $required_text = $QST_required ? "\n\t\t\t" . '<div class="required-text hidden">' . self::prep_answer($required_text, $use_html_entities) . '</div>' : ''; |
|
573 | + $required_text = $QST_required ? "\n\t\t\t".'<div class="required-text hidden">'.self::prep_answer($required_text, $use_html_entities).'</div>' : ''; |
|
574 | 574 | $label_class = 'espresso-form-input-lbl'; |
575 | 575 | $QST_options = $QFI->options(true, $answer); |
576 | 576 | $options = is_array($QST_options) ? self::prep_answer_options($QST_options) : array(); |
@@ -629,7 +629,7 @@ discard block |
||
629 | 629 | public static function text($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
630 | 630 | { |
631 | 631 | // need these |
632 | - if (! $question || ! $name) { |
|
632 | + if ( ! $question || ! $name) { |
|
633 | 633 | return null; |
634 | 634 | } |
635 | 635 | // prep the answer |
@@ -637,21 +637,21 @@ discard block |
||
637 | 637 | // prep the required array |
638 | 638 | $required = self::prep_required($required); |
639 | 639 | // set disabled tag |
640 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
640 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
641 | 641 | // ya gots ta have style man!!! |
642 | 642 | $txt_class = is_admin() ? 'regular-text' : 'espresso-text-inp'; |
643 | 643 | $class = empty($class) ? $txt_class : $class; |
644 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
644 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
645 | 645 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
646 | 646 | |
647 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
647 | + $label_html = $required_text."\n\t\t\t".'<label for="'.$name.'" class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label><br/>'; |
|
648 | 648 | // filter label but ensure required text comes before it |
649 | 649 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
650 | 650 | |
651 | - $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" value="' . esc_attr($answer) . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
651 | + $input_html = "\n\t\t\t".'<input type="text" name="'.$name.'" id="'.$id.'" class="'.$class.' '.$required['class'].'" value="'.esc_attr($answer).'" title="'.esc_attr($required['msg']).'" '.$disabled.' '.$extra.'/>'; |
|
652 | 652 | |
653 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
654 | - return $label_html . $input_html; |
|
653 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
654 | + return $label_html.$input_html; |
|
655 | 655 | } |
656 | 656 | |
657 | 657 | |
@@ -675,7 +675,7 @@ discard block |
||
675 | 675 | public static function textarea($question = false, $answer = null, $name = false, $id = '', $class = '', $dimensions = false, $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
676 | 676 | { |
677 | 677 | // need these |
678 | - if (! $question || ! $name) { |
|
678 | + if ( ! $question || ! $name) { |
|
679 | 679 | return null; |
680 | 680 | } |
681 | 681 | // prep the answer |
@@ -685,23 +685,23 @@ discard block |
||
685 | 685 | // make sure $dimensions is an array |
686 | 686 | $dimensions = is_array($dimensions) ? $dimensions : array(); |
687 | 687 | // and set some defaults |
688 | - $dimensions = array_merge(array( 'rows' => 3, 'cols' => 40 ), $dimensions); |
|
688 | + $dimensions = array_merge(array('rows' => 3, 'cols' => 40), $dimensions); |
|
689 | 689 | // set disabled tag |
690 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
690 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
691 | 691 | // ya gots ta have style man!!! |
692 | 692 | $txt_class = is_admin() ? 'regular-text' : 'espresso-textarea-inp'; |
693 | 693 | $class = empty($class) ? $txt_class : $class; |
694 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
694 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
695 | 695 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
696 | 696 | |
697 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
697 | + $label_html = $required_text."\n\t\t\t".'<label for="'.$name.'" class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label><br/>'; |
|
698 | 698 | // filter label but ensure required text comes before it |
699 | 699 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
700 | 700 | |
701 | - $input_html = "\n\t\t\t" . '<textarea name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" rows="' . $dimensions['rows'] . '" cols="' . $dimensions['cols'] . '" title="' . $required['msg'] . '" ' . $disabled . ' ' . $extra . '>' . $answer . '</textarea>'; |
|
701 | + $input_html = "\n\t\t\t".'<textarea name="'.$name.'" id="'.$id.'" class="'.$class.' '.$required['class'].'" rows="'.$dimensions['rows'].'" cols="'.$dimensions['cols'].'" title="'.$required['msg'].'" '.$disabled.' '.$extra.'>'.$answer.'</textarea>'; |
|
702 | 702 | |
703 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
704 | - return $label_html . $input_html; |
|
703 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
704 | + return $label_html.$input_html; |
|
705 | 705 | } |
706 | 706 | |
707 | 707 | |
@@ -727,7 +727,7 @@ discard block |
||
727 | 727 | { |
728 | 728 | |
729 | 729 | // need these |
730 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
730 | + if ( ! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
731 | 731 | return null; |
732 | 732 | } |
733 | 733 | // prep the answer |
@@ -735,36 +735,36 @@ discard block |
||
735 | 735 | // prep the required array |
736 | 736 | $required = self::prep_required($required); |
737 | 737 | // set disabled tag |
738 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
738 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
739 | 739 | // ya gots ta have style man!!! |
740 | 740 | $txt_class = is_admin() ? 'wide' : 'espresso-select-inp'; |
741 | 741 | $class = empty($class) ? $txt_class : $class; |
742 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
742 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
743 | 743 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
744 | 744 | |
745 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
745 | + $label_html = $required_text."\n\t\t\t".'<label for="'.$name.'" class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label><br/>'; |
|
746 | 746 | // filter label but ensure required text comes before it |
747 | 747 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
748 | 748 | |
749 | - $input_html = "\n\t\t\t" . '<select name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . '" title="' . esc_attr($required['msg']) . '"' . $disabled . ' ' . $extra . '>'; |
|
749 | + $input_html = "\n\t\t\t".'<select name="'.$name.'" id="'.$id.'" class="'.$class.' '.$required['class'].'" title="'.esc_attr($required['msg']).'"'.$disabled.' '.$extra.'>'; |
|
750 | 750 | // recursively count array elements, to determine total number of options |
751 | 751 | $only_option = count($options, 1) == 1 ? true : false; |
752 | - if (! $only_option) { |
|
752 | + if ( ! $only_option) { |
|
753 | 753 | // if there is NO answer set and there are multiple options to choose from, then set the "please select" message as selected |
754 | 754 | $selected = $answer === null ? ' selected="selected"' : ''; |
755 | - $input_html .= $add_please_select_option ? "\n\t\t\t\t" . '<option value=""' . $selected . '>' . __(' - please select - ', 'event_espresso') . '</option>' : ''; |
|
755 | + $input_html .= $add_please_select_option ? "\n\t\t\t\t".'<option value=""'.$selected.'>'.__(' - please select - ', 'event_espresso').'</option>' : ''; |
|
756 | 756 | } |
757 | 757 | foreach ($options as $key => $value) { |
758 | 758 | // if value is an array, then create option groups, else create regular ol' options |
759 | 759 | $input_html .= is_array($value) ? self::_generate_select_option_group($key, $value, $answer, $use_html_entities) : self::_generate_select_option($value->value(), $value->desc(), $answer, $only_option, $use_html_entities); |
760 | 760 | } |
761 | 761 | |
762 | - $input_html .= "\n\t\t\t" . '</select>'; |
|
762 | + $input_html .= "\n\t\t\t".'</select>'; |
|
763 | 763 | |
764 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__select__before_end_wrapper', $input_html, $question, $answer, $name, $id, $class, $system_ID); |
|
764 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__select__before_end_wrapper', $input_html, $question, $answer, $name, $id, $class, $system_ID); |
|
765 | 765 | |
766 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
767 | - return $label_html . $input_html; |
|
766 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
767 | + return $label_html.$input_html; |
|
768 | 768 | } |
769 | 769 | |
770 | 770 | |
@@ -783,11 +783,11 @@ discard block |
||
783 | 783 | */ |
784 | 784 | private static function _generate_select_option_group($opt_group, $QSOs, $answer, $use_html_entities = true) |
785 | 785 | { |
786 | - $html = "\n\t\t\t\t" . '<optgroup label="' . self::prep_option_value($opt_group) . '">'; |
|
786 | + $html = "\n\t\t\t\t".'<optgroup label="'.self::prep_option_value($opt_group).'">'; |
|
787 | 787 | foreach ($QSOs as $QSO) { |
788 | 788 | $html .= self::_generate_select_option($QSO->value(), $QSO->desc(), $answer, false, $use_html_entities); |
789 | 789 | } |
790 | - $html .= "\n\t\t\t\t" . '</optgroup>'; |
|
790 | + $html .= "\n\t\t\t\t".'</optgroup>'; |
|
791 | 791 | return $html; |
792 | 792 | } |
793 | 793 | |
@@ -807,8 +807,8 @@ discard block |
||
807 | 807 | $key = self::prep_answer($key, $use_html_entities); |
808 | 808 | $value = self::prep_answer($value, $use_html_entities); |
809 | 809 | $value = ! empty($value) ? $value : $key; |
810 | - $selected = ( $answer == $key || $only_option ) ? ' selected="selected"' : ''; |
|
811 | - return "\n\t\t\t\t" . '<option value="' . self::prep_option_value($key) . '"' . $selected . '> ' . $value . ' </option>'; |
|
810 | + $selected = ($answer == $key || $only_option) ? ' selected="selected"' : ''; |
|
811 | + return "\n\t\t\t\t".'<option value="'.self::prep_option_value($key).'"'.$selected.'> '.$value.' </option>'; |
|
812 | 812 | } |
813 | 813 | |
814 | 814 | |
@@ -835,7 +835,7 @@ discard block |
||
835 | 835 | public static function radio($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true, $label_b4 = false, $use_desc_4_label = false) |
836 | 836 | { |
837 | 837 | // need these |
838 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
838 | + if ( ! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
839 | 839 | return null; |
840 | 840 | } |
841 | 841 | // prep the answer |
@@ -843,46 +843,46 @@ discard block |
||
843 | 843 | // prep the required array |
844 | 844 | $required = self::prep_required($required); |
845 | 845 | // set disabled tag |
846 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
846 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
847 | 847 | // ya gots ta have style man!!! |
848 | 848 | $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
849 | 849 | $class = ! empty($class) ? $class : 'espresso-radio-btn-inp'; |
850 | 850 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
851 | 851 | |
852 | - $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
852 | + $label_html = $required_text."\n\t\t\t".'<label class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label> '; |
|
853 | 853 | // filter label but ensure required text comes before it |
854 | 854 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
855 | 855 | |
856 | - $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-radio-btn-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
856 | + $input_html = "\n\t\t\t".'<ul id="'.$id.'-ul" class="espresso-radio-btn-options-ul '.$label_class.' '.$class.'-ul">'; |
|
857 | 857 | |
858 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
859 | - $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
858 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
859 | + $class .= ! empty($required['class']) ? ' '.$required['class'] : ''; |
|
860 | 860 | |
861 | 861 | foreach ($options as $OPT) { |
862 | 862 | if ($OPT instanceof EE_Question_Option) { |
863 | 863 | $value = self::prep_option_value($OPT->value()); |
864 | 864 | $label = $use_desc_4_label ? $OPT->desc() : $OPT->value(); |
865 | - $size = $use_desc_4_label ? self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()) : self::get_label_size_class($OPT->value()); |
|
866 | - $desc = $OPT->desc();// no self::prep_answer |
|
865 | + $size = $use_desc_4_label ? self::get_label_size_class($OPT->value().' '.$OPT->desc()) : self::get_label_size_class($OPT->value()); |
|
866 | + $desc = $OPT->desc(); // no self::prep_answer |
|
867 | 867 | $answer = is_numeric($value) && empty($answer) ? 0 : $answer; |
868 | 868 | $checked = (string) $value == (string) $answer ? ' checked="checked"' : ''; |
869 | - $opt = '-' . sanitize_key($value); |
|
870 | - |
|
871 | - $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
872 | - $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-radio-btn-lbl">'; |
|
873 | - $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $label . '</span>' : ''; |
|
874 | - $input_html .= "\n\t\t\t\t\t\t" . '<input type="radio" name="' . $name . '" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
875 | - $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span class="espresso-radio-btn-desc">' . $label . '</span>' : ''; |
|
876 | - $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
877 | - $input_html .= $use_desc_4_label ? '' : '<span class="espresso-radio-btn-option-desc small-text grey-text">' . $desc . '</span>'; |
|
878 | - $input_html .= "\n\t\t\t\t" . '</li>'; |
|
869 | + $opt = '-'.sanitize_key($value); |
|
870 | + |
|
871 | + $input_html .= "\n\t\t\t\t".'<li'.$size.'>'; |
|
872 | + $input_html .= "\n\t\t\t\t\t".'<label class="'.$radio_class.' espresso-radio-btn-lbl">'; |
|
873 | + $input_html .= $label_b4 ? "\n\t\t\t\t\t\t".'<span>'.$label.'</span>' : ''; |
|
874 | + $input_html .= "\n\t\t\t\t\t\t".'<input type="radio" name="'.$name.'" id="'.$id.$opt.'" class="'.$class.'" value="'.$value.'" title="'.esc_attr($required['msg']).'" '.$disabled.$checked.' '.$extra.'/>'; |
|
875 | + $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t".'<span class="espresso-radio-btn-desc">'.$label.'</span>' : ''; |
|
876 | + $input_html .= "\n\t\t\t\t\t".'</label>'; |
|
877 | + $input_html .= $use_desc_4_label ? '' : '<span class="espresso-radio-btn-option-desc small-text grey-text">'.$desc.'</span>'; |
|
878 | + $input_html .= "\n\t\t\t\t".'</li>'; |
|
879 | 879 | } |
880 | 880 | } |
881 | 881 | |
882 | - $input_html .= "\n\t\t\t" . '</ul>'; |
|
882 | + $input_html .= "\n\t\t\t".'</ul>'; |
|
883 | 883 | |
884 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
885 | - return $label_html . $input_html; |
|
884 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
885 | + return $label_html.$input_html; |
|
886 | 886 | } |
887 | 887 | |
888 | 888 | |
@@ -907,62 +907,62 @@ discard block |
||
907 | 907 | public static function checkbox($question = false, $answer = null, $options = false, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $label_b4 = false, $system_ID = false, $use_html_entities = true) |
908 | 908 | { |
909 | 909 | // need these |
910 | - if (! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
910 | + if ( ! $question || ! $name || ! $options || empty($options) || ! is_array($options)) { |
|
911 | 911 | return null; |
912 | 912 | } |
913 | 913 | $answer = maybe_unserialize($answer); |
914 | 914 | |
915 | 915 | // prep the answer(s) |
916 | - $answer = is_array($answer) ? $answer : array( sanitize_key($answer) => $answer ); |
|
916 | + $answer = is_array($answer) ? $answer : array(sanitize_key($answer) => $answer); |
|
917 | 917 | |
918 | 918 | foreach ($answer as $key => $value) { |
919 | 919 | $key = self::prep_option_value($key); |
920 | - $answer[ $key ] = self::prep_answer($value, $use_html_entities); |
|
920 | + $answer[$key] = self::prep_answer($value, $use_html_entities); |
|
921 | 921 | } |
922 | 922 | |
923 | 923 | // prep the required array |
924 | 924 | $required = self::prep_required($required); |
925 | 925 | // set disabled tag |
926 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
926 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
927 | 927 | // ya gots ta have style man!!! |
928 | 928 | $radio_class = is_admin() ? 'ee-admin-radio-lbl' : $label_class; |
929 | 929 | $class = empty($class) ? 'espresso-radio-btn-inp' : $class; |
930 | 930 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
931 | 931 | |
932 | - $label_html = $required_text . "\n\t\t\t" . '<label class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label> '; |
|
932 | + $label_html = $required_text."\n\t\t\t".'<label class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label> '; |
|
933 | 933 | // filter label but ensure required text comes before it |
934 | 934 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
935 | 935 | |
936 | - $input_html = "\n\t\t\t" . '<ul id="' . $id . '-ul" class="espresso-checkbox-options-ul ' . $label_class . ' ' . $class . '-ul">'; |
|
936 | + $input_html = "\n\t\t\t".'<ul id="'.$id.'-ul" class="espresso-checkbox-options-ul '.$label_class.' '.$class.'-ul">'; |
|
937 | 937 | |
938 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
939 | - $class .= ! empty($required['class']) ? ' ' . $required['class'] : ''; |
|
938 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
939 | + $class .= ! empty($required['class']) ? ' '.$required['class'] : ''; |
|
940 | 940 | |
941 | 941 | foreach ($options as $OPT) { |
942 | - $value = $OPT->value();// self::prep_option_value( $OPT->value() ); |
|
943 | - $size = self::get_label_size_class($OPT->value() . ' ' . $OPT->desc()); |
|
942 | + $value = $OPT->value(); // self::prep_option_value( $OPT->value() ); |
|
943 | + $size = self::get_label_size_class($OPT->value().' '.$OPT->desc()); |
|
944 | 944 | $text = self::prep_answer($OPT->value()); |
945 | - $desc = $OPT->desc() ; |
|
946 | - $opt = '-' . sanitize_key($value); |
|
945 | + $desc = $OPT->desc(); |
|
946 | + $opt = '-'.sanitize_key($value); |
|
947 | 947 | |
948 | 948 | $checked = is_array($answer) && in_array($text, $answer) ? ' checked="checked"' : ''; |
949 | 949 | |
950 | - $input_html .= "\n\t\t\t\t" . '<li' . $size . '>'; |
|
951 | - $input_html .= "\n\t\t\t\t\t" . '<label class="' . $radio_class . ' espresso-checkbox-lbl">'; |
|
952 | - $input_html .= $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
953 | - $input_html .= "\n\t\t\t\t\t\t" . '<input type="checkbox" name="' . $name . '[' . $OPT->ID() . ']" id="' . $id . $opt . '" class="' . $class . '" value="' . $value . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . $checked . ' ' . $extra . '/>'; |
|
954 | - $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t" . '<span>' . $text . '</span>' : ''; |
|
955 | - $input_html .= "\n\t\t\t\t\t" . '</label>'; |
|
956 | - if (! empty($desc) && $desc != $text) { |
|
957 | - $input_html .= "\n\t\t\t\t\t" . ' <br/><div class="espresso-checkbox-option-desc small-text grey-text">' . $desc . '</div>'; |
|
950 | + $input_html .= "\n\t\t\t\t".'<li'.$size.'>'; |
|
951 | + $input_html .= "\n\t\t\t\t\t".'<label class="'.$radio_class.' espresso-checkbox-lbl">'; |
|
952 | + $input_html .= $label_b4 ? "\n\t\t\t\t\t\t".'<span>'.$text.'</span>' : ''; |
|
953 | + $input_html .= "\n\t\t\t\t\t\t".'<input type="checkbox" name="'.$name.'['.$OPT->ID().']" id="'.$id.$opt.'" class="'.$class.'" value="'.$value.'" title="'.esc_attr($required['msg']).'" '.$disabled.$checked.' '.$extra.'/>'; |
|
954 | + $input_html .= ! $label_b4 ? "\n\t\t\t\t\t\t".'<span>'.$text.'</span>' : ''; |
|
955 | + $input_html .= "\n\t\t\t\t\t".'</label>'; |
|
956 | + if ( ! empty($desc) && $desc != $text) { |
|
957 | + $input_html .= "\n\t\t\t\t\t".' <br/><div class="espresso-checkbox-option-desc small-text grey-text">'.$desc.'</div>'; |
|
958 | 958 | } |
959 | - $input_html .= "\n\t\t\t\t" . '</li>'; |
|
959 | + $input_html .= "\n\t\t\t\t".'</li>'; |
|
960 | 960 | } |
961 | 961 | |
962 | - $input_html .= "\n\t\t\t" . '</ul>'; |
|
962 | + $input_html .= "\n\t\t\t".'</ul>'; |
|
963 | 963 | |
964 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
965 | - return $label_html . $input_html; |
|
964 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
965 | + return $label_html.$input_html; |
|
966 | 966 | } |
967 | 967 | |
968 | 968 | |
@@ -986,7 +986,7 @@ discard block |
||
986 | 986 | public static function datepicker($question = false, $answer = null, $name = false, $id = '', $class = '', $required = false, $required_text = '', $label_class = '', $disabled = false, $system_ID = false, $use_html_entities = true) |
987 | 987 | { |
988 | 988 | // need these |
989 | - if (! $question || ! $name) { |
|
989 | + if ( ! $question || ! $name) { |
|
990 | 990 | return null; |
991 | 991 | } |
992 | 992 | // prep the answer |
@@ -994,26 +994,26 @@ discard block |
||
994 | 994 | // prep the required array |
995 | 995 | $required = self::prep_required($required); |
996 | 996 | // set disabled tag |
997 | - $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
997 | + $disabled = $answer === null || ! $disabled ? '' : ' disabled="disabled"'; |
|
998 | 998 | // ya gots ta have style man!!! |
999 | 999 | $txt_class = is_admin() ? 'regular-text' : 'espresso-datepicker-inp'; |
1000 | 1000 | $class = empty($class) ? $txt_class : $class; |
1001 | - $class .= ! empty($system_ID) ? ' ' . $system_ID : ''; |
|
1001 | + $class .= ! empty($system_ID) ? ' '.$system_ID : ''; |
|
1002 | 1002 | $extra = apply_filters('FHEE__EEH_Form_Fields__additional_form_field_attributes', ''); |
1003 | 1003 | |
1004 | - $label_html = $required_text . "\n\t\t\t" . '<label for="' . $name . '" class="' . $label_class . '">' . self::prep_question($question) . $required['label'] . '</label><br/>'; |
|
1004 | + $label_html = $required_text."\n\t\t\t".'<label for="'.$name.'" class="'.$label_class.'">'.self::prep_question($question).$required['label'].'</label><br/>'; |
|
1005 | 1005 | // filter label but ensure required text comes before it |
1006 | 1006 | $label_html = apply_filters('FHEE__EEH_Form_Fields__label_html', $label_html, $required_text); |
1007 | 1007 | |
1008 | - $input_html = "\n\t\t\t" . '<input type="text" name="' . $name . '" id="' . $id . '" class="' . $class . ' ' . $required['class'] . ' datepicker" value="' . $answer . '" title="' . esc_attr($required['msg']) . '" ' . $disabled . ' ' . $extra . '/>'; |
|
1008 | + $input_html = "\n\t\t\t".'<input type="text" name="'.$name.'" id="'.$id.'" class="'.$class.' '.$required['class'].' datepicker" value="'.$answer.'" title="'.esc_attr($required['msg']).'" '.$disabled.' '.$extra.'/>'; |
|
1009 | 1009 | |
1010 | 1010 | // enqueue scripts |
1011 | - wp_register_style('espresso-ui-theme', EE_GLOBAL_ASSETS_URL . 'css/espresso-ui-theme/jquery-ui-1.10.3.custom.min.css', array(), EVENT_ESPRESSO_VERSION); |
|
1011 | + wp_register_style('espresso-ui-theme', EE_GLOBAL_ASSETS_URL.'css/espresso-ui-theme/jquery-ui-1.10.3.custom.min.css', array(), EVENT_ESPRESSO_VERSION); |
|
1012 | 1012 | wp_enqueue_style('espresso-ui-theme'); |
1013 | 1013 | wp_enqueue_script('jquery-ui-datepicker'); |
1014 | 1014 | |
1015 | - $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
1016 | - return $label_html . $input_html; |
|
1015 | + $input_html = apply_filters('FHEE__EEH_Form_Fields__input_html', $input_html, $label_html, $id); |
|
1016 | + return $label_html.$input_html; |
|
1017 | 1017 | } |
1018 | 1018 | |
1019 | 1019 | |
@@ -1042,7 +1042,7 @@ discard block |
||
1042 | 1042 | public static function hidden_input($name, $value, $id = '') |
1043 | 1043 | { |
1044 | 1044 | $id = ! empty($id) ? $id : $name; |
1045 | - return '<input id="' . $id . '" type="hidden" name="' . $name . '" value="' . $value . '"/>'; |
|
1045 | + return '<input id="'.$id.'" type="hidden" name="'.$name.'" value="'.$value.'"/>'; |
|
1046 | 1046 | } |
1047 | 1047 | |
1048 | 1048 | |
@@ -1100,14 +1100,14 @@ discard block |
||
1100 | 1100 | $prepped_answer_options = array(); |
1101 | 1101 | if (is_array($QSOs) && ! empty($QSOs)) { |
1102 | 1102 | foreach ($QSOs as $key => $QSO) { |
1103 | - if (! $QSO instanceof EE_Question_Option) { |
|
1103 | + if ( ! $QSO instanceof EE_Question_Option) { |
|
1104 | 1104 | $QSO = EE_Question_Option::new_instance(array( |
1105 | 1105 | 'QSO_value' => is_array($QSO) && isset($QSO['id']) ? (string) $QSO['id'] : (string) $key, |
1106 | 1106 | 'QSO_desc' => is_array($QSO) && isset($QSO['text']) ? (string) $QSO['text'] : (string) $QSO |
1107 | 1107 | )); |
1108 | 1108 | } |
1109 | 1109 | if ($QSO->opt_group()) { |
1110 | - $prepped_answer_options[ $QSO->opt_group() ][] = $QSO; |
|
1110 | + $prepped_answer_options[$QSO->opt_group()][] = $QSO; |
|
1111 | 1111 | } else { |
1112 | 1112 | $prepped_answer_options[] = $QSO; |
1113 | 1113 | } |
@@ -1141,7 +1141,7 @@ discard block |
||
1141 | 1141 | // make sure required is an array |
1142 | 1142 | $required = is_array($required) ? $required : array(); |
1143 | 1143 | // and set some defaults |
1144 | - $required = array_merge(array( 'label' => '', 'class' => '', 'msg' => '' ), $required); |
|
1144 | + $required = array_merge(array('label' => '', 'class' => '', 'msg' => ''), $required); |
|
1145 | 1145 | return $required; |
1146 | 1146 | } |
1147 | 1147 | |
@@ -1161,22 +1161,22 @@ discard block |
||
1161 | 1161 | $val_size = strlen($value); |
1162 | 1162 | switch ($val_size) { |
1163 | 1163 | case $val_size < 3: |
1164 | - $size = ' class="nano-lbl"'; |
|
1164 | + $size = ' class="nano-lbl"'; |
|
1165 | 1165 | break; |
1166 | 1166 | case $val_size < 6: |
1167 | - $size = ' class="micro-lbl"'; |
|
1167 | + $size = ' class="micro-lbl"'; |
|
1168 | 1168 | break; |
1169 | 1169 | case $val_size < 12: |
1170 | - $size = ' class="tiny-lbl"'; |
|
1170 | + $size = ' class="tiny-lbl"'; |
|
1171 | 1171 | break; |
1172 | 1172 | case $val_size < 25: |
1173 | - $size = ' class="small-lbl"'; |
|
1173 | + $size = ' class="small-lbl"'; |
|
1174 | 1174 | break; |
1175 | 1175 | case $val_size > 100: |
1176 | - $size = ' class="big-lbl"'; |
|
1176 | + $size = ' class="big-lbl"'; |
|
1177 | 1177 | break; |
1178 | 1178 | default: |
1179 | - $size = ' class="medium-lbl"'; |
|
1179 | + $size = ' class="medium-lbl"'; |
|
1180 | 1180 | break; |
1181 | 1181 | } |
1182 | 1182 | return $size; |
@@ -1250,7 +1250,7 @@ discard block |
||
1250 | 1250 | // if multiple countries, we'll create option groups within the dropdown |
1251 | 1251 | foreach ($states as $state) { |
1252 | 1252 | if ($state instanceof EE_State) { |
1253 | - $QSO = EE_Question_Option::new_instance(array ( |
|
1253 | + $QSO = EE_Question_Option::new_instance(array( |
|
1254 | 1254 | 'QSO_value' => $state->ID(), |
1255 | 1255 | 'QSO_desc' => $state->name(), |
1256 | 1256 | 'QST_ID' => $QST->get('QST_ID'), |
@@ -1283,7 +1283,7 @@ discard block |
||
1283 | 1283 | // now add countries |
1284 | 1284 | foreach ($countries as $country) { |
1285 | 1285 | if ($country instanceof EE_Country) { |
1286 | - $QSO = EE_Question_Option::new_instance(array ( |
|
1286 | + $QSO = EE_Question_Option::new_instance(array( |
|
1287 | 1287 | 'QSO_value' => $country->ID(), |
1288 | 1288 | 'QSO_desc' => $country->name(), |
1289 | 1289 | 'QST_ID' => $QST->get('QST_ID'), |
@@ -1309,7 +1309,7 @@ discard block |
||
1309 | 1309 | $options = array(); |
1310 | 1310 | for ($x = 1; $x <= 12; $x++) { |
1311 | 1311 | $mm = str_pad($x, 2, '0', STR_PAD_LEFT); |
1312 | - $options[ (string) $mm ] = (string) $mm; |
|
1312 | + $options[(string) $mm] = (string) $mm; |
|
1313 | 1313 | } |
1314 | 1314 | return EEH_Form_Fields::prep_answer_options($options); |
1315 | 1315 | } |
@@ -1329,7 +1329,7 @@ discard block |
||
1329 | 1329 | $next_decade = $current_year + 10; |
1330 | 1330 | for ($x = $current_year; $x <= $next_decade; $x++) { |
1331 | 1331 | $yy = str_pad($x, 2, '0', STR_PAD_LEFT); |
1332 | - $options[ (string) $yy ] = (string) $yy; |
|
1332 | + $options[(string) $yy] = (string) $yy; |
|
1333 | 1333 | } |
1334 | 1334 | return EEH_Form_Fields::prep_answer_options($options); |
1335 | 1335 | } |
@@ -1348,7 +1348,7 @@ discard block |
||
1348 | 1348 | public static function generate_registration_months_dropdown($cur_date = '', $status = '', $evt_category = 0) |
1349 | 1349 | { |
1350 | 1350 | $_where = array(); |
1351 | - if (!empty($status)) { |
|
1351 | + if ( ! empty($status)) { |
|
1352 | 1352 | $_where['STS_ID'] = $status; |
1353 | 1353 | } |
1354 | 1354 | |
@@ -1367,7 +1367,7 @@ discard block |
||
1367 | 1367 | ); |
1368 | 1368 | |
1369 | 1369 | foreach ($regdtts as $regdtt) { |
1370 | - $date = $regdtt->reg_month . ' ' . $regdtt->reg_year; |
|
1370 | + $date = $regdtt->reg_month.' '.$regdtt->reg_year; |
|
1371 | 1371 | $options[] = array( |
1372 | 1372 | 'text' => $date, |
1373 | 1373 | 'id' => $date |
@@ -1397,11 +1397,11 @@ discard block |
||
1397 | 1397 | case 'today': |
1398 | 1398 | case null: |
1399 | 1399 | case 'all': |
1400 | - $where['Event.status'] = array( 'NOT IN', array('trash') ); |
|
1400 | + $where['Event.status'] = array('NOT IN', array('trash')); |
|
1401 | 1401 | break; |
1402 | 1402 | |
1403 | 1403 | case 'draft': |
1404 | - $where['Event.status'] = array( 'IN', array('draft', 'auto-draft') ); |
|
1404 | + $where['Event.status'] = array('IN', array('draft', 'auto-draft')); |
|
1405 | 1405 | |
1406 | 1406 | default: |
1407 | 1407 | $where['Event.status'] = $status; |
@@ -1412,7 +1412,7 @@ discard block |
||
1412 | 1412 | // categories? |
1413 | 1413 | |
1414 | 1414 | |
1415 | - if (!empty($evt_category)) { |
|
1415 | + if ( ! empty($evt_category)) { |
|
1416 | 1416 | $where['Event.Term_Taxonomy.taxonomy'] = 'espresso_event_categories'; |
1417 | 1417 | $where['Event.Term_Taxonomy.term_id'] = $evt_category; |
1418 | 1418 | } |
@@ -1436,8 +1436,8 @@ discard block |
||
1436 | 1436 | global $wp_locale; |
1437 | 1437 | |
1438 | 1438 | foreach ($DTTS as $DTT) { |
1439 | - $localized_date = $wp_locale->get_month($DTT->dtt_month_num) . ' ' . $DTT->dtt_year; |
|
1440 | - $id = $DTT->dtt_month . ' ' . $DTT->dtt_year; |
|
1439 | + $localized_date = $wp_locale->get_month($DTT->dtt_month_num).' '.$DTT->dtt_year; |
|
1440 | + $id = $DTT->dtt_month.' '.$DTT->dtt_year; |
|
1441 | 1441 | $options[] = array( |
1442 | 1442 | 'text' => $localized_date, |
1443 | 1443 | 'id' => $id |
@@ -1500,10 +1500,10 @@ discard block |
||
1500 | 1500 | return $btn; |
1501 | 1501 | } |
1502 | 1502 | $text = ! empty($text) ? $text : __('Submit', 'event_espresso'); |
1503 | - $btn .= '<input id="' . $ID . '-btn" class="' . $class . '" type="submit" value="' . $text . '" ' . $extra_attributes . '/>'; |
|
1504 | - if (! $input_only) { |
|
1505 | - $btn_frm = '<form id="' . $ID . '-frm" method="POST" action="' . $url . '">'; |
|
1506 | - $btn_frm .= ! empty($nonce_action) ? wp_nonce_field($nonce_action, $nonce_action . '_nonce', true, false) : ''; |
|
1503 | + $btn .= '<input id="'.$ID.'-btn" class="'.$class.'" type="submit" value="'.$text.'" '.$extra_attributes.'/>'; |
|
1504 | + if ( ! $input_only) { |
|
1505 | + $btn_frm = '<form id="'.$ID.'-frm" method="POST" action="'.$url.'">'; |
|
1506 | + $btn_frm .= ! empty($nonce_action) ? wp_nonce_field($nonce_action, $nonce_action.'_nonce', true, false) : ''; |
|
1507 | 1507 | $btn_frm .= $btn; |
1508 | 1508 | $btn_frm .= '</form>'; |
1509 | 1509 | $btn = $btn_frm; |