|
@@ -125,7 +125,7 @@ discard block |
|
|
block discarded – undo |
|
125
|
125
|
$supports = array( 'title', 'revisions' ); |
|
126
|
126
|
|
|
127
|
127
|
if ( $is_hierarchical ) { |
|
128
|
|
- $supports[] = 'page-attributes'; |
|
|
128
|
+ $supports[ ] = 'page-attributes'; |
|
129
|
129
|
} |
|
130
|
130
|
|
|
131
|
131
|
/** |
|
@@ -227,11 +227,11 @@ discard block |
|
|
block discarded – undo |
|
227
|
227
|
$rule = array( sprintf( '%s/([^/]+)/csv/?', $slug ), 'index.php?gravityview=$matches[1]&csv=1', 'top' ); |
|
228
|
228
|
|
|
229
|
229
|
add_filter( 'query_vars', function( $query_vars ) { |
|
230
|
|
- $query_vars[] = 'csv'; |
|
|
230
|
+ $query_vars[ ] = 'csv'; |
|
231
|
231
|
return $query_vars; |
|
232
|
232
|
} ); |
|
233
|
233
|
|
|
234
|
|
- if ( ! isset( $wp_rewrite->extra_rules_top[ $rule[0] ] ) ) { |
|
|
234
|
+ if ( ! isset( $wp_rewrite->extra_rules_top[ $rule[ 0 ] ] ) ) { |
|
235
|
235
|
call_user_func_array( 'add_rewrite_rule', $rule ); |
|
236
|
236
|
} |
|
237
|
237
|
} |
|
@@ -308,13 +308,13 @@ discard block |
|
|
block discarded – undo |
|
308
|
308
|
return $content; |
|
309
|
309
|
} |
|
310
|
310
|
|
|
311
|
|
- $is_admin_and_can_view = $view->settings->get( 'admin_show_all_statuses' ) && \GVCommon::has_cap('gravityview_moderate_entries', $view->ID ); |
|
|
311
|
+ $is_admin_and_can_view = $view->settings->get( 'admin_show_all_statuses' ) && \GVCommon::has_cap( 'gravityview_moderate_entries', $view->ID ); |
|
312
|
312
|
|
|
313
|
313
|
/** |
|
314
|
314
|
* Editing a single entry. |
|
315
|
315
|
*/ |
|
316
|
316
|
if ( $entry = $request->is_edit_entry( $view->form ? $view->form->ID : 0 ) ) { |
|
317
|
|
- if ( $entry['status'] != 'active' ) { |
|
|
317
|
+ if ( $entry[ 'status' ] != 'active' ) { |
|
318
|
318
|
gravityview()->log->notice( 'Entry ID #{entry_id} is not active', array( 'entry_id' => $entry->ID ) ); |
|
319
|
319
|
return __( 'You are not allowed to view this content.', 'gravityview' ); |
|
320
|
320
|
} |
|
@@ -325,7 +325,7 @@ discard block |
|
|
block discarded – undo |
|
325
|
325
|
} |
|
326
|
326
|
|
|
327
|
327
|
if ( $view->settings->get( 'show_only_approved' ) && ! $is_admin_and_can_view ) { |
|
328
|
|
- if ( ! \GravityView_Entry_Approval_Status::is_approved( gform_get_meta( $entry->ID, \GravityView_Entry_Approval::meta_key ) ) ) { |
|
|
328
|
+ if ( ! \GravityView_Entry_Approval_Status::is_approved( gform_get_meta( $entry->ID, \GravityView_Entry_Approval::meta_key ) ) ) { |
|
329
|
329
|
gravityview()->log->error( 'Entry ID #{entry_id} is not approved for viewing', array( 'entry_id' => $entry->ID ) ); |
|
330
|
330
|
return __( 'You are not allowed to view this content.', 'gravityview' ); |
|
331
|
331
|
} |
|
@@ -348,7 +348,7 @@ discard block |
|
|
block discarded – undo |
|
348
|
348
|
|
|
349
|
349
|
foreach ( $entryset as $e ) { |
|
350
|
350
|
|
|
351
|
|
- if ( 'active' !== $e['status'] ) { |
|
|
351
|
+ if ( 'active' !== $e[ 'status' ] ) { |
|
352
|
352
|
gravityview()->log->notice( 'Entry ID #{entry_id} is not active', array( 'entry_id' => $e->ID ) ); |
|
353
|
353
|
return __( 'You are not allowed to view this content.', 'gravityview' ); |
|
354
|
354
|
} |
|
@@ -359,7 +359,7 @@ discard block |
|
|
block discarded – undo |
|
359
|
359
|
} |
|
360
|
360
|
|
|
361
|
361
|
if ( $show_only_approved && ! $is_admin_and_can_view ) { |
|
362
|
|
- if ( ! \GravityView_Entry_Approval_Status::is_approved( gform_get_meta( $e->ID, \GravityView_Entry_Approval::meta_key ) ) ) { |
|
|
362
|
+ if ( ! \GravityView_Entry_Approval_Status::is_approved( gform_get_meta( $e->ID, \GravityView_Entry_Approval::meta_key ) ) ) { |
|
363
|
363
|
gravityview()->log->error( 'Entry ID #{entry_id} is not approved for viewing', array( 'entry_id' => $e->ID ) ); |
|
364
|
364
|
return __( 'You are not allowed to view this content.', 'gravityview' ); |
|
365
|
365
|
} |
|
@@ -534,7 +534,7 @@ discard block |
|
|
block discarded – undo |
|
534
|
534
|
$join_column = is_numeric( $join_column ) ? GF_Field::by_id( $join, $join_column ) : Internal_Field::by_id( $join_column ); |
|
535
|
535
|
$join_on_column = is_numeric( $join_on_column ) ? GF_Field::by_id( $join_on, $join_on_column ) : Internal_Field::by_id( $join_on_column ); |
|
536
|
536
|
|
|
537
|
|
- $joins [] = new Join( $join, $join_column, $join_on, $join_on_column ); |
|
|
537
|
+ $joins [ ] = new Join( $join, $join_column, $join_on, $join_on_column ); |
|
538
|
538
|
} |
|
539
|
539
|
|
|
540
|
540
|
return $joins; |
|
@@ -624,13 +624,13 @@ discard block |
|
|
block discarded – undo |
|
624
|
624
|
} |
|
625
|
625
|
|
|
626
|
626
|
foreach ( $_fields as $field ) { |
|
627
|
|
- if ( ! empty( $field['unions'] ) ) { |
|
628
|
|
- foreach ( $field['unions'] as $form_id => $field_id ) { |
|
|
627
|
+ if ( ! empty( $field[ 'unions' ] ) ) { |
|
|
628
|
+ foreach ( $field[ 'unions' ] as $form_id => $field_id ) { |
|
629
|
629
|
if ( ! isset( $unions[ $form_id ] ) ) { |
|
630
|
630
|
$unions[ $form_id ] = array(); |
|
631
|
631
|
} |
|
632
|
632
|
|
|
633
|
|
- $unions[ $form_id ][ $field['id'] ] = |
|
|
633
|
+ $unions[ $form_id ][ $field[ 'id' ] ] = |
|
634
|
634
|
is_numeric( $field_id ) ? \GV\GF_Field::by_id( \GV\GF_Form::by_id( $form_id ), $field_id ) : \GV\Internal_Field::by_id( $field_id ); |
|
635
|
635
|
} |
|
636
|
636
|
} |
|
@@ -685,7 +685,7 @@ discard block |
|
|
block discarded – undo |
|
685
|
685
|
if ( ! $view->form ) { |
|
686
|
686
|
gravityview()->log->error( 'View #{view_id} tried attaching non-existent Form #{form_id} to it.', array( |
|
687
|
687
|
'view_id' => $view->ID, |
|
688
|
|
- 'form_id' => $view->_gravityview_form_id ? : 0, |
|
|
688
|
+ 'form_id' => $view->_gravityview_form_id ?: 0, |
|
689
|
689
|
) ); |
|
690
|
690
|
} |
|
691
|
691
|
|
|
@@ -924,11 +924,11 @@ discard block |
|
|
block discarded – undo |
|
924
|
924
|
* Remove multiple sorting before calling legacy filters. |
|
925
|
925
|
* This allows us to fake it till we make it. |
|
926
|
926
|
*/ |
|
927
|
|
- if ( ! empty( $parameters['sort_field'] ) && is_array( $parameters['sort_field'] ) ) { |
|
|
927
|
+ if ( ! empty( $parameters[ 'sort_field' ] ) && is_array( $parameters[ 'sort_field' ] ) ) { |
|
928
|
928
|
$has_multisort = true; |
|
929
|
|
- $parameters['sort_field'] = reset( $parameters['sort_field'] ); |
|
930
|
|
- if ( ! empty( $parameters['sort_direction'] ) && is_array( $parameters['sort_direction'] ) ) { |
|
931
|
|
- $parameters['sort_direction'] = reset( $parameters['sort_direction'] ); |
|
|
929
|
+ $parameters[ 'sort_field' ] = reset( $parameters[ 'sort_field' ] ); |
|
|
930
|
+ if ( ! empty( $parameters[ 'sort_direction' ] ) && is_array( $parameters[ 'sort_direction' ] ) ) { |
|
|
931
|
+ $parameters[ 'sort_direction' ] = reset( $parameters[ 'sort_direction' ] ); |
|
932
|
932
|
} |
|
933
|
933
|
} |
|
934
|
934
|
|
|
@@ -937,31 +937,30 @@ discard block |
|
|
block discarded – undo |
|
937
|
937
|
*/ |
|
938
|
938
|
$parameters = \GravityView_frontend::get_view_entries_parameters( $parameters, $this->form->ID ); |
|
939
|
939
|
|
|
940
|
|
- $parameters['context_view_id'] = $this->ID; |
|
|
940
|
+ $parameters[ 'context_view_id' ] = $this->ID; |
|
941
|
941
|
$parameters = \GVCommon::calculate_get_entries_criteria( $parameters, $this->form->ID ); |
|
942
|
942
|
|
|
943
|
943
|
if ( ! is_array( $parameters ) ) { |
|
944
|
944
|
$parameters = array(); |
|
945
|
945
|
} |
|
946
|
946
|
|
|
947
|
|
- if ( ! is_array( $parameters['search_criteria'] ) ) { |
|
948
|
|
- $parameters['search_criteria'] = array(); |
|
|
947
|
+ if ( ! is_array( $parameters[ 'search_criteria' ] ) ) { |
|
|
948
|
+ $parameters[ 'search_criteria' ] = array(); |
|
949
|
949
|
} |
|
950
|
950
|
|
|
951
|
|
- if ( ( ! isset( $parameters['search_criteria']['field_filters'] ) ) || ( ! is_array( $parameters['search_criteria']['field_filters'] ) ) ) { |
|
952
|
|
- $parameters['search_criteria']['field_filters'] = array(); |
|
|
951
|
+ if ( ( ! isset( $parameters[ 'search_criteria' ][ 'field_filters' ] ) ) || ( ! is_array( $parameters[ 'search_criteria' ][ 'field_filters' ] ) ) ) { |
|
|
952
|
+ $parameters[ 'search_criteria' ][ 'field_filters' ] = array(); |
|
953
|
953
|
} |
|
954
|
954
|
|
|
955
|
955
|
if ( $request instanceof REST\Request ) { |
|
956
|
956
|
$atts = $this->settings->as_atts(); |
|
957
|
957
|
$paging_parameters = wp_parse_args( $request->get_paging(), array( |
|
958
|
|
- 'paging' => array( 'page_size' => $atts['page_size'] ), |
|
|
958
|
+ 'paging' => array( 'page_size' => $atts[ 'page_size' ] ), |
|
959
|
959
|
) ); |
|
960
|
|
- $parameters['paging'] = $paging_parameters['paging']; |
|
|
960
|
+ $parameters[ 'paging' ] = $paging_parameters[ 'paging' ]; |
|
961
|
961
|
} |
|
962
|
962
|
|
|
963
|
|
- $page = Utils::get( $parameters['paging'], 'current_page' ) ? |
|
964
|
|
- : ( ( ( $parameters['paging']['offset'] - $this->settings->get( 'offset' ) ) / \GV\Utils::get( $parameters, 'paging/page_size', 25 ) ) + 1 ); |
|
|
963
|
+ $page = Utils::get( $parameters[ 'paging' ], 'current_page' ) ?: ( ( ( $parameters[ 'paging' ][ 'offset' ] - $this->settings->get( 'offset' ) ) / \GV\Utils::get( $parameters, 'paging/page_size', 25 ) ) + 1 ); |
|
965
|
964
|
|
|
966
|
965
|
/** |
|
967
|
966
|
* Cleanup duplicate field_filter parameters to simplify the query. |
|
@@ -969,14 +968,14 @@ discard block |
|
|
block discarded – undo |
|
969
|
968
|
$unique_field_filters = array(); |
|
970
|
969
|
foreach ( Utils::get( $parameters, 'search_criteria/field_filters', array() ) as $key => $filter ) { |
|
971
|
970
|
if ( 'mode' === $key ) { |
|
972
|
|
- $unique_field_filters['mode'] = $filter; |
|
|
971
|
+ $unique_field_filters[ 'mode' ] = $filter; |
|
973
|
972
|
} else if ( ! in_array( $filter, $unique_field_filters ) ) { |
|
974
|
|
- $unique_field_filters[] = $filter; |
|
|
973
|
+ $unique_field_filters[ ] = $filter; |
|
975
|
974
|
} |
|
976
|
975
|
} |
|
977
|
|
- $parameters['search_criteria']['field_filters'] = $unique_field_filters; |
|
|
976
|
+ $parameters[ 'search_criteria' ][ 'field_filters' ] = $unique_field_filters; |
|
978
|
977
|
|
|
979
|
|
- if ( ! empty( $parameters['search_criteria']['field_filters'] ) ) { |
|
|
978
|
+ if ( ! empty( $parameters[ 'search_criteria' ][ 'field_filters' ] ) ) { |
|
980
|
979
|
gravityview()->log->notice( 'search_criteria/field_filters is not empty, third-party code may be using legacy search_criteria filters.' ); |
|
981
|
980
|
} |
|
982
|
981
|
|
|
@@ -985,7 +984,7 @@ discard block |
|
|
block discarded – undo |
|
985
|
984
|
$query_class = $this->get_query_class(); |
|
986
|
985
|
|
|
987
|
986
|
/** @var \GF_Query $query */ |
|
988
|
|
- $query = new $query_class( $this->form->ID, $parameters['search_criteria'], Utils::get( $parameters, 'sorting' ) ); |
|
|
987
|
+ $query = new $query_class( $this->form->ID, $parameters[ 'search_criteria' ], Utils::get( $parameters, 'sorting' ) ); |
|
989
|
988
|
|
|
990
|
989
|
/** |
|
991
|
990
|
* Apply multisort. |
|
@@ -996,15 +995,15 @@ discard block |
|
|
block discarded – undo |
|
996
|
995
|
$view_setting_sort_field_ids = \GV\Utils::get( $atts, 'sort_field', array() ); |
|
997
|
996
|
$view_setting_sort_directions = \GV\Utils::get( $atts, 'sort_direction', array() ); |
|
998
|
997
|
|
|
999
|
|
- $has_sort_query_param = ! empty( $_GET['sort'] ) && is_array( $_GET['sort'] ); |
|
|
998
|
+ $has_sort_query_param = ! empty( $_GET[ 'sort' ] ) && is_array( $_GET[ 'sort' ] ); |
|
1000
|
999
|
|
|
1001
|
|
- if( $has_sort_query_param ) { |
|
1002
|
|
- $has_sort_query_param = array_filter( array_values( $_GET['sort'] ) ); |
|
|
1000
|
+ if ( $has_sort_query_param ) { |
|
|
1001
|
+ $has_sort_query_param = array_filter( array_values( $_GET[ 'sort' ] ) ); |
|
1003
|
1002
|
} |
|
1004
|
1003
|
|
|
1005
|
1004
|
if ( $this->settings->get( 'sort_columns' ) && $has_sort_query_param ) { |
|
1006
|
|
- $sort_field_ids = array_keys( $_GET['sort'] ); |
|
1007
|
|
- $sort_directions = array_values( $_GET['sort'] ); |
|
|
1005
|
+ $sort_field_ids = array_keys( $_GET[ 'sort' ] ); |
|
|
1006
|
+ $sort_directions = array_values( $_GET[ 'sort' ] ); |
|
1008
|
1007
|
} else { |
|
1009
|
1008
|
$sort_field_ids = $view_setting_sort_field_ids; |
|
1010
|
1009
|
$sort_directions = $view_setting_sort_directions; |
|
@@ -1012,7 +1011,7 @@ discard block |
|
|
block discarded – undo |
|
1012
|
1011
|
|
|
1013
|
1012
|
$skip_first = false; |
|
1014
|
1013
|
|
|
1015
|
|
- foreach ( (array) $sort_field_ids as $key => $sort_field_id ) { |
|
|
1014
|
+ foreach ( (array)$sort_field_ids as $key => $sort_field_id ) { |
|
1016
|
1015
|
|
|
1017
|
1016
|
if ( ! $skip_first && ! $has_sort_query_param ) { |
|
1018
|
1017
|
$skip_first = true; // Skip the first one, it's already in the query |
|
@@ -1042,15 +1041,15 @@ discard block |
|
|
block discarded – undo |
|
1042
|
1041
|
|
|
1043
|
1042
|
$merged_time = false; |
|
1044
|
1043
|
|
|
1045
|
|
- foreach ( $q['order'] as $oid => $order ) { |
|
1046
|
|
- if ( $order[0] instanceof \GF_Query_Column ) { |
|
1047
|
|
- $column = $order[0]; |
|
1048
|
|
- } else if ( $order[0] instanceof \GF_Query_Call ) { |
|
1049
|
|
- if ( count( $order[0]->columns ) != 1 || ! $order[0]->columns[0] instanceof \GF_Query_Column ) { |
|
|
1044
|
+ foreach ( $q[ 'order' ] as $oid => $order ) { |
|
|
1045
|
+ if ( $order[ 0 ] instanceof \GF_Query_Column ) { |
|
|
1046
|
+ $column = $order[ 0 ]; |
|
|
1047
|
+ } else if ( $order[ 0 ] instanceof \GF_Query_Call ) { |
|
|
1048
|
+ if ( count( $order[ 0 ]->columns ) != 1 || ! $order[ 0 ]->columns[ 0 ] instanceof \GF_Query_Column ) { |
|
1050
|
1049
|
$orders[ $oid ] = $order; |
|
1051
|
1050
|
continue; // Need something that resembles a single sort |
|
1052
|
1051
|
} |
|
1053
|
|
- $column = $order[0]->columns[0]; |
|
|
1052
|
+ $column = $order[ 0 ]->columns[ 0 ]; |
|
1054
|
1053
|
} |
|
1055
|
1054
|
|
|
1056
|
1055
|
if ( ( ! $field = \GFAPI::get_field( $column->source, $column->field_id ) ) || $field->type !== 'time' ) { |
|
@@ -1064,7 +1063,7 @@ discard block |
|
|
block discarded – undo |
|
1064
|
1063
|
|
|
1065
|
1064
|
$orders[ $oid ] = array( |
|
1066
|
1065
|
new \GV\Mocks\GF_Query_Call_TIMESORT( 'timesort', array( $column, $sql ) ), |
|
1067
|
|
- $order[1] // Mock it! |
|
|
1066
|
+ $order[ 1 ] // Mock it! |
|
1068
|
1067
|
); |
|
1069
|
1068
|
|
|
1070
|
1069
|
$merged_time = true; |
|
@@ -1075,15 +1074,15 @@ discard block |
|
|
block discarded – undo |
|
1075
|
1074
|
* ORDER again. |
|
1076
|
1075
|
*/ |
|
1077
|
1076
|
if ( ! empty( $orders ) && $_orders = $query->_order_generate( $orders ) ) { |
|
1078
|
|
- $sql['order'] = 'ORDER BY ' . implode( ', ', $_orders ); |
|
|
1077
|
+ $sql[ 'order' ] = 'ORDER BY ' . implode( ', ', $_orders ); |
|
1079
|
1078
|
} |
|
1080
|
1079
|
} |
|
1081
|
1080
|
|
|
1082
|
1081
|
return $sql; |
|
1083
|
1082
|
} ); |
|
1084
|
1083
|
|
|
1085
|
|
- $query->limit( $parameters['paging']['page_size'] ) |
|
1086
|
|
- ->offset( ( ( $page - 1 ) * $parameters['paging']['page_size'] ) + $this->settings->get( 'offset' ) ); |
|
|
1084
|
+ $query->limit( $parameters[ 'paging' ][ 'page_size' ] ) |
|
|
1085
|
+ ->offset( ( ( $page - 1 ) * $parameters[ 'paging' ][ 'page_size' ] ) + $this->settings->get( 'offset' ) ); |
|
1087
|
1086
|
|
|
1088
|
1087
|
/** |
|
1089
|
1088
|
* Any joins? |
|
@@ -1106,7 +1105,7 @@ discard block |
|
|
block discarded – undo |
|
1106
|
1105
|
|
|
1107
|
1106
|
$query_parameters = $query->_introspect(); |
|
1108
|
1107
|
|
|
1109
|
|
- $query->where( \GF_Query_Condition::_and( $query_parameters['where'], $condition ) ); |
|
|
1108
|
+ $query->where( \GF_Query_Condition::_and( $query_parameters[ 'where' ], $condition ) ); |
|
1110
|
1109
|
} |
|
1111
|
1110
|
|
|
1112
|
1111
|
/** |
|
@@ -1140,7 +1139,7 @@ discard block |
|
|
block discarded – undo |
|
1140
|
1139
|
} |
|
1141
|
1140
|
|
|
1142
|
1141
|
$q = $query->_introspect(); |
|
1143
|
|
- $query->where( \GF_Query_Condition::_and( $q['where'], $condition ) ); |
|
|
1142
|
+ $query->where( \GF_Query_Condition::_and( $q[ 'where' ], $condition ) ); |
|
1144
|
1143
|
|
|
1145
|
1144
|
if ( $this->settings->get( 'show_only_approved' ) && ! $is_admin_and_can_view ) { |
|
1146
|
1145
|
|
|
@@ -1165,7 +1164,7 @@ discard block |
|
|
block discarded – undo |
|
1165
|
1164
|
|
|
1166
|
1165
|
$query_parameters = $query->_introspect(); |
|
1167
|
1166
|
|
|
1168
|
|
- $query->where( \GF_Query_Condition::_and( $query_parameters['where'], $condition ) ); |
|
|
1167
|
+ $query->where( \GF_Query_Condition::_and( $query_parameters[ 'where' ], $condition ) ); |
|
1169
|
1168
|
} |
|
1170
|
1169
|
} |
|
1171
|
1170
|
|
|
@@ -1189,7 +1188,7 @@ discard block |
|
|
block discarded – undo |
|
1189
|
1188
|
$conditions = array(); |
|
1190
|
1189
|
|
|
1191
|
1190
|
foreach ( $condition->expressions as $_condition ) { |
|
1192
|
|
- $conditions[] = $recurse( $_condition, $fields, $recurse ); |
|
|
1191
|
+ $conditions[ ] = $recurse( $_condition, $fields, $recurse ); |
|
1193
|
1192
|
} |
|
1194
|
1193
|
|
|
1195
|
1194
|
return call_user_func_array( |
|
@@ -1218,10 +1217,10 @@ discard block |
|
|
block discarded – undo |
|
1218
|
1217
|
$q = new $query_class( $form_id ); |
|
1219
|
1218
|
|
|
1220
|
1219
|
// Copy the WHERE clauses but substitute the field_ids to the respective ones |
|
1221
|
|
- $q->where( $where_union_substitute( $query_parameters['where'], $fields, $where_union_substitute ) ); |
|
|
1220
|
+ $q->where( $where_union_substitute( $query_parameters[ 'where' ], $fields, $where_union_substitute ) ); |
|
1222
|
1221
|
|
|
1223
|
1222
|
// Copy the ORDER clause and substitute the field_ids to the respective ones |
|
1224
|
|
- foreach ( $query_parameters['order'] as $order ) { |
|
|
1223
|
+ foreach ( $query_parameters[ 'order' ] as $order ) { |
|
1225
|
1224
|
list( $column, $_order ) = $order; |
|
1226
|
1225
|
|
|
1227
|
1226
|
if ( $column && $column instanceof \GF_Query_Column ) { |
|
@@ -1235,15 +1234,15 @@ discard block |
|
|
block discarded – undo |
|
1235
|
1234
|
|
|
1236
|
1235
|
add_filter( 'gform_gf_query_sql', $gf_query_sql_callback = function( $sql ) use ( &$unions_sql ) { |
|
1237
|
1236
|
// Remove SQL_CALC_FOUND_ROWS as it's not needed in UNION clauses |
|
1238
|
|
- $select = 'UNION ALL ' . str_replace( 'SQL_CALC_FOUND_ROWS ', '', $sql['select'] ); |
|
|
1237
|
+ $select = 'UNION ALL ' . str_replace( 'SQL_CALC_FOUND_ROWS ', '', $sql[ 'select' ] ); |
|
1239
|
1238
|
|
|
1240
|
1239
|
// Record the SQL |
|
1241
|
|
- $unions_sql[] = array( |
|
|
1240
|
+ $unions_sql[ ] = array( |
|
1242
|
1241
|
// Remove columns, we'll rebuild them |
|
1243
|
1242
|
'select' => preg_replace( '#DISTINCT (.*)#', 'DISTINCT ', $select ), |
|
1244
|
|
- 'from' => $sql['from'], |
|
1245
|
|
- 'join' => $sql['join'], |
|
1246
|
|
- 'where' => $sql['where'], |
|
|
1243
|
+ 'from' => $sql[ 'from' ], |
|
|
1244
|
+ 'join' => $sql[ 'join' ], |
|
|
1245
|
+ 'where' => $sql[ 'where' ], |
|
1247
|
1246
|
// Remove order and limit |
|
1248
|
1247
|
); |
|
1249
|
1248
|
|
|
@@ -1260,11 +1259,11 @@ discard block |
|
|
block discarded – undo |
|
1260
|
1259
|
|
|
1261
|
1260
|
add_filter( 'gform_gf_query_sql', $gf_query_sql_callback = function( $sql ) use ( $unions_sql ) { |
|
1262
|
1261
|
// Remove SQL_CALC_FOUND_ROWS as it's not needed in UNION clauses |
|
1263
|
|
- $sql['select'] = str_replace( 'SQL_CALC_FOUND_ROWS ', '', $sql['select'] ); |
|
|
1262
|
+ $sql[ 'select' ] = str_replace( 'SQL_CALC_FOUND_ROWS ', '', $sql[ 'select' ] ); |
|
1264
|
1263
|
|
|
1265
|
1264
|
// Remove columns, we'll rebuild them |
|
1266
|
|
- preg_match( '#DISTINCT (`[motc]\d+`.`.*?`)#', $sql['select'], $select_match ); |
|
1267
|
|
- $sql['select'] = preg_replace( '#DISTINCT (.*)#', 'DISTINCT ', $sql['select'] ); |
|
|
1265
|
+ preg_match( '#DISTINCT (`[motc]\d+`.`.*?`)#', $sql[ 'select' ], $select_match ); |
|
|
1266
|
+ $sql[ 'select' ] = preg_replace( '#DISTINCT (.*)#', 'DISTINCT ', $sql[ 'select' ] ); |
|
1268
|
1267
|
|
|
1269
|
1268
|
$unions = array(); |
|
1270
|
1269
|
|
|
@@ -1275,30 +1274,30 @@ discard block |
|
|
block discarded – undo |
|
1275
|
1274
|
}; |
|
1276
|
1275
|
|
|
1277
|
1276
|
// Add all the order columns into the selects, so we can order by the whole union group |
|
1278
|
|
- preg_match_all( '#(`[motc]\d+`.`.*?`)#', $sql['order'], $order_matches ); |
|
|
1277
|
+ preg_match_all( '#(`[motc]\d+`.`.*?`)#', $sql[ 'order' ], $order_matches ); |
|
1279
|
1278
|
|
|
1280
|
1279
|
$columns = array( |
|
1281
|
|
- sprintf( '%s AS %s', $select_match[1], $column_to_alias( $select_match[1] ) ) |
|
|
1280
|
+ sprintf( '%s AS %s', $select_match[ 1 ], $column_to_alias( $select_match[ 1 ] ) ) |
|
1282
|
1281
|
); |
|
1283
|
1282
|
|
|
1284
|
1283
|
foreach ( array_slice( $order_matches, 1 ) as $match ) { |
|
1285
|
|
- $columns[] = sprintf( '%s AS %s', $match[0], $column_to_alias( $match[0] ) ); |
|
|
1284
|
+ $columns[ ] = sprintf( '%s AS %s', $match[ 0 ], $column_to_alias( $match[ 0 ] ) ); |
|
1286
|
1285
|
|
|
1287
|
1286
|
// Rewrite the order columns to the shared aliases |
|
1288
|
|
- $sql['order'] = str_replace( $match[0], $column_to_alias( $match[0] ), $sql['order'] ); |
|
|
1287
|
+ $sql[ 'order' ] = str_replace( $match[ 0 ], $column_to_alias( $match[ 0 ] ), $sql[ 'order' ] ); |
|
1289
|
1288
|
} |
|
1290
|
1289
|
|
|
1291
|
1290
|
$columns = array_unique( $columns ); |
|
1292
|
1291
|
|
|
1293
|
1292
|
// Add the columns to every UNION |
|
1294
|
1293
|
foreach ( $unions_sql as $union_sql ) { |
|
1295
|
|
- $union_sql['select'] .= implode( ', ', $columns ); |
|
1296
|
|
- $unions []= implode( ' ', $union_sql ); |
|
|
1294
|
+ $union_sql[ 'select' ] .= implode( ', ', $columns ); |
|
|
1295
|
+ $unions [ ] = implode( ' ', $union_sql ); |
|
1297
|
1296
|
} |
|
1298
|
1297
|
|
|
1299
|
1298
|
// Add the columns to the main SELECT, but only grab the entry id column |
|
1300
|
|
- $sql['select'] = 'SELECT SQL_CALC_FOUND_ROWS t1_id FROM (' . $sql['select'] . implode( ', ', $columns ); |
|
1301
|
|
- $sql['order'] = implode( ' ', $unions ) . ') AS u ' . $sql['order']; |
|
|
1299
|
+ $sql[ 'select' ] = 'SELECT SQL_CALC_FOUND_ROWS t1_id FROM (' . $sql[ 'select' ] . implode( ', ', $columns ); |
|
|
1300
|
+ $sql[ 'order' ] = implode( ' ', $unions ) . ') AS u ' . $sql[ 'order' ]; |
|
1302
|
1301
|
|
|
1303
|
1302
|
return $sql; |
|
1304
|
1303
|
} ); |
|
@@ -1386,10 +1385,10 @@ discard block |
|
|
block discarded – undo |
|
1386
|
1385
|
} ); |
|
1387
|
1386
|
} |
|
1388
|
1387
|
|
|
1389
|
|
- array_map( array( $entries, 'add'), array_slice( |
|
|
1388
|
+ array_map( array( $entries, 'add' ), array_slice( |
|
1390
|
1389
|
$filtered, |
|
1391
|
|
- ( ( $page - 1 ) * $parameters['paging']['page_size'] ) + $this->settings->get( 'offset' ), // Offset and page |
|
1392
|
|
- $parameters['paging']['page_size'] // Per page |
|
|
1390
|
+ ( ( $page - 1 ) * $parameters[ 'paging' ][ 'page_size' ] ) + $this->settings->get( 'offset' ), // Offset and page |
|
|
1391
|
+ $parameters[ 'paging' ][ 'page_size' ] // Per page |
|
1393
|
1392
|
) ); |
|
1394
|
1393
|
|
|
1395
|
1394
|
$entries->add_count_callback( function() use ( $filtered, $v ) { |
|
@@ -1405,20 +1404,20 @@ discard block |
|
|
block discarded – undo |
|
1405
|
1404
|
} |
|
1406
|
1405
|
} else { |
|
1407
|
1406
|
$entries = $this->form->entries |
|
1408
|
|
- ->filter( \GV\GF_Entry_Filter::from_search_criteria( $parameters['search_criteria'] ) ) |
|
|
1407
|
+ ->filter( \GV\GF_Entry_Filter::from_search_criteria( $parameters[ 'search_criteria' ] ) ) |
|
1409
|
1408
|
->offset( $this->settings->get( 'offset' ) ) |
|
1410
|
|
- ->limit( $parameters['paging']['page_size'] ) |
|
|
1409
|
+ ->limit( $parameters[ 'paging' ][ 'page_size' ] ) |
|
1411
|
1410
|
->page( $page ); |
|
1412
|
1411
|
|
|
1413
|
|
- if ( ! empty( $parameters['sorting'] ) && is_array( $parameters['sorting'] && ! isset( $parameters['sorting']['key'] ) ) ) { |
|
|
1412
|
+ if ( ! empty( $parameters[ 'sorting' ] ) && is_array( $parameters[ 'sorting' ] && ! isset( $parameters[ 'sorting' ][ 'key' ] ) ) ) { |
|
1414
|
1413
|
// Pluck off multisort arrays |
|
1415
|
|
- $parameters['sorting'] = $parameters['sorting'][0]; |
|
|
1414
|
+ $parameters[ 'sorting' ] = $parameters[ 'sorting' ][ 0 ]; |
|
1416
|
1415
|
} |
|
1417
|
1416
|
|
|
1418
|
|
- if ( ! empty( $parameters['sorting'] ) && ! empty( $parameters['sorting']['key'] ) ) { |
|
|
1417
|
+ if ( ! empty( $parameters[ 'sorting' ] ) && ! empty( $parameters[ 'sorting' ][ 'key' ] ) ) { |
|
1419
|
1418
|
$field = new \GV\Field(); |
|
1420
|
|
- $field->ID = $parameters['sorting']['key']; |
|
1421
|
|
- $direction = strtolower( $parameters['sorting']['direction'] ) == 'asc' ? \GV\Entry_Sort::ASC : \GV\Entry_Sort::DESC; |
|
|
1419
|
+ $field->ID = $parameters[ 'sorting' ][ 'key' ]; |
|
|
1420
|
+ $direction = strtolower( $parameters[ 'sorting' ][ 'direction' ] ) == 'asc' ? \GV\Entry_Sort::ASC : \GV\Entry_Sort::DESC; |
|
1422
|
1421
|
$entries = $entries->sort( new \GV\Entry_Sort( $field, $direction ) ); |
|
1423
|
1422
|
} |
|
1424
|
1423
|
} |
|
@@ -1493,7 +1492,7 @@ discard block |
|
|
block discarded – undo |
|
1493
|
1492
|
$allowed = $headers = array(); |
|
1494
|
1493
|
|
|
1495
|
1494
|
foreach ( $view->fields->by_position( "directory_*" )->by_visible( $view )->all() as $id => $field ) { |
|
1496
|
|
- $allowed[] = $field; |
|
|
1495
|
+ $allowed[ ] = $field; |
|
1497
|
1496
|
} |
|
1498
|
1497
|
|
|
1499
|
1498
|
$renderer = new Field_Renderer(); |
|
@@ -1515,17 +1514,17 @@ discard block |
|
|
block discarded – undo |
|
1515
|
1514
|
} ); |
|
1516
|
1515
|
|
|
1517
|
1516
|
foreach ( array_diff( $allowed_field_ids, wp_list_pluck( $allowed, 'ID' ) ) as $field_id ) { |
|
1518
|
|
- $allowed[] = is_numeric( $field_id ) ? \GV\GF_Field::by_id( $view->form, $field_id ) : \GV\Internal_Field::by_id( $field_id ); |
|
|
1517
|
+ $allowed[ ] = is_numeric( $field_id ) ? \GV\GF_Field::by_id( $view->form, $field_id ) : \GV\Internal_Field::by_id( $field_id ); |
|
1519
|
1518
|
} |
|
1520
|
1519
|
|
|
1521
|
1520
|
foreach ( $allowed as $field ) { |
|
1522
|
1521
|
$source = is_numeric( $field->ID ) ? $view->form : new \GV\Internal_Source(); |
|
1523
|
1522
|
|
|
1524
|
|
- $return[] = $renderer->render( $field, $view, $source, $entry, gravityview()->request, '\GV\Field_CSV_Template' ); |
|
|
1523
|
+ $return[ ] = $renderer->render( $field, $view, $source, $entry, gravityview()->request, '\GV\Field_CSV_Template' ); |
|
1525
|
1524
|
|
|
1526
|
1525
|
if ( ! $headers_done ) { |
|
1527
|
1526
|
$label = $field->get_label( $view, $source, $entry ); |
|
1528
|
|
- $headers[] = $label ? $label : $field->ID; |
|
|
1527
|
+ $headers[ ] = $label ? $label : $field->ID; |
|
1529
|
1528
|
} |
|
1530
|
1529
|
} |
|
1531
|
1530
|
|