|
@@ -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; |
|
@@ -202,7 +202,7 @@ discard block |
|
|
block discarded – undo |
|
202
|
202
|
} |
|
203
|
203
|
} |
|
204
|
204
|
|
|
205
|
|
- return (bool) $has_transaction_data; |
|
|
205
|
+ return (bool)$has_transaction_data; |
|
206
|
206
|
} |
|
207
|
207
|
|
|
208
|
208
|
/** |
|
@@ -240,7 +240,7 @@ discard block |
|
|
block discarded – undo |
|
240
|
240
|
|
|
241
|
241
|
$results = GFAPI::get_entries( intval( $form_id ), $search_criteria, null, $paging ); |
|
242
|
242
|
|
|
243
|
|
- $result = ( ! empty( $results ) && ! empty( $results[0]['id'] ) ) ? $results[0]['id'] : null; |
|
|
243
|
+ $result = ( ! empty( $results ) && ! empty( $results[ 0 ][ 'id' ] ) ) ? $results[ 0 ][ 'id' ] : null; |
|
244
|
244
|
|
|
245
|
245
|
return $result; |
|
246
|
246
|
} |
|
@@ -257,10 +257,10 @@ discard block |
|
|
block discarded – undo |
|
257
|
257
|
* |
|
258
|
258
|
* @return array Empty array if GFAPI class isn't available or no forms. Otherwise, the array of Forms |
|
259
|
259
|
*/ |
|
260
|
|
- public static function get_forms( $active = true, $trash = false ) { |
|
|
260
|
+ public static function get_forms( $active = true, $trash = false ) { |
|
261
|
261
|
$forms = array(); |
|
262
|
262
|
if ( class_exists( 'GFAPI' ) ) { |
|
263
|
|
- if( 'any' === $active ) { |
|
|
263
|
+ if ( 'any' === $active ) { |
|
264
|
264
|
$active_forms = GFAPI::get_forms( true, $trash ); |
|
265
|
265
|
$inactive_forms = GFAPI::get_forms( false, $trash ); |
|
266
|
266
|
$forms = array_merge( array_filter( $active_forms ), array_filter( $inactive_forms ) ); |
|
@@ -291,9 +291,9 @@ discard block |
|
|
block discarded – undo |
|
291
|
291
|
$has_post_fields = false; |
|
292
|
292
|
|
|
293
|
293
|
if ( $form ) { |
|
294
|
|
- foreach ( $form['fields'] as $field ) { |
|
295
|
|
- if ( $include_parent_field || empty( $field['inputs'] ) ) { |
|
296
|
|
- $fields["{$field['id']}"] = array( |
|
|
294
|
+ foreach ( $form[ 'fields' ] as $field ) { |
|
|
295
|
+ if ( $include_parent_field || empty( $field[ 'inputs' ] ) ) { |
|
|
296
|
+ $fields[ "{$field[ 'id' ]}" ] = array( |
|
297
|
297
|
'label' => \GV\Utils::get( $field, 'label' ), |
|
298
|
298
|
'parent' => null, |
|
299
|
299
|
'type' => \GV\Utils::get( $field, 'type' ), |
|
@@ -302,10 +302,10 @@ discard block |
|
|
block discarded – undo |
|
302
|
302
|
); |
|
303
|
303
|
} |
|
304
|
304
|
|
|
305
|
|
- if ( $add_default_properties && ! empty( $field['inputs'] ) ) { |
|
306
|
|
- foreach ( $field['inputs'] as $input ) { |
|
|
305
|
+ if ( $add_default_properties && ! empty( $field[ 'inputs' ] ) ) { |
|
|
306
|
+ foreach ( $field[ 'inputs' ] as $input ) { |
|
307
|
307
|
|
|
308
|
|
- if( ! empty( $input['isHidden'] ) ) { |
|
|
308
|
+ if ( ! empty( $input[ 'isHidden' ] ) ) { |
|
309
|
309
|
continue; |
|
310
|
310
|
} |
|
311
|
311
|
|
|
@@ -313,10 +313,10 @@ discard block |
|
|
block discarded – undo |
|
313
|
313
|
* @hack |
|
314
|
314
|
* In case of email/email confirmation, the input for email has the same id as the parent field |
|
315
|
315
|
*/ |
|
316
|
|
- if( 'email' === $field['type'] && false === strpos( $input['id'], '.' ) ) { |
|
|
316
|
+ if ( 'email' === $field[ 'type' ] && false === strpos( $input[ 'id' ], '.' ) ) { |
|
317
|
317
|
continue; |
|
318
|
318
|
} |
|
319
|
|
- $fields["{$input['id']}"] = array( |
|
|
319
|
+ $fields[ "{$input[ 'id' ]}" ] = array( |
|
320
|
320
|
'label' => \GV\Utils::get( $input, 'label' ), |
|
321
|
321
|
'customLabel' => \GV\Utils::get( $input, 'customLabel' ), |
|
322
|
322
|
'parent' => $field, |
|
@@ -328,7 +328,7 @@ discard block |
|
|
block discarded – undo |
|
328
|
328
|
} |
|
329
|
329
|
|
|
330
|
330
|
|
|
331
|
|
- if( GFCommon::is_product_field( $field['type'] ) ){ |
|
|
331
|
+ if ( GFCommon::is_product_field( $field[ 'type' ] ) ) { |
|
332
|
332
|
$has_product_fields = true; |
|
333
|
333
|
} |
|
334
|
334
|
|
|
@@ -342,7 +342,7 @@ discard block |
|
|
block discarded – undo |
|
342
|
342
|
* @since 1.7 |
|
343
|
343
|
*/ |
|
344
|
344
|
if ( $has_post_fields ) { |
|
345
|
|
- $fields['post_id'] = array( |
|
|
345
|
+ $fields[ 'post_id' ] = array( |
|
346
|
346
|
'label' => __( 'Post ID', 'gravityview' ), |
|
347
|
347
|
'type' => 'post_id', |
|
348
|
348
|
); |
|
@@ -355,11 +355,11 @@ discard block |
|
|
block discarded – undo |
|
355
|
355
|
foreach ( $payment_fields as $payment_field ) { |
|
356
|
356
|
|
|
357
|
357
|
// Either the field exists ($fields['shipping']) or the form explicitly contains a `shipping` field with numeric key |
|
358
|
|
- if( isset( $fields["{$payment_field->name}"] ) || GFCommon::get_fields_by_type( $form, $payment_field->name ) ) { |
|
|
358
|
+ if ( isset( $fields[ "{$payment_field->name}" ] ) || GFCommon::get_fields_by_type( $form, $payment_field->name ) ) { |
|
359
|
359
|
continue; |
|
360
|
360
|
} |
|
361
|
361
|
|
|
362
|
|
- $fields["{$payment_field->name}"] = array( |
|
|
362
|
+ $fields[ "{$payment_field->name}" ] = array( |
|
363
|
363
|
'label' => $payment_field->label, |
|
364
|
364
|
'desc' => $payment_field->description, |
|
365
|
365
|
'type' => $payment_field->name, |
|
@@ -391,9 +391,9 @@ discard block |
|
|
block discarded – undo |
|
391
|
391
|
|
|
392
|
392
|
$fields = array(); |
|
393
|
393
|
|
|
394
|
|
- foreach ( $extra_fields as $key => $field ){ |
|
395
|
|
- if ( ! empty( $only_default_column ) && ! empty( $field['is_default_column'] ) ) { |
|
396
|
|
- $fields[ $key ] = array( 'label' => $field['label'], 'type' => 'entry_meta' ); |
|
|
394
|
+ foreach ( $extra_fields as $key => $field ) { |
|
|
395
|
+ if ( ! empty( $only_default_column ) && ! empty( $field[ 'is_default_column' ] ) ) { |
|
|
396
|
+ $fields[ $key ] = array( 'label' => $field[ 'label' ], 'type' => 'entry_meta' ); |
|
397
|
397
|
} |
|
398
|
398
|
} |
|
399
|
399
|
|
|
@@ -433,33 +433,33 @@ discard block |
|
|
block discarded – undo |
|
433
|
433
|
'search_criteria' => null, |
|
434
|
434
|
'sorting' => null, |
|
435
|
435
|
'paging' => null, |
|
436
|
|
- 'cache' => (isset( $passed_criteria['cache'] ) ? (bool) $passed_criteria['cache'] : true), |
|
|
436
|
+ 'cache' => ( isset( $passed_criteria[ 'cache' ] ) ? (bool)$passed_criteria[ 'cache' ] : true ), |
|
437
|
437
|
'context_view_id' => null, |
|
438
|
438
|
); |
|
439
|
439
|
|
|
440
|
440
|
$criteria = wp_parse_args( $passed_criteria, $search_criteria_defaults ); |
|
441
|
441
|
|
|
442
|
|
- if ( ! empty( $criteria['search_criteria']['field_filters'] ) ) { |
|
443
|
|
- foreach ( $criteria['search_criteria']['field_filters'] as &$filter ) { |
|
|
442
|
+ if ( ! empty( $criteria[ 'search_criteria' ][ 'field_filters' ] ) ) { |
|
|
443
|
+ foreach ( $criteria[ 'search_criteria' ][ 'field_filters' ] as &$filter ) { |
|
444
|
444
|
|
|
445
|
445
|
if ( ! is_array( $filter ) ) { |
|
446
|
446
|
continue; |
|
447
|
447
|
} |
|
448
|
448
|
|
|
449
|
449
|
// By default, we want searches to be wildcard for each field. |
|
450
|
|
- $filter['operator'] = empty( $filter['operator'] ) ? 'contains' : $filter['operator']; |
|
|
450
|
+ $filter[ 'operator' ] = empty( $filter[ 'operator' ] ) ? 'contains' : $filter[ 'operator' ]; |
|
451
|
451
|
|
|
452
|
452
|
/** |
|
453
|
453
|
* @filter `gravityview_search_operator` Modify the search operator for the field (contains, is, isnot, etc) |
|
454
|
454
|
* @param string $operator Existing search operator |
|
455
|
455
|
* @param array $filter array with `key`, `value`, `operator`, `type` keys |
|
456
|
456
|
*/ |
|
457
|
|
- $filter['operator'] = apply_filters( 'gravityview_search_operator', $filter['operator'], $filter ); |
|
|
457
|
+ $filter[ 'operator' ] = apply_filters( 'gravityview_search_operator', $filter[ 'operator' ], $filter ); |
|
458
|
458
|
} |
|
459
|
459
|
|
|
460
|
460
|
// don't send just the [mode] without any field filter. |
|
461
|
|
- if( count( $criteria['search_criteria']['field_filters'] ) === 1 && array_key_exists( 'mode' , $criteria['search_criteria']['field_filters'] ) ) { |
|
462
|
|
- unset( $criteria['search_criteria']['field_filters']['mode'] ); |
|
|
461
|
+ if ( count( $criteria[ 'search_criteria' ][ 'field_filters' ] ) === 1 && array_key_exists( 'mode', $criteria[ 'search_criteria' ][ 'field_filters' ] ) ) { |
|
|
462
|
+ unset( $criteria[ 'search_criteria' ][ 'field_filters' ][ 'mode' ] ); |
|
463
|
463
|
} |
|
464
|
464
|
|
|
465
|
465
|
} |
|
@@ -470,33 +470,33 @@ discard block |
|
|
block discarded – undo |
|
470
|
470
|
* Prepare date formats to be in Gravity Forms DB format; |
|
471
|
471
|
* $passed_criteria may include date formats incompatible with Gravity Forms. |
|
472
|
472
|
*/ |
|
473
|
|
- foreach ( array('start_date', 'end_date' ) as $key ) { |
|
|
473
|
+ foreach ( array( 'start_date', 'end_date' ) as $key ) { |
|
474
|
474
|
|
|
475
|
|
- if ( ! empty( $criteria['search_criteria'][ $key ] ) ) { |
|
|
475
|
+ if ( ! empty( $criteria[ 'search_criteria' ][ $key ] ) ) { |
|
476
|
476
|
|
|
477
|
477
|
// Use date_create instead of new DateTime so it returns false if invalid date format. |
|
478
|
|
- $date = date_create( $criteria['search_criteria'][ $key ] ); |
|
|
478
|
+ $date = date_create( $criteria[ 'search_criteria' ][ $key ] ); |
|
479
|
479
|
|
|
480
|
480
|
if ( $date ) { |
|
481
|
481
|
// Gravity Forms wants dates in the `Y-m-d H:i:s` format. |
|
482
|
|
- $criteria['search_criteria'][ $key ] = $date->format( 'Y-m-d H:i:s' ); |
|
|
482
|
+ $criteria[ 'search_criteria' ][ $key ] = $date->format( 'Y-m-d H:i:s' ); |
|
483
|
483
|
} else { |
|
484
|
|
- gravityview()->log->error( '{key} Date format not valid:', array( 'key' => $key, $criteria['search_criteria'][ $key ] ) ); |
|
|
484
|
+ gravityview()->log->error( '{key} Date format not valid:', array( 'key' => $key, $criteria[ 'search_criteria' ][ $key ] ) ); |
|
485
|
485
|
|
|
486
|
486
|
// If it's an invalid date, unset it. Gravity Forms freaks out otherwise. |
|
487
|
|
- unset( $criteria['search_criteria'][ $key ] ); |
|
|
487
|
+ unset( $criteria[ 'search_criteria' ][ $key ] ); |
|
488
|
488
|
} |
|
489
|
489
|
} |
|
490
|
490
|
} |
|
491
|
491
|
|
|
492
|
|
- if ( empty( $criteria['context_view_id'] ) ) { |
|
|
492
|
+ if ( empty( $criteria[ 'context_view_id' ] ) ) { |
|
493
|
493
|
// Calculate the context view id and send it to the advanced filter |
|
494
|
494
|
if ( GravityView_frontend::getInstance()->getSingleEntry() ) { |
|
495
|
|
- $criteria['context_view_id'] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
|
495
|
+ $criteria[ 'context_view_id' ] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
496
|
496
|
} else if ( class_exists( 'GravityView_View_Data' ) && GravityView_View_Data::getInstance() && GravityView_View_Data::getInstance()->has_multiple_views() ) { |
|
497
|
|
- $criteria['context_view_id'] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
|
497
|
+ $criteria[ 'context_view_id' ] = GravityView_frontend::getInstance()->get_context_view_id(); |
|
498
|
498
|
} else if ( 'delete' === GFForms::get( 'action' ) ) { |
|
499
|
|
- $criteria['context_view_id'] = isset( $_GET['view_id'] ) ? intval( $_GET['view_id'] ) : null; |
|
|
499
|
+ $criteria[ 'context_view_id' ] = isset( $_GET[ 'view_id' ] ) ? intval( $_GET[ 'view_id' ] ) : null; |
|
500
|
500
|
} |
|
501
|
501
|
} |
|
502
|
502
|
|
|
@@ -506,7 +506,7 @@ discard block |
|
|
block discarded – undo |
|
506
|
506
|
* @param array $form_ids Forms to search |
|
507
|
507
|
* @param int $view_id ID of the view being used to search |
|
508
|
508
|
*/ |
|
509
|
|
- $criteria = apply_filters( 'gravityview_search_criteria', $criteria, $form_ids, $criteria['context_view_id'] ); |
|
|
509
|
+ $criteria = apply_filters( 'gravityview_search_criteria', $criteria, $form_ids, $criteria[ 'context_view_id' ] ); |
|
510
|
510
|
|
|
511
|
511
|
return (array)$criteria; |
|
512
|
512
|
} |
|
@@ -541,7 +541,7 @@ discard block |
|
|
block discarded – undo |
|
541
|
541
|
/** Reduce # of database calls */ |
|
542
|
542
|
add_filter( 'gform_is_encrypted_field', '__return_false' ); |
|
543
|
543
|
|
|
544
|
|
- if ( ! empty( $criteria['cache'] ) ) { |
|
|
544
|
+ if ( ! empty( $criteria[ 'cache' ] ) ) { |
|
545
|
545
|
|
|
546
|
546
|
$Cache = new GravityView_Cache( $form_ids, $criteria ); |
|
547
|
547
|
|
|
@@ -549,7 +549,7 @@ discard block |
|
|
block discarded – undo |
|
549
|
549
|
|
|
550
|
550
|
// Still update the total count when using cached results |
|
551
|
551
|
if ( ! is_null( $total ) ) { |
|
552
|
|
- $total = GFAPI::count_entries( $form_ids, $criteria['search_criteria'] ); |
|
|
552
|
+ $total = GFAPI::count_entries( $form_ids, $criteria[ 'search_criteria' ] ); |
|
553
|
553
|
} |
|
554
|
554
|
|
|
555
|
555
|
$return = $entries; |
|
@@ -571,9 +571,9 @@ discard block |
|
|
block discarded – undo |
|
571
|
571
|
$entries = apply_filters_ref_array( 'gravityview_before_get_entries', array( null, $criteria, $passed_criteria, &$total ) ); |
|
572
|
572
|
|
|
573
|
573
|
// No entries returned from gravityview_before_get_entries |
|
574
|
|
- if( is_null( $entries ) ) { |
|
|
574
|
+ if ( is_null( $entries ) ) { |
|
575
|
575
|
|
|
576
|
|
- $entries = GFAPI::get_entries( $form_ids, $criteria['search_criteria'], $criteria['sorting'], $criteria['paging'], $total ); |
|
|
576
|
+ $entries = GFAPI::get_entries( $form_ids, $criteria[ 'search_criteria' ], $criteria[ 'sorting' ], $criteria[ 'paging' ], $total ); |
|
577
|
577
|
|
|
578
|
578
|
if ( is_wp_error( $entries ) ) { |
|
579
|
579
|
gravityview()->log->error( '{error}', array( 'error' => $entries->get_error_message(), 'data' => $entries ) ); |
|
@@ -584,7 +584,7 @@ discard block |
|
|
block discarded – undo |
|
584
|
584
|
} |
|
585
|
585
|
} |
|
586
|
586
|
|
|
587
|
|
- if ( ! empty( $criteria['cache'] ) && isset( $Cache ) ) { |
|
|
587
|
+ if ( ! empty( $criteria[ 'cache' ] ) && isset( $Cache ) ) { |
|
588
|
588
|
|
|
589
|
589
|
// Cache results |
|
590
|
590
|
$Cache->set( $entries, 'entries' ); |
|
@@ -693,12 +693,12 @@ discard block |
|
|
block discarded – undo |
|
693
|
693
|
*/ |
|
694
|
694
|
$check_entry_display = apply_filters( 'gravityview/common/get_entry/check_entry_display', $check_entry_display, $entry ); |
|
695
|
695
|
|
|
696
|
|
- if( $check_entry_display ) { |
|
|
696
|
+ if ( $check_entry_display ) { |
|
697
|
697
|
// Is the entry allowed |
|
698
|
698
|
$entry = self::check_entry_display( $entry ); |
|
699
|
699
|
} |
|
700
|
700
|
|
|
701
|
|
- if( is_wp_error( $entry ) ) { |
|
|
701
|
+ if ( is_wp_error( $entry ) ) { |
|
702
|
702
|
gravityview()->log->error( '{error}', array( 'error' => $entry->get_error_message() ) ); |
|
703
|
703
|
return false; |
|
704
|
704
|
} |
|
@@ -732,12 +732,12 @@ discard block |
|
|
block discarded – undo |
|
732
|
732
|
|
|
733
|
733
|
$value = false; |
|
734
|
734
|
|
|
735
|
|
- if( 'context' === $val1 ) { |
|
|
735
|
+ if ( 'context' === $val1 ) { |
|
736
|
736
|
|
|
737
|
737
|
$matching_contexts = array( $val2 ); |
|
738
|
738
|
|
|
739
|
739
|
// We allow for non-standard contexts. |
|
740
|
|
- switch( $val2 ) { |
|
|
740
|
+ switch ( $val2 ) { |
|
741
|
741
|
// Check for either single or edit |
|
742
|
742
|
case 'singular': |
|
743
|
743
|
$matching_contexts = array( 'single', 'edit' ); |
|
@@ -780,18 +780,18 @@ discard block |
|
|
block discarded – undo |
|
780
|
780
|
$json_val_1 = json_decode( $val1, true ); |
|
781
|
781
|
$json_val_2 = json_decode( $val2, true ); |
|
782
|
782
|
|
|
783
|
|
- if( ! empty( $json_val_1 ) || ! empty( $json_val_2 ) ) { |
|
|
783
|
+ if ( ! empty( $json_val_1 ) || ! empty( $json_val_2 ) ) { |
|
784
|
784
|
|
|
785
|
785
|
$json_in = false; |
|
786
|
|
- $json_val_1 = $json_val_1 ? (array) $json_val_1 : array( $val1 ); |
|
787
|
|
- $json_val_2 = $json_val_2 ? (array) $json_val_2 : array( $val2 ); |
|
|
786
|
+ $json_val_1 = $json_val_1 ? (array)$json_val_1 : array( $val1 ); |
|
|
787
|
+ $json_val_2 = $json_val_2 ? (array)$json_val_2 : array( $val2 ); |
|
788
|
788
|
|
|
789
|
789
|
// For JSON, we want to compare as "in" or "not in" rather than "contains" |
|
790
|
790
|
foreach ( $json_val_1 as $item_1 ) { |
|
791
|
791
|
foreach ( $json_val_2 as $item_2 ) { |
|
792
|
792
|
$json_in = self::matches_operation( $item_1, $item_2, 'is' ); |
|
793
|
793
|
|
|
794
|
|
- if( $json_in ) { |
|
|
794
|
+ if ( $json_in ) { |
|
795
|
795
|
break 2; |
|
796
|
796
|
} |
|
797
|
797
|
} |
|
@@ -843,10 +843,10 @@ discard block |
|
|
block discarded – undo |
|
843
|
843
|
public static function check_entry_display( $entry, $view = null ) { |
|
844
|
844
|
|
|
845
|
845
|
if ( ! $entry || is_wp_error( $entry ) ) { |
|
846
|
|
- return new WP_Error('entry_not_found', 'Entry was not found.', $entry ); |
|
|
846
|
+ return new WP_Error( 'entry_not_found', 'Entry was not found.', $entry ); |
|
847
|
847
|
} |
|
848
|
848
|
|
|
849
|
|
- if ( empty( $entry['form_id'] ) ) { |
|
|
849
|
+ if ( empty( $entry[ 'form_id' ] ) ) { |
|
850
|
850
|
return new WP_Error( 'form_id_not_set', '[apply_filters_to_entry] Entry is empty!', $entry ); |
|
851
|
851
|
} |
|
852
|
852
|
|
|
@@ -855,15 +855,15 @@ discard block |
|
|
block discarded – undo |
|
855
|
855
|
* Check whether the entry is in the entries subset by running a modified query. |
|
856
|
856
|
*/ |
|
857
|
857
|
add_action( 'gravityview/view/query', $entry_subset_callback = function( &$query, $view, $request ) use ( $entry ) { |
|
858
|
|
- $_tmp_query = new \GF_Query( $view->form->ID, array( 'field_filters' => array( 'mode' => 'all', array( 'key' => 'id', 'operation' => 'is', 'value' => $entry['id'] ) ) ) ); |
|
|
858
|
+ $_tmp_query = new \GF_Query( $view->form->ID, array( 'field_filters' => array( 'mode' => 'all', array( 'key' => 'id', 'operation' => 'is', 'value' => $entry[ 'id' ] ) ) ) ); |
|
859
|
859
|
$_tmp_query_parts = $_tmp_query->_introspect(); |
|
860
|
860
|
|
|
861
|
861
|
$query_parts = $query->_introspect(); |
|
862
|
862
|
|
|
863
|
|
- $query->where( \GF_Query_Condition::_and( $_tmp_query_parts['where'], $query_parts['where'] ) ); |
|
|
863
|
+ $query->where( \GF_Query_Condition::_and( $_tmp_query_parts[ 'where' ], $query_parts[ 'where' ] ) ); |
|
864
|
864
|
}, 10, 3 ); |
|
865
|
865
|
|
|
866
|
|
- if ( ( ! $entries = $view->get_entries()->all() ) || $entries[0]->ID !== $entry['id'] ) { |
|
|
866
|
+ if ( ( ! $entries = $view->get_entries()->all() ) || $entries[ 0 ]->ID !== $entry[ 'id' ] ) { |
|
867
|
867
|
remove_action( 'gravityview/view/query', $entry_subset_callback ); |
|
868
|
868
|
return new \WP_Error( 'failed_criteria', 'Entry failed search_criteria and field_filters' ); |
|
869
|
869
|
} |
|
@@ -876,59 +876,59 @@ discard block |
|
|
block discarded – undo |
|
876
|
876
|
'context_view_id' => $view ? $view->ID : null, |
|
877
|
877
|
) ); |
|
878
|
878
|
|
|
879
|
|
- if ( empty( $criteria['search_criteria'] ) || ! is_array( $criteria['search_criteria'] ) ) { |
|
|
879
|
+ if ( empty( $criteria[ 'search_criteria' ] ) || ! is_array( $criteria[ 'search_criteria' ] ) ) { |
|
880
|
880
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved! No search criteria found:', array( 'data' => $criteria ) ); |
|
881
|
881
|
return $entry; |
|
882
|
882
|
} |
|
883
|
883
|
|
|
884
|
884
|
// Make sure the current View is connected to the same form as the Entry |
|
885
|
|
- if( ! empty( $criteria['context_view_id'] ) ) { |
|
886
|
|
- $context_view_id = intval( $criteria['context_view_id'] ); |
|
|
885
|
+ if ( ! empty( $criteria[ 'context_view_id' ] ) ) { |
|
|
886
|
+ $context_view_id = intval( $criteria[ 'context_view_id' ] ); |
|
887
|
887
|
$context_form_id = gravityview_get_form_id( $context_view_id ); |
|
888
|
|
- if( intval( $context_form_id ) !== intval( $entry['form_id'] ) ) { |
|
889
|
|
- 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'] ); |
|
|
888
|
+ if ( intval( $context_form_id ) !== intval( $entry[ 'form_id' ] ) ) { |
|
|
889
|
+ 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' ] ); |
|
890
|
890
|
} |
|
891
|
891
|
} |
|
892
|
892
|
|
|
893
|
|
- $search_criteria = $criteria['search_criteria']; |
|
|
893
|
+ $search_criteria = $criteria[ 'search_criteria' ]; |
|
894
|
894
|
|
|
895
|
895
|
// check entry status |
|
896
|
|
- if ( array_key_exists( 'status', $search_criteria ) && $search_criteria['status'] != $entry['status'] ) { |
|
897
|
|
- 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 ); |
|
|
896
|
+ if ( array_key_exists( 'status', $search_criteria ) && $search_criteria[ 'status' ] != $entry[ 'status' ] ) { |
|
|
897
|
+ 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 ); |
|
898
|
898
|
} |
|
899
|
899
|
|
|
900
|
900
|
// check entry date |
|
901
|
901
|
// @todo: Does it make sense to apply the Date create filters to the single entry? |
|
902
|
902
|
|
|
903
|
903
|
// field_filters |
|
904
|
|
- if ( empty( $search_criteria['field_filters'] ) || ! is_array( $search_criteria['field_filters'] ) ) { |
|
|
904
|
+ if ( empty( $search_criteria[ 'field_filters' ] ) || ! is_array( $search_criteria[ 'field_filters' ] ) ) { |
|
905
|
905
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved! No field filters criteria found:', array( 'data' => $search_criteria ) ); |
|
906
|
906
|
return $entry; |
|
907
|
907
|
} |
|
908
|
908
|
|
|
909
|
|
- $filters = $search_criteria['field_filters']; |
|
|
909
|
+ $filters = $search_criteria[ 'field_filters' ]; |
|
910
|
910
|
|
|
911
|
|
- $mode = array_key_exists( 'mode', $filters ) ? strtolower( $filters['mode'] ) : 'all'; |
|
|
911
|
+ $mode = array_key_exists( 'mode', $filters ) ? strtolower( $filters[ 'mode' ] ) : 'all'; |
|
912
|
912
|
|
|
913
|
|
- $mode = $mode ? : 'all'; // If mode is an empty string, assume it's 'all' |
|
|
913
|
+ $mode = $mode ?: 'all'; // If mode is an empty string, assume it's 'all' |
|
914
|
914
|
|
|
915
|
915
|
// Prevent the mode from being processed below |
|
916
|
|
- unset( $filters['mode'] ); |
|
|
916
|
+ unset( $filters[ 'mode' ] ); |
|
917
|
917
|
|
|
918
|
|
- $form = self::get_form( $entry['form_id'] ); |
|
|
918
|
+ $form = self::get_form( $entry[ 'form_id' ] ); |
|
919
|
919
|
|
|
920
|
920
|
foreach ( $filters as $filter ) { |
|
921
|
|
- $operator = isset( $filter['operator'] ) ? strtolower( $filter['operator'] ) : 'is'; |
|
|
921
|
+ $operator = isset( $filter[ 'operator' ] ) ? strtolower( $filter[ 'operator' ] ) : 'is'; |
|
922
|
922
|
|
|
923
|
|
- if ( ! isset( $filter['key'] ) ) { |
|
|
923
|
+ if ( ! isset( $filter[ 'key' ] ) ) { |
|
924
|
924
|
gravityview()->log->debug( '[apply_filters_to_entry] Filter key not set, any field mode', array( 'filter' => $filter ) ); |
|
925
|
925
|
/** |
|
926
|
926
|
* This is a cross-field search. Let's start digging'. |
|
927
|
927
|
*/ |
|
928
|
928
|
foreach ( \GV\Utils::get( $form, 'fields', array() ) as $field ) { |
|
929
|
929
|
$field_value = GFFormsModel::get_lead_field_value( $entry, $field ); |
|
930
|
|
- if ( $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter['value'], $operator, $field ) ) { |
|
931
|
|
- if ( 'any' === $mode) { |
|
|
930
|
+ if ( $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter[ 'value' ], $operator, $field ) ) { |
|
|
931
|
+ if ( 'any' === $mode ) { |
|
932
|
932
|
return $entry; // All good here |
|
933
|
933
|
} // mode === 'all' |
|
934
|
934
|
continue 2; // Next filter |
|
@@ -937,13 +937,13 @@ discard block |
|
|
block discarded – undo |
|
937
|
937
|
} |
|
938
|
938
|
|
|
939
|
939
|
if ( 'all' === $mode ) { |
|
940
|
|
- return new WP_Error('failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a subcriterium for any field in ALL mode', $filter ); |
|
|
940
|
+ return new WP_Error( 'failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a subcriterium for any field in ALL mode', $filter ); |
|
941
|
941
|
} |
|
942
|
942
|
|
|
943
|
943
|
continue; |
|
944
|
944
|
} |
|
945
|
945
|
|
|
946
|
|
- $k = $filter['key']; |
|
|
946
|
+ $k = $filter[ 'key' ]; |
|
947
|
947
|
|
|
948
|
948
|
$field = self::get_field( $form, $k ); |
|
949
|
949
|
|
|
@@ -951,12 +951,12 @@ discard block |
|
|
block discarded – undo |
|
951
|
951
|
$field_value = isset( $entry[ $k ] ) ? $entry[ $k ] : null; |
|
952
|
952
|
$field = $k; |
|
953
|
953
|
} else { |
|
954
|
|
- $field_value = GFFormsModel::get_lead_field_value( $entry, $field ); |
|
|
954
|
+ $field_value = GFFormsModel::get_lead_field_value( $entry, $field ); |
|
955
|
955
|
// If it's a complex field, then fetch the input's value, if exists at the current key. Otherwise, let GF handle it |
|
956
|
956
|
$field_value = ( is_array( $field_value ) && isset( $field_value[ $k ] ) ) ? \GV\Utils::get( $field_value, $k ) : $field_value; |
|
957
|
957
|
} |
|
958
|
958
|
|
|
959
|
|
- $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter['value'], $operator, $field ); |
|
|
959
|
+ $is_value_match = GravityView_GFFormsModel::is_value_match( $field_value, $filter[ 'value' ], $operator, $field ); |
|
960
|
960
|
|
|
961
|
961
|
// Any match is all we need to know |
|
962
|
962
|
if ( $is_value_match && 'any' === $mode ) { |
|
@@ -965,7 +965,7 @@ discard block |
|
|
block discarded – undo |
|
965
|
965
|
|
|
966
|
966
|
// Any failed match is a total fail |
|
967
|
967
|
if ( ! $is_value_match && 'all' === $mode ) { |
|
968
|
|
- return new WP_Error('failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a criterium for ALL mode', $filter ); |
|
|
968
|
+ return new WP_Error( 'failed_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed a criterium for ALL mode', $filter ); |
|
969
|
969
|
} |
|
970
|
970
|
} |
|
971
|
971
|
|
|
@@ -975,7 +975,7 @@ discard block |
|
|
block discarded – undo |
|
975
|
975
|
gravityview()->log->debug( '[apply_filters_to_entry] Entry approved: all conditions were met' ); |
|
976
|
976
|
return $entry; |
|
977
|
977
|
} else { |
|
978
|
|
- return new WP_Error('failed_any_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed all the criteria for ANY mode', $filters ); |
|
|
978
|
+ return new WP_Error( 'failed_any_criteria', '[apply_filters_to_entry] Entry cannot be displayed. Failed all the criteria for ANY mode', $filters ); |
|
979
|
979
|
} |
|
980
|
980
|
|
|
981
|
981
|
} |
|
@@ -1016,18 +1016,18 @@ discard block |
|
|
block discarded – undo |
|
1016
|
1016
|
* Gravity Forms code to adjust date to locally-configured Time Zone |
|
1017
|
1017
|
* @see GFCommon::format_date() for original code |
|
1018
|
1018
|
*/ |
|
1019
|
|
- $date_gmt_time = mysql2date( 'G', $date_string ); |
|
|
1019
|
+ $date_gmt_time = mysql2date( 'G', $date_string ); |
|
1020
|
1020
|
$date_local_timestamp = GFCommon::get_local_timestamp( $date_gmt_time ); |
|
1021
|
1021
|
|
|
1022
|
|
- $format = \GV\Utils::get( $atts, 'format' ); |
|
1023
|
|
- $is_human = ! empty( $atts['human'] ); |
|
1024
|
|
- $is_diff = ! empty( $atts['diff'] ); |
|
1025
|
|
- $is_raw = ! empty( $atts['raw'] ); |
|
1026
|
|
- $is_timestamp = ! empty( $atts['timestamp'] ); |
|
1027
|
|
- $include_time = ! empty( $atts['time'] ); |
|
|
1022
|
+ $format = \GV\Utils::get( $atts, 'format' ); |
|
|
1023
|
+ $is_human = ! empty( $atts[ 'human' ] ); |
|
|
1024
|
+ $is_diff = ! empty( $atts[ 'diff' ] ); |
|
|
1025
|
+ $is_raw = ! empty( $atts[ 'raw' ] ); |
|
|
1026
|
+ $is_timestamp = ! empty( $atts[ 'timestamp' ] ); |
|
|
1027
|
+ $include_time = ! empty( $atts[ 'time' ] ); |
|
1028
|
1028
|
|
|
1029
|
1029
|
// If we're using time diff, we want to have a different default format |
|
1030
|
|
- if( empty( $format ) ) { |
|
|
1030
|
+ if ( empty( $format ) ) { |
|
1031
|
1031
|
/* translators: %s: relative time from now, used for generic date comparisons. "1 day ago", or "20 seconds ago" */ |
|
1032
|
1032
|
$format = $is_diff ? esc_html__( '%s ago', 'gravityview' ) : get_option( 'date_format' ); |
|
1033
|
1033
|
} |
|
@@ -1035,7 +1035,7 @@ discard block |
|
|
block discarded – undo |
|
1035
|
1035
|
// If raw was specified, don't modify the stored value |
|
1036
|
1036
|
if ( $is_raw ) { |
|
1037
|
1037
|
$formatted_date = $date_string; |
|
1038
|
|
- } elseif( $is_timestamp ) { |
|
|
1038
|
+ } elseif ( $is_timestamp ) { |
|
1039
|
1039
|
$formatted_date = $date_local_timestamp; |
|
1040
|
1040
|
} elseif ( $is_diff ) { |
|
1041
|
1041
|
$formatted_date = sprintf( $format, human_time_diff( $date_gmt_time ) ); |
|
@@ -1069,7 +1069,7 @@ discard block |
|
|
block discarded – undo |
|
1069
|
1069
|
|
|
1070
|
1070
|
$label = \GV\Utils::get( $field, 'label' ); |
|
1071
|
1071
|
|
|
1072
|
|
- if( floor( $field_id ) !== floatval( $field_id ) ) { |
|
|
1072
|
+ if ( floor( $field_id ) !== floatval( $field_id ) ) { |
|
1073
|
1073
|
$label = GFFormsModel::get_choice_text( $field, $field_value, $field_id ); |
|
1074
|
1074
|
} |
|
1075
|
1075
|
|
|
@@ -1097,7 +1097,7 @@ discard block |
|
|
block discarded – undo |
|
1097
|
1097
|
$form = GFAPI::get_form( $form ); |
|
1098
|
1098
|
} |
|
1099
|
1099
|
|
|
1100
|
|
- if ( class_exists( 'GFFormsModel' ) ){ |
|
|
1100
|
+ if ( class_exists( 'GFFormsModel' ) ) { |
|
1101
|
1101
|
return GFFormsModel::get_field( $form, $field_id ); |
|
1102
|
1102
|
} else { |
|
1103
|
1103
|
return null; |
|
@@ -1144,19 +1144,19 @@ discard block |
|
|
block discarded – undo |
|
1144
|
1144
|
$shortcodes = array(); |
|
1145
|
1145
|
|
|
1146
|
1146
|
preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER ); |
|
1147
|
|
- if ( empty( $matches ) ){ |
|
|
1147
|
+ if ( empty( $matches ) ) { |
|
1148
|
1148
|
return false; |
|
1149
|
1149
|
} |
|
1150
|
1150
|
|
|
1151
|
1151
|
foreach ( $matches as $shortcode ) { |
|
1152
|
|
- if ( $tag === $shortcode[2] ) { |
|
|
1152
|
+ if ( $tag === $shortcode[ 2 ] ) { |
|
1153
|
1153
|
|
|
1154
|
1154
|
// Changed this to $shortcode instead of true so we get the parsed atts. |
|
1155
|
|
- $shortcodes[] = $shortcode; |
|
|
1155
|
+ $shortcodes[ ] = $shortcode; |
|
1156
|
1156
|
|
|
1157
|
|
- } else if ( isset( $shortcode[5] ) && $results = self::has_shortcode_r( $shortcode[5], $tag ) ) { |
|
1158
|
|
- foreach( $results as $result ) { |
|
1159
|
|
- $shortcodes[] = $result; |
|
|
1157
|
+ } else if ( isset( $shortcode[ 5 ] ) && $results = self::has_shortcode_r( $shortcode[ 5 ], $tag ) ) { |
|
|
1158
|
+ foreach ( $results as $result ) { |
|
|
1159
|
+ $shortcodes[ ] = $result; |
|
1160
|
1160
|
} |
|
1161
|
1161
|
} |
|
1162
|
1162
|
} |
|
@@ -1188,7 +1188,7 @@ discard block |
|
|
block discarded – undo |
|
1188
|
1188
|
'post_type' => 'gravityview', |
|
1189
|
1189
|
'posts_per_page' => 100, |
|
1190
|
1190
|
'meta_key' => '_gravityview_form_id', |
|
1191
|
|
- 'meta_value' => (int) $form_id, |
|
|
1191
|
+ 'meta_value' => (int)$form_id, |
|
1192
|
1192
|
); |
|
1193
|
1193
|
$args = wp_parse_args( $args, $defaults ); |
|
1194
|
1194
|
$views = get_posts( $args ); |
|
@@ -1200,21 +1200,21 @@ discard block |
|
|
block discarded – undo |
|
1200
|
1200
|
|
|
1201
|
1201
|
$data = unserialize( $view->meta_value ); |
|
1202
|
1202
|
|
|
1203
|
|
- if( ! $data || ! is_array( $data ) ) { |
|
|
1203
|
+ if ( ! $data || ! is_array( $data ) ) { |
|
1204
|
1204
|
continue; |
|
1205
|
1205
|
} |
|
1206
|
1206
|
|
|
1207
|
1207
|
foreach ( $data as $datum ) { |
|
1208
|
|
- if ( ! empty( $datum[2] ) && (int) $datum[2] === (int) $form_id ) { |
|
1209
|
|
- $joined_forms[] = $view->post_id; |
|
|
1208
|
+ if ( ! empty( $datum[ 2 ] ) && (int)$datum[ 2 ] === (int)$form_id ) { |
|
|
1209
|
+ $joined_forms[ ] = $view->post_id; |
|
1210
|
1210
|
} |
|
1211
|
1211
|
} |
|
1212
|
1212
|
} |
|
1213
|
1213
|
|
|
1214
|
1214
|
if ( $joined_forms ) { |
|
1215
|
|
- $joined_args = array( |
|
|
1215
|
+ $joined_args = array( |
|
1216
|
1216
|
'post_type' => 'gravityview', |
|
1217
|
|
- 'posts_per_page' => $args['posts_per_page'], |
|
|
1217
|
+ 'posts_per_page' => $args[ 'posts_per_page' ], |
|
1218
|
1218
|
'post__in' => $joined_forms, |
|
1219
|
1219
|
); |
|
1220
|
1220
|
$views = array_merge( $views, get_posts( $joined_args ) ); |
|
@@ -1370,7 +1370,7 @@ discard block |
|
|
block discarded – undo |
|
1370
|
1370
|
|
|
1371
|
1371
|
$directory_widgets = wp_parse_args( $view_widgets, $defaults ); |
|
1372
|
1372
|
|
|
1373
|
|
- if( $json_decode ) { |
|
|
1373
|
+ if ( $json_decode ) { |
|
1374
|
1374
|
$directory_widgets = gv_map_deep( $directory_widgets, 'gv_maybe_json_decode' ); |
|
1375
|
1375
|
} |
|
1376
|
1376
|
|
|
@@ -1386,7 +1386,7 @@ discard block |
|
|
block discarded – undo |
|
1386
|
1386
|
* @return string html |
|
1387
|
1387
|
*/ |
|
1388
|
1388
|
public static function get_sortable_fields( $formid, $current = '' ) { |
|
1389
|
|
- $output = '<option value="" ' . selected( '', $current, false ).'>' . esc_html__( 'Default', 'gravityview' ) .'</option>'; |
|
|
1389
|
+ $output = '<option value="" ' . selected( '', $current, false ) . '>' . esc_html__( 'Default', 'gravityview' ) . '</option>'; |
|
1390
|
1390
|
|
|
1391
|
1391
|
if ( empty( $formid ) ) { |
|
1392
|
1392
|
return $output; |
|
@@ -1399,11 +1399,11 @@ discard block |
|
|
block discarded – undo |
|
1399
|
1399
|
$blacklist_field_types = apply_filters( 'gravityview_blacklist_field_types', array( 'list', 'textarea' ), null ); |
|
1400
|
1400
|
|
|
1401
|
1401
|
foreach ( $fields as $id => $field ) { |
|
1402
|
|
- if ( in_array( $field['type'], $blacklist_field_types ) ) { |
|
|
1402
|
+ if ( in_array( $field[ 'type' ], $blacklist_field_types ) ) { |
|
1403
|
1403
|
continue; |
|
1404
|
1404
|
} |
|
1405
|
1405
|
|
|
1406
|
|
- $output .= '<option value="'. $id .'" '. selected( $id, $current, false ).'>'. esc_attr( $field['label'] ) .'</option>'; |
|
|
1406
|
+ $output .= '<option value="' . $id . '" ' . selected( $id, $current, false ) . '>' . esc_attr( $field[ 'label' ] ) . '</option>'; |
|
1407
|
1407
|
} |
|
1408
|
1408
|
} |
|
1409
|
1409
|
|
|
@@ -1438,9 +1438,9 @@ discard block |
|
|
block discarded – undo |
|
1438
|
1438
|
$blacklist_field_types = apply_filters( 'gravityview_blacklist_field_types', $blacklist, NULL ); |
|
1439
|
1439
|
|
|
1440
|
1440
|
// TODO: Convert to using array_filter |
|
1441
|
|
- foreach( $fields as $id => $field ) { |
|
|
1441
|
+ foreach ( $fields as $id => $field ) { |
|
1442
|
1442
|
|
|
1443
|
|
- if( in_array( $field['type'], $blacklist_field_types ) ) { |
|
|
1443
|
+ if ( in_array( $field[ 'type' ], $blacklist_field_types ) ) { |
|
1444
|
1444
|
unset( $fields[ $id ] ); |
|
1445
|
1445
|
} |
|
1446
|
1446
|
} |
|
@@ -1481,14 +1481,14 @@ discard block |
|
|
block discarded – undo |
|
1481
|
1481
|
* @param int|array $field field key or field array |
|
1482
|
1482
|
* @return boolean |
|
1483
|
1483
|
*/ |
|
1484
|
|
- public static function is_field_numeric( $form = null, $field = '' ) { |
|
|
1484
|
+ public static function is_field_numeric( $form = null, $field = '' ) { |
|
1485
|
1485
|
|
|
1486
|
1486
|
if ( ! is_array( $form ) && ! is_array( $field ) ) { |
|
1487
|
1487
|
$form = self::get_form( $form ); |
|
1488
|
1488
|
} |
|
1489
|
1489
|
|
|
1490
|
1490
|
// If entry meta, it's a string. Otherwise, numeric |
|
1491
|
|
- if( ! is_numeric( $field ) && is_string( $field ) ) { |
|
|
1491
|
+ if ( ! is_numeric( $field ) && is_string( $field ) ) { |
|
1492
|
1492
|
$type = $field; |
|
1493
|
1493
|
} else { |
|
1494
|
1494
|
$type = self::get_field_type( $form, $field ); |
|
@@ -1502,9 +1502,9 @@ discard block |
|
|
block discarded – undo |
|
1502
|
1502
|
$numeric_types = apply_filters( 'gravityview/common/numeric_types', array( 'number', 'time' ) ); |
|
1503
|
1503
|
|
|
1504
|
1504
|
// Defer to GravityView_Field setting, if the field type is registered and `is_numeric` is true |
|
1505
|
|
- if( $gv_field = GravityView_Fields::get( $type ) ) { |
|
1506
|
|
- if( true === $gv_field->is_numeric ) { |
|
1507
|
|
- $numeric_types[] = $gv_field->is_numeric; |
|
|
1505
|
+ if ( $gv_field = GravityView_Fields::get( $type ) ) { |
|
|
1506
|
+ if ( true === $gv_field->is_numeric ) { |
|
|
1507
|
+ $numeric_types[ ] = $gv_field->is_numeric; |
|
1508
|
1508
|
} |
|
1509
|
1509
|
} |
|
1510
|
1510
|
|
|
@@ -1654,18 +1654,18 @@ discard block |
|
|
block discarded – undo |
|
1654
|
1654
|
$final_atts = array_filter( $final_atts ); |
|
1655
|
1655
|
|
|
1656
|
1656
|
// If the href wasn't passed as an attribute, use the value passed to the function |
|
1657
|
|
- if ( empty( $final_atts['href'] ) && ! empty( $href ) ) { |
|
1658
|
|
- $final_atts['href'] = $href; |
|
|
1657
|
+ if ( empty( $final_atts[ 'href' ] ) && ! empty( $href ) ) { |
|
|
1658
|
+ $final_atts[ 'href' ] = $href; |
|
1659
|
1659
|
} |
|
1660
|
1660
|
|
|
1661
|
|
- $final_atts['href'] = esc_url_raw( $href ); |
|
|
1661
|
+ $final_atts[ 'href' ] = esc_url_raw( $href ); |
|
1662
|
1662
|
|
|
1663
|
1663
|
/** |
|
1664
|
1664
|
* Fix potential security issue with target=_blank |
|
1665
|
1665
|
* @see https://dev.to/ben/the-targetblank-vulnerability-by-example |
|
1666
|
1666
|
*/ |
|
1667
|
|
- if( '_blank' === \GV\Utils::get( $final_atts, 'target' ) ) { |
|
1668
|
|
- $final_atts['rel'] = trim( \GV\Utils::get( $final_atts, 'rel', '' ) . ' noopener noreferrer' ); |
|
|
1667
|
+ if ( '_blank' === \GV\Utils::get( $final_atts, 'target' ) ) { |
|
|
1668
|
+ $final_atts[ 'rel' ] = trim( \GV\Utils::get( $final_atts, 'rel', '' ) . ' noopener noreferrer' ); |
|
1669
|
1669
|
} |
|
1670
|
1670
|
|
|
1671
|
1671
|
// Sort the attributes alphabetically, to help testing |
|
@@ -1677,7 +1677,7 @@ discard block |
|
|
block discarded – undo |
|
1677
|
1677
|
$output .= sprintf( ' %s="%s"', $attr, esc_attr( $value ) ); |
|
1678
|
1678
|
} |
|
1679
|
1679
|
|
|
1680
|
|
- if( '' !== $output ) { |
|
|
1680
|
+ if ( '' !== $output ) { |
|
1681
|
1681
|
$output = '<a' . $output . '>' . $anchor_text . '</a>'; |
|
1682
|
1682
|
} |
|
1683
|
1683
|
|
|
@@ -1704,7 +1704,7 @@ discard block |
|
|
block discarded – undo |
|
1704
|
1704
|
if ( is_array( $value ) && isset( $merged[ $key ] ) && is_array( $merged[ $key ] ) ) { |
|
1705
|
1705
|
$merged[ $key ] = self::array_merge_recursive_distinct( $merged[ $key ], $value ); |
|
1706
|
1706
|
} else if ( is_numeric( $key ) && isset( $merged[ $key ] ) ) { |
|
1707
|
|
- $merged[] = $value; |
|
|
1707
|
+ $merged[ ] = $value; |
|
1708
|
1708
|
} else { |
|
1709
|
1709
|
$merged[ $key ] = $value; |
|
1710
|
1710
|
} |
|
@@ -1737,7 +1737,7 @@ discard block |
|
|
block discarded – undo |
|
1737
|
1737
|
* `$context` is where are we using this information (e.g. change_entry_creator, search_widget ..) |
|
1738
|
1738
|
* @param array $settings Settings array, with `number` key defining the # of users to display |
|
1739
|
1739
|
*/ |
|
1740
|
|
- $get_users_settings = apply_filters( 'gravityview/get_users/'. $context, apply_filters( 'gravityview_change_entry_creator_user_parameters', $get_users_settings ) ); |
|
|
1740
|
+ $get_users_settings = apply_filters( 'gravityview/get_users/' . $context, apply_filters( 'gravityview_change_entry_creator_user_parameters', $get_users_settings ) ); |
|
1741
|
1741
|
|
|
1742
|
1742
|
return get_users( $get_users_settings ); |
|
1743
|
1743
|
} |
|
@@ -1757,11 +1757,11 @@ discard block |
|
|
block discarded – undo |
|
1757
|
1757
|
public static function generate_notice( $notice, $class = '', $cap = '', $object_id = null ) { |
|
1758
|
1758
|
|
|
1759
|
1759
|
// If $cap is defined, only show notice if user has capability |
|
1760
|
|
- if( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
|
1760
|
+ if ( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
1761
|
1761
|
return ''; |
|
1762
|
1762
|
} |
|
1763
|
1763
|
|
|
1764
|
|
- return '<div class="gv-notice '.gravityview_sanitize_html_class( $class ) .'">'. $notice .'</div>'; |
|
|
1764
|
+ return '<div class="gv-notice ' . gravityview_sanitize_html_class( $class ) . '">' . $notice . '</div>'; |
|
1765
|
1765
|
} |
|
1766
|
1766
|
|
|
1767
|
1767
|
/** |