PluginProbe
Filter Everything — WordPress & WooCommerce Filters / trunk
Filter Everything — WordPress & WooCommerce Filters vtrunk
1.9.6 1.9.5 1.9.4 1.9.3 1.9.2.2 1.9.2.1 trunk 1.2.1 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.4.1 1.4.4 1.4.5 1.4.8 1.4.9 1.5.0 1.5.1 1.6.0 1.6.1 1.6.2 1.6.3 All 51 releases
filter-everything / views / admin / filters-set.php

filters-set.php in Filter Everything — WordPress & WooCommerce Filters trunk, at views/admin/filters-set.php

168 lines 7.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined('ABSPATH') ) {
4 exit;
5 }
6
7 $set_id = $post->ID;
8 $filters = flrt_get_configured_filters( $set_id );
9
10 $filterSet = \FilterEverything\Filter\Container::instance()->getFilterSetService();
11 $the_set = $filterSet->getSet( $set_id );
12 $under_limit_filter_set = $filterSet->under_limit_filter_set($set_id);
13
14 $order = 1;
15
16 $search_field_order = ( isset( $the_set['search_field_menu_order']['value'] ) && $the_set['search_field_menu_order']['value'] > -1 ) ? (int)$the_set['search_field_menu_order']['value'] : (count($filters) + 1);
17 // To avoid equal order for both elements
18 if ( isset( $the_set['apply_button_menu_order']['value'] ) && $the_set['apply_button_menu_order']['value'] > -1 ){
19 $apply_button_order = (int)$the_set['apply_button_menu_order']['value'];
20 } else {
21 $apply_button_order = ($search_field_order + 1);
22 }
23 if ( $apply_button_order === $search_field_order ) {
24 $apply_button_order++;
25 }
26
27 $apply_btn_displayed = false;
28 $search_fld_displayed = false;
29 if ( isset( $the_set['use_search_field']['value'] ) && $the_set['use_search_field']['value'] === 'yes' ) {
30 $search_fld_displayed = true;
31 }
32
33 ?>
34 <div class="wpc-filter-set-wrapper">
35 <div class="wpc-filter-set-hidden-fields">
36 <input type="hidden" id="wpc_set_nonce" name="_flrt_nonce" value="<?php echo esc_attr( flrt_create_filters_nonce() ); ?>" />
37 </div>
38 <div class="wpc-column-labels-wrapper">
39 <table class="wpc-form-fields-table">
40 <?php
41
42 $attributes['post_type'] = $the_set['post_type'];
43 $post_type = ( isset( $the_set['post_type']['value'] ) && $the_set['post_type']['value'] ) ? $the_set['post_type']['value'] : $the_set['post_type']['default'];
44
45 flrt_include_admin_view('filter-field', array(
46 'field_key' => key($attributes),
47 'attributes' => reset($attributes)
48 )
49 );
50
51 ?>
52 </table>
53 </div>
54 <div class="wpc-column-labels-wrapper">
55 <div class="wpc-column-labels widget-title">
56 <ul class="wpc-custom-row">
57 <li class="wpc-filter-order">&nbsp;</li>
58 <li class="wpc-filter-label"><?php esc_html_e('Title', 'filter-everything' ); ?></li>
59 <li class="wpc-filter-entity"><?php esc_html_e('Filter by', 'filter-everything' ); ?></li>
60 <li class="wpc-filter-view"><?php esc_html_e('View', 'filter-everything' ); ?></li>
61 <li class="wpc-filter-slug"><?php esc_html_e('URL Prefix', 'filter-everything' ); ?></li>
62 </ul>
63 </div>
64 </div>
65 <div class="wpc-no-filters"<?php if( ! $filters && ! $search_fld_displayed ){ echo ' style="display: block;"'; }?>>
66 <?php
67 echo wp_kses(
68 __('There are no filters yet. Click the <strong>Add Filter</strong> button to create your first one.', 'filter-everything' ),
69 array( 'strong' => array() )
70 );
71 ?>
72 </div>
73 <div id="wpc-filters-list" class="wpc-filters-list" data-posttype="<?php echo $post_type; ?>">
74
75 <?php
76 $filters_and_fields = [];
77 $filters = array_reverse( $filters, true );
78 $to = count( $filters ) + 2;
79
80 for ( $i = 1; $i <= $to; $i++ ) {
81 if ( $apply_button_order === $i ) {
82 $filters_and_fields[-1] = array();
83 } else if ( $search_field_order === $i ) {
84 $filters_and_fields[-2] = array();
85 } else {
86 // To avoid "empty" filter
87 if ( ! empty( $filters ) ) {
88 $key = array_key_last( $filters );
89 $value = array_pop( $filters );
90 $filters_and_fields[$key] = $value;
91 }
92 }
93 }
94
95 if( $filters_and_fields ):
96
97 foreach( $filters_and_fields as $filter_id => $filter ):
98
99 if ( $filter_id >= 0 ) {
100 flrt_include_admin_view( 'filter-row', array( 'filter' => $filter ) );
101 } else {
102 if ( $search_field_order == $order ) {
103 flrt_include_admin_view( 'filter-search-field', array(
104 'search_field_order' => $the_set['search_field_menu_order'],
105 'use_search_field' => $the_set['use_search_field'],
106 'search_field_placeholder' => $the_set['search_field_placeholder'],
107 'search_field_label' => $the_set['search_field_label'],
108 'post_type_args' => $the_set['post_type'],
109 )
110 );
111 }
112
113 if ( $apply_button_order == $order ) {
114 flrt_include_admin_view( 'filter-apply-button', array(
115 'apply_button' => $the_set['apply_button_menu_order'],
116 'use_apply_button' => $the_set['use_apply_button'],
117 'apply_button_text' => $the_set['apply_button_text'],
118 'reset_button_text' => $the_set['reset_button_text'],
119 'apply_button_order' => $apply_button_order
120 )
121 );
122 }
123 }
124
125 $order++;
126 endforeach;
127
128 endif; ?>
129 </div>
130
131 <div class="wpc-add-filter-wrapper">
132 <?php $button_text = esc_html__('Add Filter','filter-everything' );?>
133 <div class="wpc-add-filter-div<?php echo ($under_limit_filter_set) ? ' wpc_under_limit_filter_set' : ''; ?>">
134 <a href="javascript:void(0);" class="button button-primary button-large wpc-add-filter"><?php echo $button_text; ?></a>
135 <?php
136 if(!defined('FLRT_FILTERS_PRO')){
137 echo flrt_unlock_in_pro($button_text);
138 }
139 ?>
140 </div>
141 </div>
142
143 <script type="text/html" id="wpc-new-filter">
144 <?php
145 flrt_include_admin_view( 'filter-row', array( 'filter' => flrt_get_empty_filter( $set_id ) ) );
146 ?>
147 </script>
148 <div id="wpc-filter-set-pro-dialog" style="display:none;">
149 <?php
150 $dialog_post_type_field = $filterSet->getPostTypeField($set_id);
151 $dialog_post_type = !empty($dialog_post_type_field['post_type']['value']) ? $dialog_post_type_field['post_type']['value'] : '';
152 $dialog_limit = $filterSet->getFreeLimitForPostType($dialog_post_type);
153 ?>
154 <p><?php echo wp_kses(
155 sprintf(
156 /* translators: 1: maximum number of free filter sets per post type, 2: PRO upgrade URL */
157 __('The free version allows up to %1$d filter sets per post type. Upgrade to <a href=\'%2$s\' target=\'_blank\'>PRO</a> for unlimited filter sets.', 'filter-everything' ),
158 $dialog_limit,
159 esc_url(FLRT_PLUGIN_URL .'/pricing/?utm_source=free_plugin&utm_medium=internal&utm_campaign=free_plugin_upgrade&utm_content=msg_three_set') ),
160 array(
161 'a' => array(
162 'href'=> true,
163 'target' => true
164 )
165 )
166 ) ?></p>
167 </div>
168 </div>