|
@@ -125,8 +125,8 @@ discard block |
|
|
block discarded – undo |
|
125
|
125
|
|
|
126
|
126
|
$form = false; |
|
127
|
127
|
|
|
128
|
|
- if( $entry ) { |
|
129
|
|
- $form = GFAPI::get_form( $entry['form_id'] ); |
|
|
128
|
+ if ( $entry ) { |
|
|
129
|
+ $form = GFAPI::get_form( $entry[ 'form_id' ] ); |
|
130
|
130
|
} |
|
131
|
131
|
|
|
132
|
132
|
return $form; |
|
@@ -192,12 +192,12 @@ discard block |
|
|
block discarded – undo |
|
192
|
192
|
|
|
193
|
193
|
$has_transaction_data = \GV\Utils::get( $entry, $meta, false ); |
|
194
|
194
|
|
|
195
|
|
- if( ! empty( $has_transaction_data ) ) { |
|
|
195
|
+ if ( ! empty( $has_transaction_data ) ) { |
|
196
|
196
|
break; |
|
197
|
197
|
} |
|
198
|
198
|
} |
|
199
|
199
|
|
|
200
|
|
- return (bool) $has_transaction_data; |
|
|
200
|
+ return (bool)$has_transaction_data; |
|
201
|
201
|
} |
|
202
|
202
|
|
|
203
|
203
|
/** |
|
@@ -235,7 +235,7 @@ discard block |
|
|
block discarded – undo |
|
235
|
235
|
|
|
236
|
236
|
$results = GFAPI::get_entries( intval( $form_id ), $search_criteria, null, $paging ); |
|
237
|
237
|
|
|
238
|
|
- $result = ( ! empty( $results ) && ! empty( $results[0]['id'] ) ) ? $results[0]['id'] : null; |
|
|
238
|
+ $result = ( ! empty( $results ) && ! empty( $results[ 0 ][ 'id' ] ) ) ? $results[ 0 ][ 'id' ] : null; |
|
239
|
239
|
|
|
240
|
240
|
return $result; |
|
241
|
241
|
} |
|
@@ -252,10 +252,10 @@ discard block |
|
|
block discarded – undo |
|
252
|
252
|
* |
|
253
|
253
|
* @return array Empty array if GFAPI class isn't available or no forms. Otherwise, the array of Forms |
|
254
|
254
|
*/ |
|
255
|
|
- public static function get_forms( $active = true, $trash = false ) { |
|
|
255
|
+ public static function get_forms( $active = true, $trash = false ) { |
|
256
|
256
|
$forms = array(); |
|
257
|
257
|
if ( class_exists( 'GFAPI' ) ) { |
|
258
|
|
- if( 'any' === $active ) { |
|
|
258
|
+ if ( 'any' === $active ) { |
|
259
|
259
|
$active_forms = GFAPI::get_forms( true, $trash ); |
|
260
|
260
|
$inactive_forms = GFAPI::get_forms( false, $trash ); |
|
261
|
261
|
$forms = array_merge( array_filter( $active_forms ), array_filter( $inactive_forms ) ); |
|
@@ -286,9 +286,9 @@ discard block |
|
|
block discarded – undo |
|
286
|
286
|
$has_post_fields = false; |
|
287
|
287
|
|
|
288
|
288
|
if ( $form ) { |
|
289
|
|
- foreach ( $form['fields'] as $field ) { |
|
290
|
|
- if ( $include_parent_field || empty( $field['inputs'] ) ) { |
|
291
|
|
- $fields["{$field['id']}"] = array( |
|
|
289
|
+ foreach ( $form[ 'fields' ] as $field ) { |
|
|
290
|
+ if ( $include_parent_field || empty( $field[ 'inputs' ] ) ) { |
|
|
291
|
+ $fields[ "{$field[ 'id' ]}" ] = array( |
|
292
|
292
|
'label' => \GV\Utils::get( $field, 'label' ), |
|
293
|
293
|
'parent' => null, |
|
294
|
294
|
'type' => \GV\Utils::get( $field, 'type' ), |
|
@@ -297,10 +297,10 @@ discard block |
|
|
block discarded – undo |
|
297
|
297
|
); |
|
298
|
298
|
} |
|
299
|
299
|
|
|
300
|
|
- if ( $add_default_properties && ! empty( $field['inputs'] ) ) { |
|
301
|
|
- foreach ( $field['inputs'] as $input ) { |
|
|
300
|
+ if ( $add_default_properties && ! empty( $field[ 'inputs' ] ) ) { |
|
|
301
|
+ foreach ( $field[ 'inputs' ] as $input ) { |
|
302
|
302
|
|
|
303
|
|
- if( ! empty( $input['isHidden'] ) ) { |
|
|
303
|
+ if ( ! empty( $input[ 'isHidden' ] ) ) { |
|
304
|
304
|
continue; |
|
305
|
305
|
} |
|
306
|
306
|
|
|
@@ -308,10 +308,10 @@ discard block |
|
|
block discarded – undo |
|
308
|
308
|
* @hack |
|
309
|
309
|
* In case of email/email confirmation, the input for email has the same id as the parent field |
|
310
|
310
|
*/ |
|
311
|
|
- if( 'email' === $field['type'] && false === strpos( $input['id'], '.' ) ) { |
|
|
311
|
+ if ( 'email' === $field[ 'type' ] && false === strpos( $input[ 'id' ], '.' ) ) { |
|
312
|
312
|
continue; |
|
313
|
313
|
} |
|
314
|
|
- $fields["{$input['id']}"] = array( |
|
|
314
|
+ $fields[ "{$input[ 'id' ]}" ] = array( |
|
315
|
315
|
'label' => \GV\Utils::get( $input, 'label' ), |
|
316
|
316
|
'customLabel' => \GV\Utils::get( $input, 'customLabel' ), |
|
317
|
317
|
'parent' => $field, |
|
@@ -323,7 +323,7 @@ discard block |
|
|
block discarded – undo |
|
323
|
323
|
} |
|
324
|
324
|
|
|
325
|
325
|
|
|
326
|
|
- if( GFCommon::is_product_field( $field['type'] ) ){ |
|
|
326
|
+ if ( GFCommon::is_product_field( $field[ 'type' ] ) ) { |
|
327
|
327
|
$has_product_fields = true; |
|
328
|
328
|
} |
|
329
|
329
|
|
|
@@ -337,7 +337,7 @@ discard block |
|
|
block discarded – undo |
|
337
|
337
|
* @since 1.7 |
|
338
|
338
|
*/ |
|
339
|
339
|
if ( $has_post_fields ) { |
|
340
|
|
- $fields['post_id'] = array( |
|
|
340
|
+ $fields[ 'post_id' ] = array( |
|
341
|
341
|
'label' => __( 'Post ID', 'gravityview' ), |
|
342
|
342
|
'type' => 'post_id', |
|
343
|
343
|
); |
|
@@ -350,11 +350,11 @@ discard block |
|
|
block discarded – undo |
|
350
|
350
|
foreach ( $payment_fields as $payment_field ) { |
|
351
|
351
|
|
|
352
|
352
|
// Either the field exists ($fields['shipping']) or the form explicitly contains a `shipping` field with numeric key |
|
353
|
|
- if( isset( $fields["{$payment_field->name}"] ) || GFCommon::get_fields_by_type( $form, $payment_field->name ) ) { |
|
|
353
|
+ if ( isset( $fields[ "{$payment_field->name}" ] ) || GFCommon::get_fields_by_type( $form, $payment_field->name ) ) { |
|
354
|
354
|
continue; |
|
355
|
355
|
} |
|
356
|
356
|
|
|
357
|
|
- $fields["{$payment_field->name}"] = array( |
|
|
357
|
+ $fields[ "{$payment_field->name}" ] = array( |
|
358
|
358
|
'label' => $payment_field->label, |
|
359
|
359
|
'desc' => $payment_field->description, |
|
360
|
360
|
'type' => $payment_field->name, |
|
@@ -386,9 +386,9 @@ discard block |
|
|
block discarded – undo |
|
386
|
386
|
|
|
387
|
387
|
$fields = array(); |
|
388
|
388
|
|
|
389
|
|
- foreach ( $extra_fields as $key => $field ){ |
|
390
|
|
- if ( ! empty( $only_default_column ) && ! empty( $field['is_default_column'] ) ) { |
|
391
|
|
- $fields[ $key ] = array( 'label' => $field['label'], 'type' => 'entry_meta' ); |
|
|
389
|
+ foreach ( $extra_fields as $key => $field ) { |
|
|
390
|
+ if ( ! empty( $only_default_column ) && ! empty( $field[ 'is_default_column' ] ) ) { |
|
|
391
|
+ $fields[ $key ] = array( 'label' => $field[ 'label' ], 'type' => 'entry_meta' ); |
|
392
|
392
|
} |
|
393
|
393
|
} |
|
394
|
394
|
|
|
@@ -428,33 +428,33 @@ discard block |
|
|
block discarded – undo |
|
428
|
428
|
'search_criteria' => null, |
|
429
|
429
|
'sorting' => null, |
|
430
|
430
|
'paging' => null, |
|
431
|
|
- 'cache' => (isset( $passed_criteria['cache'] ) ? (bool) $passed_criteria['cache'] : true), |
|
|
431
|
+ 'cache' => ( isset( $passed_criteria[ 'cache' ] ) ? (bool)$passed_criteria[ 'cache' ] : true ), |
|
432
|
432
|
'context_view_id' => null, |
|
433
|
433
|
); |
|
434
|
434
|
|
|
435
|
435
|
$criteria = wp_parse_args( $passed_criteria, $search_criteria_defaults ); |
|
436
|
436
|
|
|
437
|
|
- if ( ! empty( $criteria['search_criteria']['field_filters'] ) ) { |
|
438
|
|
- foreach ( $criteria['search_criteria']['field_filters'] as &$filter ) { |
|
|
437
|
+ if ( ! empty( $criteria[ 'search_criteria' ][ 'field_filters' ] ) ) { |
|
|
438
|
+ foreach ( $criteria[ 'search_criteria' ][ 'field_filters' ] as &$filter ) { |
|
439
|
439
|
|
|
440
|
440
|
if ( ! is_array( $filter ) ) { |
|
441
|
441
|
continue; |
|
442
|
442
|
} |
|
443
|
443
|
|
|
444
|
444
|
// By default, we want searches to be wildcard for each field. |
|
445
|
|
- $filter['operator'] = empty( $filter['operator'] ) ? 'contains' : $filter['operator']; |
|
|
445
|
+ $filter[ 'operator' ] = empty( $filter[ 'operator' ] ) ? 'contains' : $filter[ 'operator' ]; |
|
446
|
446
|
|
|
447
|
447
|
/** |
|
448
|
448
|
* @filter `gravityview_search_operator` Modify the search operator for the field (contains, is, isnot, etc) |
|
449
|
449
|
* @param string $operator Existing search operator |
|
450
|
450
|
* @param array $filter array with `key`, `value`, `operator`, `type` keys |
|
451
|
451
|
*/ |
|
452
|
|
- $filter['operator'] = apply_filters( 'gravityview_search_operator', $filter['operator'], $filter ); |
|
|
452
|
+ $filter[ 'operator' ] = apply_filters( 'gravityview_search_operator', $filter[ 'operator' ], $filter ); |
|
453
|
453
|
} |
|
454
|
454
|
|
|
455
|
455
|
// don't send just the [mode] without any field filter. |
|
456
|
|
- if( count( $criteria['search_criteria']['field_filters'] ) === 1 && array_key_exists( 'mode' , $criteria['search_criteria']['field_filters'] ) ) { |
|
457
|
|
- unset( $criteria['search_criteria']['field_filters']['mode'] ); |
|
|
456
|
+ if ( count( $criteria[ 'search_criteria' ][ 'field_filters' ] ) === 1 && array_key_exists( 'mode', $criteria[ 'search_criteria' ][ 'field_filters' ] ) ) { |
|
|
457
|
+ unset( $criteria[ 'search_criteria' ][ 'field_filters' ][ 'mode' ] ); |
|
458
|
458
|
} |
|
459
|
459
|
|
|
460
|
460
|
} |
|
@@ -465,33 +465,33 @@ discard block |
|
|
block discarded – undo |
|
465
|
465
|
* Prepare date formats to be in Gravity Forms DB format; |
|
466
|
466
|
* $passed_criteria may include date formats incompatible with Gravity Forms. |
|
467
|
467
|
*/ |
|
468
|
|
- foreach ( array('start_date', 'end_date' ) as $key ) { |
|
|
468
|
+ foreach ( array( 'start_date', 'end_date' ) as $key ) { |
|
469
|
469
|
|
|
470
|
|
- if ( ! empty( $criteria['search_criteria'][ $key ] ) ) { |
|
|
470
|
+ if ( ! empty( $criteria[ 'search_criteria' ][ $key ] ) ) { |
|
471
|
471
|
|
|
472
|
472
|
// Use date_create instead of new DateTime so it returns false if invalid date format. |
|
473
|
|
- $date = date_create( $criteria['search_criteria'][ $key ] ); |
|
|
473
|
+ $date = date_create( $criteria[ 'search_criteria' ][ $key ] ); |
|
474
|
474
|
|
|
475
|
475
|
if ( $date ) { |
|
476
|
476
|
// Gravity Forms wants dates in the `Y-m-d H:i:s` format. |
|
477
|
|
- $criteria['search_criteria'][ $key ] = $date->format( 'Y-m-d H:i:s' ); |
|
|
477
|
+ $criteria[ 'search_criteria' ][ $key ] = $date->format( 'Y-m-d H:i:s' ); |
|
478
|
478
|
} else { |
|
479
|
|
- gravityview()->log->error( '{key} Date format not valid:', array( 'key' => $key, $criteria['search_criteria'][ $key ] ) ); |
|
|
479
|
+ gravityview()->log->error( '{key} Date format not valid:', array( 'key' => $key, $criteria[ 'search_criteria' ][ $key ] ) ); |
|
480
|
480
|
|
|
481
|
481
|
// If it's an invalid date, unset it. Gravity Forms freaks out otherwise. |
|
482
|
|
- unset( $criteria['search_criteria'][ $key ] ); |
|
|
482
|
+ unset( $criteria[ 'search_criteria' ][ $key ] ); |
|
483
|
483
|
} |
|
484
|
484
|
} |
|
485
|
485
|
} |
|
486
|
486
|
|
|
487
|
|
- if ( empty( $criteria['context_view_id'] ) ) { |
|
|
487
|
+ if ( empty( $criteria[ 'context_view_id' ] ) ) { |
|
488
|
488
|
// Calculate the context view id and send it to the advanced filter |
|
489
|
489
|
if ( GravityView_frontend::getInstance()->getSingleEntry() ) { |
|
490
|
|
- $criteria['context_view_id'] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
|
490
|
+ $criteria[ 'context_view_id' ] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
491
|
491
|
} else if ( class_exists( 'GravityView_View_Data' ) && GravityView_View_Data::getInstance() && GravityView_View_Data::getInstance()->has_multiple_views() ) { |
|
492
|
|
- $criteria['context_view_id'] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
|
492
|
+ $criteria[ 'context_view_id' ] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
493
|
493
|
} else if ( 'delete' === GFForms::get( 'action' ) ) { |
|
494
|
|
- $criteria['context_view_id'] = isset( $_GET['view_id'] ) ? intval( $_GET['view_id'] ) : null; |
|
|
494
|
+ $criteria[ 'context_view_id' ] = isset( $_GET[ 'view_id' ] ) ? intval( $_GET[ 'view_id' ] ) : null; |
|
495
|
495
|
} |
|
496
|
496
|
} |
|
497
|
497
|
|
|
@@ -501,7 +501,7 @@ discard block |
|
|
block discarded – undo |
|
501
|
501
|
* @param array $form_ids Forms to search |
|
502
|
502
|
* @param int $view_id ID of the view being used to search |
|
503
|
503
|
*/ |
|
504
|
|
- $criteria = apply_filters( 'gravityview_search_criteria', $criteria, $form_ids, $criteria['context_view_id'] ); |
|
|
504
|
+ $criteria = apply_filters( 'gravityview_search_criteria', $criteria, $form_ids, $criteria[ 'context_view_id' ] ); |
|
505
|
505
|
|
|
506
|
506
|
return (array)$criteria; |
|
507
|
507
|
} |
|
@@ -531,7 +531,7 @@ discard block |
|
|
block discarded – undo |
|
531
|
531
|
/** Reduce # of database calls */ |
|
532
|
532
|
add_filter( 'gform_is_encrypted_field', '__return_false' ); |
|
533
|
533
|
|
|
534
|
|
- if ( ! empty( $criteria['cache'] ) ) { |
|
|
534
|
+ if ( ! empty( $criteria[ 'cache' ] ) ) { |
|
535
|
535
|
|
|
536
|
536
|
$Cache = new GravityView_Cache( $form_ids, $criteria ); |
|
537
|
537
|
|
|
@@ -539,7 +539,7 @@ discard block |
|
|
block discarded – undo |
|
539
|
539
|
|
|
540
|
540
|
// Still update the total count when using cached results |
|
541
|
541
|
if ( ! is_null( $total ) ) { |
|
542
|
|
- $total = GFAPI::count_entries( $form_ids, $criteria['search_criteria'] ); |
|
|
542
|
+ $total = GFAPI::count_entries( $form_ids, $criteria[ 'search_criteria' ] ); |
|
543
|
543
|
} |
|
544
|
544
|
|
|
545
|
545
|
$return = $entries; |
|
@@ -560,9 +560,9 @@ discard block |
|
|
block discarded – undo |
|
560
|
560
|
$entries = apply_filters( 'gravityview_before_get_entries', null, $criteria, $passed_criteria, $total ); |
|
561
|
561
|
|
|
562
|
562
|
// No entries returned from gravityview_before_get_entries |
|
563
|
|
- if( is_null( $entries ) ) { |
|
|
563
|
+ if ( is_null( $entries ) ) { |
|
564
|
564
|
|
|
565
|
|
- $entries = GFAPI::get_entries( $form_ids, $criteria['search_criteria'], $criteria['sorting'], $criteria['paging'], $total ); |
|
|
565
|
+ $entries = GFAPI::get_entries( $form_ids, $criteria[ 'search_criteria' ], $criteria[ 'sorting' ], $criteria[ 'paging' ], $total ); |
|
566
|
566
|
|
|
567
|
567
|
if ( is_wp_error( $entries ) ) { |
|
568
|
568
|
gravityview()->log->error( '{error}', array( 'error' => $entries->get_error_message(), 'data' => $entries ) ); |
|
@@ -573,7 +573,7 @@ discard block |
|
|
block discarded – undo |
|
573
|
573
|
} |
|
574
|
574
|
} |
|
575
|
575
|
|
|
576
|
|
- if ( ! empty( $criteria['cache'] ) && isset( $Cache ) ) { |
|
|
576
|
+ if ( ! empty( $criteria[ 'cache' ] ) && isset( $Cache ) ) { |
|
577
|
577
|
|
|
578
|
578
|
// Cache results |
|
579
|
579
|
$Cache->set( $entries, 'entries' ); |
|
@@ -680,12 +680,12 @@ discard block |
|
|
block discarded – undo |
|
680
|
680
|
*/ |
|
681
|
681
|
$check_entry_display = apply_filters( 'gravityview/common/get_entry/check_entry_display', $check_entry_display, $entry ); |
|
682
|
682
|
|
|
683
|
|
- if( $check_entry_display ) { |
|
|
683
|
+ if ( $check_entry_display ) { |
|
684
|
684
|
// Is the entry allowed |
|
685
|
685
|
$entry = self::check_entry_display( $entry ); |
|
686
|
686
|
} |
|
687
|
687
|
|
|
688
|
|
- if( is_wp_error( $entry ) ) { |
|
|
688
|
+ if ( is_wp_error( $entry ) ) { |
|
689
|
689
|
gravityview()->log->error( '{error}', array( 'error' => $entry->get_error_message() ) ); |
|
690
|
690
|
return false; |
|
691
|
691
|
} |
|
@@ -713,7 +713,7 @@ discard block |
|
|
block discarded – undo |
|
713
|
713
|
*/ |
|
714
|
714
|
public static function matches_operation( $val1, $val2, $operation ) { |
|
715
|
715
|
|
|
716
|
|
- $json_function = function_exists('wp_json_encode') ? 'wp_json_encode' : 'json_encode'; |
|
|
716
|
+ $json_function = function_exists( 'wp_json_encode' ) ? 'wp_json_encode' : 'json_encode'; |
|
717
|
717
|
|
|
718
|
718
|
// Only process strings |
|
719
|
719
|
$val1 = ! is_string( $val1 ) ? $json_function( $val1 ) : $val1; |
|
@@ -721,12 +721,12 @@ discard block |
|
|
block discarded – undo |
|
721
|
721
|
|
|
722
|
722
|
$value = false; |
|
723
|
723
|
|
|
724
|
|
- if( 'context' === $val1 ) { |
|
|
724
|
+ if ( 'context' === $val1 ) { |
|
725
|
725
|
|
|
726
|
726
|
$matching_contexts = array( $val2 ); |
|
727
|
727
|
|
|
728
|
728
|
// We allow for non-standard contexts. |
|
729
|
|
- switch( $val2 ) { |
|
|
729
|
+ switch ( $val2 ) { |
|
730
|
730
|
// Check for either single or edit |
|
731
|
731
|
case 'singular': |
|
732
|
732
|
$matching_contexts = array( 'single', 'edit' ); |
|
@@ -769,7 +769,7 @@ discard block |
|
|
block discarded – undo |
|
769
|
769
|
$json_val_1 = json_decode( $val1, true ); |
|
770
|
770
|
$json_val_2 = json_decode( $val2, true ); |
|
771
|
771
|
|
|
772
|
|
- if( ! empty( $json_val_1 ) || ! empty( $json_val_2 ) ) { |
|
|
772
|
+ if ( ! empty( $json_val_1 ) || ! empty( $json_val_2 ) ) { |
|
773
|
773
|
|
|
774
|
774
|
$json_in = false; |
|
775
|
775
|
$json_val_1 = $json_val_1 ? $json_val_1 : array( $val1 ); |
|
@@ -780,7 +780,7 @@ discard block |
|
|
block discarded – undo |
|
780
|
780
|
foreach ( $json_val_2 as $item_2 ) { |
|
781
|
781
|
$json_in = self::matches_operation( $item_1, $item_2, 'is' ); |
|
782
|
782
|
|
|
783
|
|
- if( $json_in ) { |
|
|
783
|
+ if ( $json_in ) { |
|
784
|
784
|
break 2; |
|
785
|
785
|
} |
|
786
|
786
|
} |
|
@@ -828,62 +828,62 @@ discard block |
|
|
block discarded – undo |
|
828
|
828
|
public static function check_entry_display( $entry ) { |
|
829
|
829
|
|
|
830
|
830
|
if ( ! $entry || is_wp_error( $entry ) ) { |
|
831
|
|
- return new WP_Error('entry_not_found', 'Entry was not found.', $entry ); |
|
|
831
|
+ return new WP_Error( 'entry_not_found', 'Entry was not found.', $entry ); |
|
832
|
832
|
} |
|
833
|
833
|
|
|
834
|
|
- if ( empty( $entry['form_id'] ) ) { |
|
|
834
|
+ if ( empty( $entry[ 'form_id' ] ) ) { |
|
835
|
835
|
return new WP_Error( 'form_id_not_set', '[apply_filters_to_entry] Entry is empty!', $entry ); |
|
836
|
836
|
} |
|
837
|
837
|
|
|
838
|
838
|
$criteria = self::calculate_get_entries_criteria(); |
|
839
|
839
|
|
|
840
|
|
- if ( empty( $criteria['search_criteria'] ) || ! is_array( $criteria['search_criteria'] ) ) { |
|
|
840
|
+ if ( empty( $criteria[ 'search_criteria' ] ) || ! is_array( $criteria[ 'search_criteria' ] ) ) { |
|
841
|
841
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved! No search criteria found:', array( 'data' => $criteria ) ); |
|
842
|
842
|
return $entry; |
|
843
|
843
|
} |
|
844
|
844
|
|
|
845
|
845
|
// Make sure the current View is connected to the same form as the Entry |
|
846
|
|
- if( ! empty( $criteria['context_view_id'] ) ) { |
|
847
|
|
- $context_view_id = intval( $criteria['context_view_id'] ); |
|
|
846
|
+ if ( ! empty( $criteria[ 'context_view_id' ] ) ) { |
|
|
847
|
+ $context_view_id = intval( $criteria[ 'context_view_id' ] ); |
|
848
|
848
|
$context_form_id = gravityview_get_form_id( $context_view_id ); |
|
849
|
|
- if( intval( $context_form_id ) !== intval( $entry['form_id'] ) ) { |
|
850
|
|
- return new WP_Error( 'view_id_not_match', sprintf( '[apply_filters_to_entry] Entry form ID does not match current View connected form ID:', $entry['form_id'] ), $criteria['context_view_id'] ); |
|
|
849
|
+ if ( intval( $context_form_id ) !== intval( $entry[ 'form_id' ] ) ) { |
|
|
850
|
+ return new WP_Error( 'view_id_not_match', sprintf( '[apply_filters_to_entry] Entry form ID does not match current View connected form ID:', $entry[ 'form_id' ] ), $criteria[ 'context_view_id' ] ); |
|
851
|
851
|
} |
|
852
|
852
|
} |
|
853
|
853
|
|
|
854
|
|
- $search_criteria = $criteria['search_criteria']; |
|
|
854
|
+ $search_criteria = $criteria[ 'search_criteria' ]; |
|
855
|
855
|
|
|
856
|
856
|
// check entry status |
|
857
|
|
- if ( array_key_exists( 'status', $search_criteria ) && $search_criteria['status'] != $entry['status'] ) { |
|
858
|
|
- return new WP_Error( 'status_not_valid', sprintf( '[apply_filters_to_entry] Entry status - %s - is not valid according to filter:', $entry['status'] ), $search_criteria ); |
|
|
857
|
+ if ( array_key_exists( 'status', $search_criteria ) && $search_criteria[ 'status' ] != $entry[ 'status' ] ) { |
|
|
858
|
+ return new WP_Error( 'status_not_valid', sprintf( '[apply_filters_to_entry] Entry status - %s - is not valid according to filter:', $entry[ 'status' ] ), $search_criteria ); |
|
859
|
859
|
} |
|
860
|
860
|
|
|
861
|
861
|
// check entry date |
|
862
|
862
|
// @todo: Does it make sense to apply the Date create filters to the single entry? |
|
863
|
863
|
|
|
864
|
864
|
// field_filters |
|
865
|
|
- if ( empty( $search_criteria['field_filters'] ) || ! is_array( $search_criteria['field_filters'] ) ) { |
|
|
865
|
+ if ( empty( $search_criteria[ 'field_filters' ] ) || ! is_array( $search_criteria[ 'field_filters' ] ) ) { |
|
866
|
866
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved! No field filters criteria found:', array( 'data' => $search_criteria ) ); |
|
867
|
867
|
return $entry; |
|
868
|
868
|
} |
|
869
|
869
|
|
|
870
|
|
- $filters = $search_criteria['field_filters']; |
|
|
870
|
+ $filters = $search_criteria[ 'field_filters' ]; |
|
871
|
871
|
|
|
872
|
|
- $mode = array_key_exists( 'mode', $filters ) ? strtolower( $filters['mode'] ) : 'all'; |
|
|
872
|
+ $mode = array_key_exists( 'mode', $filters ) ? strtolower( $filters[ 'mode' ] ) : 'all'; |
|
873
|
873
|
|
|
874
|
874
|
// Prevent the mode from being processed below |
|
875
|
|
- unset( $filters['mode'] ); |
|
|
875
|
+ unset( $filters[ 'mode' ] ); |
|
876
|
876
|
|
|
877
|
|
- $form = self::get_form( $entry['form_id'] ); |
|
|
877
|
+ $form = self::get_form( $entry[ 'form_id' ] ); |
|
878
|
878
|
|
|
879
|
879
|
foreach ( $filters as $filter ) { |
|
880
|
880
|
|
|
881
|
|
- if ( ! isset( $filter['key'] ) ) { |
|
|
881
|
+ if ( ! isset( $filter[ 'key' ] ) ) { |
|
882
|
882
|
gravityview()->log->debug( '[apply_filters_to_entry] Filter key not set: {filter}', array( 'filter' => $filter ) ); |
|
883
|
883
|
continue; |
|
884
|
884
|
} |
|
885
|
885
|
|
|
886
|
|
- $k = $filter['key']; |
|
|
886
|
+ $k = $filter[ 'key' ]; |
|
887
|
887
|
|
|
888
|
888
|
$field = self::get_field( $form, $k ); |
|
889
|
889
|
|
|
@@ -891,14 +891,14 @@ discard block |
|
|
block discarded – undo |
|
891
|
891
|
$field_value = isset( $entry[ $k ] ) ? $entry[ $k ] : null; |
|
892
|
892
|
$field = $k; |
|
893
|
893
|
} else { |
|
894
|
|
- $field_value = GFFormsModel::get_lead_field_value( $entry, $field ); |
|
|
894
|
+ $field_value = GFFormsModel::get_lead_field_value( $entry, $field ); |
|
895
|
895
|
// If it's a complex field, then fetch the input's value, if exists at the current key. Otherwise, let GF handle it |
|
896
|
896
|
$field_value = ( is_array( $field_value ) && isset( $field_value[ $k ] ) ) ? \GV\Utils::get( $field_value, $k ) : $field_value; |
|
897
|
897
|
} |
|
898
|
898
|
|
|
899
|
|
- $operator = isset( $filter['operator'] ) ? strtolower( $filter['operator'] ) : 'is'; |
|
|
899
|
+ $operator = isset( $filter[ 'operator' ] ) ? strtolower( $filter[ 'operator' ] ) : 'is'; |
|
900
|
900
|
|
|
901
|
|
- $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter['value'], $operator, $field ); |
|
|
901
|
+ $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter[ 'value' ], $operator, $field ); |
|
902
|
902
|
|
|
903
|
903
|
// Any match is all we need to know |
|
904
|
904
|
if ( $is_value_match && 'any' === $mode ) { |
|
@@ -907,7 +907,7 @@ discard block |
|
|
block discarded – undo |
|
907
|
907
|
|
|
908
|
908
|
// Any failed match is a total fail |
|
909
|
909
|
if ( ! $is_value_match && 'all' === $mode ) { |
|
910
|
|
- return new WP_Error('failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a criterium for ALL mode', $filter ); |
|
|
910
|
+ return new WP_Error( 'failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a criterium for ALL mode', $filter ); |
|
911
|
911
|
} |
|
912
|
912
|
} |
|
913
|
913
|
|
|
@@ -917,7 +917,7 @@ discard block |
|
|
block discarded – undo |
|
917
|
917
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved: all conditions were met' ); |
|
918
|
918
|
return $entry; |
|
919
|
919
|
} else { |
|
920
|
|
- return new WP_Error('failed_any_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed all the criteria for ANY mode', $filters ); |
|
|
920
|
+ return new WP_Error( 'failed_any_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed all the criteria for ANY mode', $filters ); |
|
921
|
921
|
} |
|
922
|
922
|
|
|
923
|
923
|
} |
|
@@ -958,18 +958,18 @@ discard block |
|
|
block discarded – undo |
|
958
|
958
|
* Gravity Forms code to adjust date to locally-configured Time Zone |
|
959
|
959
|
* @see GFCommon::format_date() for original code |
|
960
|
960
|
*/ |
|
961
|
|
- $date_gmt_time = mysql2date( 'G', $date_string ); |
|
|
961
|
+ $date_gmt_time = mysql2date( 'G', $date_string ); |
|
962
|
962
|
$date_local_timestamp = GFCommon::get_local_timestamp( $date_gmt_time ); |
|
963
|
963
|
|
|
964
|
|
- $format = \GV\Utils::get( $atts, 'format' ); |
|
965
|
|
- $is_human = ! empty( $atts['human'] ); |
|
966
|
|
- $is_diff = ! empty( $atts['diff'] ); |
|
967
|
|
- $is_raw = ! empty( $atts['raw'] ); |
|
968
|
|
- $is_timestamp = ! empty( $atts['timestamp'] ); |
|
969
|
|
- $include_time = ! empty( $atts['time'] ); |
|
|
964
|
+ $format = \GV\Utils::get( $atts, 'format' ); |
|
|
965
|
+ $is_human = ! empty( $atts[ 'human' ] ); |
|
|
966
|
+ $is_diff = ! empty( $atts[ 'diff' ] ); |
|
|
967
|
+ $is_raw = ! empty( $atts[ 'raw' ] ); |
|
|
968
|
+ $is_timestamp = ! empty( $atts[ 'timestamp' ] ); |
|
|
969
|
+ $include_time = ! empty( $atts[ 'time' ] ); |
|
970
|
970
|
|
|
971
|
971
|
// If we're using time diff, we want to have a different default format |
|
972
|
|
- if( empty( $format ) ) { |
|
|
972
|
+ if ( empty( $format ) ) { |
|
973
|
973
|
/* translators: %s: relative time from now, used for generic date comparisons. "1 day ago", or "20 seconds ago" */ |
|
974
|
974
|
$format = $is_diff ? esc_html__( '%s ago', 'gravityview' ) : get_option( 'date_format' ); |
|
975
|
975
|
} |
|
@@ -977,7 +977,7 @@ discard block |
|
|
block discarded – undo |
|
977
|
977
|
// If raw was specified, don't modify the stored value |
|
978
|
978
|
if ( $is_raw ) { |
|
979
|
979
|
$formatted_date = $date_string; |
|
980
|
|
- } elseif( $is_timestamp ) { |
|
|
980
|
+ } elseif ( $is_timestamp ) { |
|
981
|
981
|
$formatted_date = $date_local_timestamp; |
|
982
|
982
|
} elseif ( $is_diff ) { |
|
983
|
983
|
$formatted_date = sprintf( $format, human_time_diff( $date_gmt_time ) ); |
|
@@ -1011,7 +1011,7 @@ discard block |
|
|
block discarded – undo |
|
1011
|
1011
|
|
|
1012
|
1012
|
$label = \GV\Utils::get( $field, 'label' ); |
|
1013
|
1013
|
|
|
1014
|
|
- if( floor( $field_id ) !== floatval( $field_id ) ) { |
|
|
1014
|
+ if ( floor( $field_id ) !== floatval( $field_id ) ) { |
|
1015
|
1015
|
$label = GFFormsModel::get_choice_text( $field, $field_value, $field_id ); |
|
1016
|
1016
|
} |
|
1017
|
1017
|
|
|
@@ -1039,7 +1039,7 @@ discard block |
|
|
block discarded – undo |
|
1039
|
1039
|
$form = GFAPI::get_form( $form ); |
|
1040
|
1040
|
} |
|
1041
|
1041
|
|
|
1042
|
|
- if ( class_exists( 'GFFormsModel' ) ){ |
|
|
1042
|
+ if ( class_exists( 'GFFormsModel' ) ) { |
|
1043
|
1043
|
return GFFormsModel::get_field( $form, $field_id ); |
|
1044
|
1044
|
} else { |
|
1045
|
1045
|
return null; |
|
@@ -1086,19 +1086,19 @@ discard block |
|
|
block discarded – undo |
|
1086
|
1086
|
$shortcodes = array(); |
|
1087
|
1087
|
|
|
1088
|
1088
|
preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER ); |
|
1089
|
|
- if ( empty( $matches ) ){ |
|
|
1089
|
+ if ( empty( $matches ) ) { |
|
1090
|
1090
|
return false; |
|
1091
|
1091
|
} |
|
1092
|
1092
|
|
|
1093
|
1093
|
foreach ( $matches as $shortcode ) { |
|
1094
|
|
- if ( $tag === $shortcode[2] ) { |
|
|
1094
|
+ if ( $tag === $shortcode[ 2 ] ) { |
|
1095
|
1095
|
|
|
1096
|
1096
|
// Changed this to $shortcode instead of true so we get the parsed atts. |
|
1097
|
|
- $shortcodes[] = $shortcode; |
|
|
1097
|
+ $shortcodes[ ] = $shortcode; |
|
1098
|
1098
|
|
|
1099
|
|
- } else if ( isset( $shortcode[5] ) && $results = self::has_shortcode_r( $shortcode[5], $tag ) ) { |
|
1100
|
|
- foreach( $results as $result ) { |
|
1101
|
|
- $shortcodes[] = $result; |
|
|
1099
|
+ } else if ( isset( $shortcode[ 5 ] ) && $results = self::has_shortcode_r( $shortcode[ 5 ], $tag ) ) { |
|
|
1100
|
+ foreach ( $results as $result ) { |
|
|
1101
|
+ $shortcodes[ ] = $result; |
|
1102
|
1102
|
} |
|
1103
|
1103
|
} |
|
1104
|
1104
|
} |
|
@@ -1285,7 +1285,7 @@ discard block |
|
|
block discarded – undo |
|
1285
|
1285
|
|
|
1286
|
1286
|
$directory_widgets = wp_parse_args( $view_widgets, $defaults ); |
|
1287
|
1287
|
|
|
1288
|
|
- if( $json_decode ) { |
|
|
1288
|
+ if ( $json_decode ) { |
|
1289
|
1289
|
$directory_widgets = gv_map_deep( $directory_widgets, 'gv_maybe_json_decode' ); |
|
1290
|
1290
|
} |
|
1291
|
1291
|
|
|
@@ -1301,7 +1301,7 @@ discard block |
|
|
block discarded – undo |
|
1301
|
1301
|
* @return string html |
|
1302
|
1302
|
*/ |
|
1303
|
1303
|
public static function get_sortable_fields( $formid, $current = '' ) { |
|
1304
|
|
- $output = '<option value="" ' . selected( '', $current, false ).'>' . esc_html__( 'Default', 'gravityview' ) .'</option>'; |
|
|
1304
|
+ $output = '<option value="" ' . selected( '', $current, false ) . '>' . esc_html__( 'Default', 'gravityview' ) . '</option>'; |
|
1305
|
1305
|
|
|
1306
|
1306
|
if ( empty( $formid ) ) { |
|
1307
|
1307
|
return $output; |
|
@@ -1314,11 +1314,11 @@ discard block |
|
|
block discarded – undo |
|
1314
|
1314
|
$blacklist_field_types = apply_filters( 'gravityview_blacklist_field_types', array( 'list', 'textarea' ), null ); |
|
1315
|
1315
|
|
|
1316
|
1316
|
foreach ( $fields as $id => $field ) { |
|
1317
|
|
- if ( in_array( $field['type'], $blacklist_field_types ) ) { |
|
|
1317
|
+ if ( in_array( $field[ 'type' ], $blacklist_field_types ) ) { |
|
1318
|
1318
|
continue; |
|
1319
|
1319
|
} |
|
1320
|
1320
|
|
|
1321
|
|
- $output .= '<option value="'. $id .'" '. selected( $id, $current, false ).'>'. esc_attr( $field['label'] ) .'</option>'; |
|
|
1321
|
+ $output .= '<option value="' . $id . '" ' . selected( $id, $current, false ) . '>' . esc_attr( $field[ 'label' ] ) . '</option>'; |
|
1322
|
1322
|
} |
|
1323
|
1323
|
} |
|
1324
|
1324
|
|
|
@@ -1353,9 +1353,9 @@ discard block |
|
|
block discarded – undo |
|
1353
|
1353
|
$blacklist_field_types = apply_filters( 'gravityview_blacklist_field_types', $blacklist, NULL ); |
|
1354
|
1354
|
|
|
1355
|
1355
|
// TODO: Convert to using array_filter |
|
1356
|
|
- foreach( $fields as $id => $field ) { |
|
|
1356
|
+ foreach ( $fields as $id => $field ) { |
|
1357
|
1357
|
|
|
1358
|
|
- if( in_array( $field['type'], $blacklist_field_types ) ) { |
|
|
1358
|
+ if ( in_array( $field[ 'type' ], $blacklist_field_types ) ) { |
|
1359
|
1359
|
unset( $fields[ $id ] ); |
|
1360
|
1360
|
} |
|
1361
|
1361
|
} |
|
@@ -1396,14 +1396,14 @@ discard block |
|
|
block discarded – undo |
|
1396
|
1396
|
* @param int|array $field field key or field array |
|
1397
|
1397
|
* @return boolean |
|
1398
|
1398
|
*/ |
|
1399
|
|
- public static function is_field_numeric( $form = null, $field = '' ) { |
|
|
1399
|
+ public static function is_field_numeric( $form = null, $field = '' ) { |
|
1400
|
1400
|
|
|
1401
|
1401
|
if ( ! is_array( $form ) && ! is_array( $field ) ) { |
|
1402
|
1402
|
$form = self::get_form( $form ); |
|
1403
|
1403
|
} |
|
1404
|
1404
|
|
|
1405
|
1405
|
// If entry meta, it's a string. Otherwise, numeric |
|
1406
|
|
- if( ! is_numeric( $field ) && is_string( $field ) ) { |
|
|
1406
|
+ if ( ! is_numeric( $field ) && is_string( $field ) ) { |
|
1407
|
1407
|
$type = $field; |
|
1408
|
1408
|
} else { |
|
1409
|
1409
|
$type = self::get_field_type( $form, $field ); |
|
@@ -1417,9 +1417,9 @@ discard block |
|
|
block discarded – undo |
|
1417
|
1417
|
$numeric_types = apply_filters( 'gravityview/common/numeric_types', array( 'number', 'time' ) ); |
|
1418
|
1418
|
|
|
1419
|
1419
|
// Defer to GravityView_Field setting, if the field type is registered and `is_numeric` is true |
|
1420
|
|
- if( $gv_field = GravityView_Fields::get( $type ) ) { |
|
1421
|
|
- if( true === $gv_field->is_numeric ) { |
|
1422
|
|
- $numeric_types[] = $gv_field->is_numeric; |
|
|
1420
|
+ if ( $gv_field = GravityView_Fields::get( $type ) ) { |
|
|
1421
|
+ if ( true === $gv_field->is_numeric ) { |
|
|
1422
|
+ $numeric_types[ ] = $gv_field->is_numeric; |
|
1423
|
1423
|
} |
|
1424
|
1424
|
} |
|
1425
|
1425
|
|
|
@@ -1569,18 +1569,18 @@ discard block |
|
|
block discarded – undo |
|
1569
|
1569
|
$final_atts = array_filter( $final_atts ); |
|
1570
|
1570
|
|
|
1571
|
1571
|
// If the href wasn't passed as an attribute, use the value passed to the function |
|
1572
|
|
- if ( empty( $final_atts['href'] ) && ! empty( $href ) ) { |
|
1573
|
|
- $final_atts['href'] = $href; |
|
|
1572
|
+ if ( empty( $final_atts[ 'href' ] ) && ! empty( $href ) ) { |
|
|
1573
|
+ $final_atts[ 'href' ] = $href; |
|
1574
|
1574
|
} |
|
1575
|
1575
|
|
|
1576
|
|
- $final_atts['href'] = esc_url_raw( $href ); |
|
|
1576
|
+ $final_atts[ 'href' ] = esc_url_raw( $href ); |
|
1577
|
1577
|
|
|
1578
|
1578
|
/** |
|
1579
|
1579
|
* Fix potential security issue with target=_blank |
|
1580
|
1580
|
* @see https://dev.to/ben/the-targetblank-vulnerability-by-example |
|
1581
|
1581
|
*/ |
|
1582
|
|
- if( '_blank' === \GV\Utils::get( $final_atts, 'target' ) ) { |
|
1583
|
|
- $final_atts['rel'] = trim( \GV\Utils::get( $final_atts, 'rel', '' ) . ' noopener noreferrer' ); |
|
|
1582
|
+ if ( '_blank' === \GV\Utils::get( $final_atts, 'target' ) ) { |
|
|
1583
|
+ $final_atts[ 'rel' ] = trim( \GV\Utils::get( $final_atts, 'rel', '' ) . ' noopener noreferrer' ); |
|
1584
|
1584
|
} |
|
1585
|
1585
|
|
|
1586
|
1586
|
// Sort the attributes alphabetically, to help testing |
|
@@ -1592,7 +1592,7 @@ discard block |
|
|
block discarded – undo |
|
1592
|
1592
|
$output .= sprintf( ' %s="%s"', $attr, esc_attr( $value ) ); |
|
1593
|
1593
|
} |
|
1594
|
1594
|
|
|
1595
|
|
- if( '' !== $output ) { |
|
|
1595
|
+ if ( '' !== $output ) { |
|
1596
|
1596
|
$output = '<a' . $output . '>' . $anchor_text . '</a>'; |
|
1597
|
1597
|
} |
|
1598
|
1598
|
|
|
@@ -1619,7 +1619,7 @@ discard block |
|
|
block discarded – undo |
|
1619
|
1619
|
if ( is_array( $value ) && isset( $merged[ $key ] ) && is_array( $merged[ $key ] ) ) { |
|
1620
|
1620
|
$merged[ $key ] = self::array_merge_recursive_distinct( $merged[ $key ], $value ); |
|
1621
|
1621
|
} else if ( is_numeric( $key ) && isset( $merged[ $key ] ) ) { |
|
1622
|
|
- $merged[] = $value; |
|
|
1622
|
+ $merged[ ] = $value; |
|
1623
|
1623
|
} else { |
|
1624
|
1624
|
$merged[ $key ] = $value; |
|
1625
|
1625
|
} |
|
@@ -1652,7 +1652,7 @@ discard block |
|
|
block discarded – undo |
|
1652
|
1652
|
* `$context` is where are we using this information (e.g. change_entry_creator, search_widget ..) |
|
1653
|
1653
|
* @param array $settings Settings array, with `number` key defining the # of users to display |
|
1654
|
1654
|
*/ |
|
1655
|
|
- $get_users_settings = apply_filters( 'gravityview/get_users/'. $context, apply_filters( 'gravityview_change_entry_creator_user_parameters', $get_users_settings ) ); |
|
|
1655
|
+ $get_users_settings = apply_filters( 'gravityview/get_users/' . $context, apply_filters( 'gravityview_change_entry_creator_user_parameters', $get_users_settings ) ); |
|
1656
|
1656
|
|
|
1657
|
1657
|
return get_users( $get_users_settings ); |
|
1658
|
1658
|
} |
|
@@ -1672,11 +1672,11 @@ discard block |
|
|
block discarded – undo |
|
1672
|
1672
|
public static function generate_notice( $notice, $class = '', $cap = '', $object_id = null ) { |
|
1673
|
1673
|
|
|
1674
|
1674
|
// If $cap is defined, only show notice if user has capability |
|
1675
|
|
- if( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
|
1675
|
+ if ( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
1676
|
1676
|
return ''; |
|
1677
|
1677
|
} |
|
1678
|
1678
|
|
|
1679
|
|
- return '<div class="gv-notice '.gravityview_sanitize_html_class( $class ) .'">'. $notice .'</div>'; |
|
|
1679
|
+ return '<div class="gv-notice ' . gravityview_sanitize_html_class( $class ) . '">' . $notice . '</div>'; |
|
1680
|
1680
|
} |
|
1681
|
1681
|
|
|
1682
|
1682
|
/** |