PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 All 37 releases
← All changes | admin/class-wpdirectorykit-admin.php +389 -238 1.1.8 → 1.5.9 View file →
@@ -20,321 +20,472 @@
20 20 * @subpackage Wpdirectorykit/admin
21 21 * @author listing-themes.com <[email protected]>
22 22 */
23 23
24 -if ( ! defined( 'ABSPATH' ) ) {
25 - exit; // Exit if accessed directly.
24 +if (! defined('ABSPATH')) {
25 + exit; // Exit if accessed directly.
26 26 }
27 -class Wpdirectorykit_Admin {
27 +class Wpdirectorykit_Admin
28 +{
28 29
29 - /**
30 - * The ID of this plugin.
31 - *
32 - * @since 1.0.0
33 - * @access private
34 - * @var string $plugin_name The ID of this plugin.
35 - */
36 - private $plugin_name;
30 + /**
31 + * The ID of this plugin.
32 + *
33 + * @since 1.0.0
34 + * @access private
35 + * @var string $plugin_name The ID of this plugin.
36 + */
37 + private $plugin_name;
37 38
38 - /**
39 - * The version of this plugin.
40 - *
41 - * @since 1.0.0
42 - * @access private
43 - * @var string $version The current version of this plugin.
44 - */
45 - private $version;
39 + /**
40 + * The version of this plugin.
41 + *
42 + * @since 1.0.0
43 + * @access private
44 + * @var string $version The current version of this plugin.
45 + */
46 + private $version;
46 47
47 - /**
48 - * Initialize the class and set its properties.
49 - *
50 - * @since 1.0.0
51 - * @param string $plugin_name The name of this plugin.
52 - * @param string $version The version of this plugin.
53 - */
54 - public function __construct( $plugin_name, $version ) {
48 + /**
49 + * Initialize the class and set its properties.
50 + *
51 + * @since 1.0.0
52 + * @param string $plugin_name The name of this plugin.
53 + * @param string $version The version of this plugin.
54 + */
55 + public function __construct($plugin_name, $version)
56 + {
55 57
56 - $this->plugin_name = $plugin_name;
57 - $this->version = $version;
58 + $this->plugin_name = $plugin_name;
59 + $this->version = $version;
60 + }
58 61
59 - }
62 + /**
63 + * Register the stylesheets for the admin area.
64 + *
65 + * @since 1.0.0
66 + */
67 + public function enqueue_styles()
68 + {
60 69
61 - /**
62 - * Register the stylesheets for the admin area.
63 - *
64 - * @since 1.0.0
65 - */
66 - public function enqueue_styles() {
70 + /**
71 + * This function is provided for demonstration purposes only.
72 + *
73 + * An instance of this class should be passed to the run() function
74 + * defined in Wpdirectorykit_Loader as all of the hooks are defined
75 + * in that particular class.
76 + *
77 + * The Wpdirectorykit_Loader will then create the relationship
78 + * between the defined hooks and the functions defined in this
79 + * class.
80 + */
67 81
68 - /**
69 - * This function is provided for demonstration purposes only.
70 - *
71 - * An instance of this class should be passed to the run() function
72 - * defined in Wpdirectorykit_Loader as all of the hooks are defined
73 - * in that particular class.
74 - *
75 - * The Wpdirectorykit_Loader will then create the relationship
76 - * between the defined hooks and the functions defined in this
77 - * class.
78 - */
82 + wp_register_style('wdk-treefield', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield/treefield.css', array(), '1.0.0');
83 + wp_register_style('wdk-modal', WPDIRECTORYKIT_URL . 'public/css/wdk-modal.css', array(), $this->version, 'all');
84 + wp_register_style('wdk-notify', WPDIRECTORYKIT_URL . 'public/css/wdk-notify.css', array(), $this->version, 'all');
85 + wp_register_style('leaflet', WPDIRECTORYKIT_URL . 'public/js/openstreetmap/leaflet.css', array(), '1.7.1', 'all');
86 + wp_register_style('leaflet-cluster-def', WPDIRECTORYKIT_URL . 'public/js/openstreetmap/MarkerCluster.Default.css', array(), '1.7.1', 'all');
87 + wp_register_style('leaflet-cluster', WPDIRECTORYKIT_URL . 'public/js/openstreetmap/MarkerCluster.css', array(), '1.7.1', 'all');
79 88
80 - wp_register_style( 'wdk-treefield', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield/treefield.css', array(), '1.0.0' );
81 - wp_register_style( 'wdk-modal', WPDIRECTORYKIT_URL. 'public/css/wdk-modal.css', array(), $this->version, 'all');
82 - wp_register_style( 'wdk-notify', WPDIRECTORYKIT_URL. 'public/css/wdk-notify.css', array(), $this->version, 'all');
83 - wp_register_style( 'leaflet', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/leaflet.css', array(), '1.7.1', 'all' );
84 - wp_register_style( 'leaflet-cluster-def', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/MarkerCluster.Default.css', array(), '1.7.1', 'all' );
85 - wp_register_style( 'leaflet-cluster', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/MarkerCluster.css', array(), '1.7.1', 'all' );
89 + wp_register_style('select2-select2', WPDIRECTORYKIT_URL . 'public/js/select2/css/select2.min.css', array(), '4.0.13', 'all');
90 + wp_register_style('jquery-confirm', WPDIRECTORYKIT_URL . 'public/js/jquery-confirm/css/jquery-confirm.css', array(), '3.3.4', 'all');
86 91
87 - wp_register_style( 'select2', WPDIRECTORYKIT_URL. 'public/js/select2/css/select2.min.css', array(), '4.0.13', 'all' );
88 - wp_register_style('jquery-confirm', WPDIRECTORYKIT_URL. 'public/js/jquery-confirm/css/jquery-confirm.css', array(), '3.3.4', 'all');
92 + wp_register_style('wdk-treefield-dropdown', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield_dropdown/wdk_treefield_dropdown.css', array(), '1.0', 'all');
89 93
90 - wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wpdirectorykit-admin.css', array(), $this->version, 'all' );
91 - wp_enqueue_style( $this->plugin_name.'-responsive', plugin_dir_url( __FILE__ ) . 'css/wpdirectorykit-admin-responsive.css', array(), $this->version, 'all' );
92 - wp_register_style('jquery-ui', WPDIRECTORYKIT_URL. 'public/css/jquery-ui.css', array(), null );
93 - }
94 + wp_enqueue_style($this->plugin_name, plugin_dir_url(__FILE__) . 'css/wpdirectorykit-admin.css', array(), $this->version, 'all');
95 + wp_enqueue_style($this->plugin_name . '-responsive', plugin_dir_url(__FILE__) . 'css/wpdirectorykit-admin-responsive.css', array(), $this->version, 'all');
96 + wp_register_style('jquery-ui', WPDIRECTORYKIT_URL . 'public/css/jquery-ui.css', array(), null);
94 97
95 - /**
96 - * Register the JavaScript for the admin area.
97 - *
98 - * @since 1.0.0
99 - */
100 - public function enqueue_scripts() {
98 + // Register and enqueue Tribute.js style
99 + wp_register_style(
100 + 'tribute-css',
101 + WPDIRECTORYKIT_URL . 'public/js/tribute/tribute.css',
102 + [],
103 + '5.1.3'
104 + );
105 +
106 +
107 + }
101 108
102 - /**
103 - * This function is provided for demonstration purposes only.
104 - *
105 - * An instance of this class should be passed to the run() function
106 - * defined in Wpdirectorykit_Loader as all of the hooks are defined
107 - * in that particular class.
108 - *
109 - * The Wpdirectorykit_Loader will then create the relationship
110 - * between the defined hooks and the functions defined in this
111 - * class.
112 - */
109 + /**
110 + * Register the JavaScript for the admin area.
111 + *
112 + * @since 1.0.0
113 + */
114 + public function enqueue_scripts()
115 + {
113 116
114 - wp_register_script( 'wdk-treefield', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield/treefield.js', array( 'jquery' ), false, false );
115 - wp_register_script( 'wpmediaelement_file', WPDIRECTORYKIT_URL . 'admin/js/jquery.wpmediaelement_file.js', array( 'jquery' ), false, false );
116 -
117 - wp_register_script( 'wdk-modal', WPDIRECTORYKIT_URL. 'public/js/wdk-modal.js', array( 'jquery' ), $this->version, false);
118 - wp_register_script( 'wdk-notify', WPDIRECTORYKIT_URL. 'public/js/wdk-notify.js', array( 'jquery' ), $this->version, false);
119 - wp_register_script( 'leaflet', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/leaflet.js', array( 'jquery' ), '1.7.1', false );
120 -
121 - wp_register_script( 'leaflet-cluster', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/leaflet.markercluster.js', array( 'jquery' ), '1.7.1', false );
117 + /**
118 + * This function is provided for demonstration purposes only.
119 + *
120 + * An instance of this class should be passed to the run() function
121 + * defined in Wpdirectorykit_Loader as all of the hooks are defined
122 + * in that particular class.
123 + *
124 + * The Wpdirectorykit_Loader will then create the relationship
125 + * between the defined hooks and the functions defined in this
126 + * class.
127 + */
122 128
129 +
130 + // Register and enqueue Tribute.js script
131 + wp_register_script(
132 + 'tribute-js',
133 + WPDIRECTORYKIT_URL . 'public/js/tribute/tribute.min.js',
134 + [],
135 + '5.1.3',
136 + true
137 + );
138 +
123 139
124 - wp_register_script('select2', WPDIRECTORYKIT_URL. 'public/js/select2/js/select2.min.js', array( 'jquery' ), '4.0.13', false );
125 - wp_register_script('wdk-select2', WPDIRECTORYKIT_URL. 'public/js/wdk-select2.js', array( 'jquery' ), '4.0.13', false );
140 + wp_register_script('wdk-treefield', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield/treefield.js', array('jquery'), false, false);
141 + wp_register_script('wpmediaelement_file', WPDIRECTORYKIT_URL . 'admin/js/jquery.wpmediaelement_file.js', array('jquery'), false, false);
126 142
127 - wp_register_script('jquery-confirm', WPDIRECTORYKIT_URL. 'public/js/jquery-confirm/js/jquery-confirm.js', array( 'jquery' ), '3.3.4', false );
128 - wp_register_script( 'wdk-dependfields-submitform', WPDIRECTORYKIT_URL. 'public/js/wdk-dependfields-submitform.js', array( 'jquery' ), false, false );
143 + wp_register_script('wdk-modal', WPDIRECTORYKIT_URL . 'public/js/wdk-modal.js', array('jquery'), $this->version, false);
144 + wp_register_script('wdk-notify', WPDIRECTORYKIT_URL . 'public/js/wdk-notify.js', array('jquery'), $this->version, false);
145 + wp_register_script('leaflet', WPDIRECTORYKIT_URL . 'public/js/openstreetmap/leaflet.js', array('jquery'), '1.7.1', false);
129 146
130 - wp_register_script( 'wdk-dependfields-edit', plugin_dir_url( __FILE__ ) . 'js/wdk-dependfields-edit.js', array( 'jquery' ), $this->version, false );
147 + wp_register_script('leaflet-cluster', WPDIRECTORYKIT_URL . 'public/js/openstreetmap/leaflet.markercluster.js', array('jquery'), '1.7.1', false);
148 +
149 +
150 + wp_register_script('select2-select2', WPDIRECTORYKIT_URL . 'public/js/select2/js/select2.min.js', array('jquery'), '4.0.13', false);
151 + wp_register_script('wdk-select2', WPDIRECTORYKIT_URL . 'public/js/wdk-select2.js', array('jquery'), '4.0.13', false);
152 +
131 153 $params = array(
132 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
154 + 'ajax_url' => admin_url('admin-ajax.php'),
155 + 'text' => array(
156 + 'errorLoading' => esc_html__('The results could not be loaded.', 'wpdirectorykit'),
157 + 'loadingMore' => esc_html__('Loading more results…', 'wpdirectorykit'),
158 + 'noResults' => esc_html__('No results found', 'wpdirectorykit'),
159 + 'searching' => esc_html__('Searching…', 'wpdirectorykit'),
160 + 'removeAllItems' => esc_html__('Remove all items', 'wpdirectorykit'),
161 + "read_more"=> esc_html__("Read More", 'wpdirectorykit'),
162 + "read_less"=> esc_html__("Read Less", 'wpdirectorykit'),
163 + ),
164 + 'wpApiSettings' => [
165 + 'root'=> esc_url_raw(rest_url()),
166 + 'nonce'=> wp_create_nonce('wp_rest'),
167 + 'wdk_secure_nonce'=> wp_create_nonce('wdk_secure_ajax'),
168 + ]
133 169 );
170 + wp_localize_script('wdk-select2', 'wdk_select2_script_parameters', $params);
134 171
172 + wp_register_script('jquery-confirm', WPDIRECTORYKIT_URL . 'public/js/jquery-confirm/js/jquery-confirm.js', array('jquery'), '3.3.4', false);
173 + wp_register_script('wdk-dependfields-submitform', WPDIRECTORYKIT_URL . 'public/js/wdk-dependfields-submitform.js', array('jquery'), false, false);
174 +
175 + wp_register_script('wdk-treefield-dropdown', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield_dropdown/wdk_treefield_dropdown.js', array('jquery'), '1.0', false);
176 + wp_localize_script('wdk-treefield-dropdown', 'script_parameters', $params);
177 + wp_localize_script('wdk-treefield-dropdown', 'wdk_script_parameters', $params);
178 +
179 + wp_register_script('wdk-dependfields-edit', plugin_dir_url(__FILE__) . 'js/wdk-dependfields-edit.js', array('jquery'), $this->version, false);
180 + $params = array(
181 + 'ajax_url' => admin_url('admin-ajax.php'),
182 + );
183 +
135 184 wp_localize_script('wdk-dependfields-edit', 'script_dependfields_parameters', $params);
136 -
137 - $params = array(
138 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
139 - 'format_date' => wdk_convert_date_format_js(get_option('date_format')),
140 - 'format_datetime' => wdk_convert_date_format_js(get_option('date_format').' '.get_option('time_format')),
141 - 'format_date_js' => wdk_convert_date_format_jquery(get_option('date_format')),
142 - 'format_datetime_js' => wdk_convert_date_format_jquery(get_option('date_format').' '.get_option('time_format')),
185 +
186 + $params = array(
187 + 'ajax_url' => admin_url('admin-ajax.php'),
188 + 'format_date' => wdk_convert_date_format_js(get_option('date_format')),
189 + 'format_datetime' => wdk_convert_date_format_js(get_option('date_format') . ' ' . get_option('time_format')),
190 + 'format_date_js' => wdk_convert_date_format_jquery(get_option('date_format')),
191 + 'format_datetime_js' => wdk_convert_date_format_jquery(get_option('date_format') . ' ' . get_option('time_format')),
192 + 'text' => array(
193 + "read_more"=> esc_html__("Read More", 'wpdirectorykit'),
194 + "read_less"=> esc_html__("Read Less", 'wpdirectorykit'),
195 + ),
196 + 'wpApiSettings' => [
197 + 'root'=> esc_url_raw(rest_url()),
198 + 'nonce'=> wp_create_nonce('wp_rest'),
199 + 'wdk_secure_nonce'=> wp_create_nonce('wdk_secure_ajax'),
200 + ]
143 201 );
144 - wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpdirectorykit-admin.js', array( 'jquery' ), $this->version, false );
145 - wp_localize_script( $this->plugin_name, 'script_parameters', $params);
146 -
147 -
202 + wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__) . 'js/wpdirectorykit-admin.js', array('jquery'), $this->version, false);
203 + wp_localize_script($this->plugin_name, 'script_parameters', $params);
204 + wp_localize_script($this->plugin_name, 'wdk_script_parameters', $params);
205 +
148 206 }
149 207
150 - /**
151 - * Admin AJAX
152 - */
208 + /**
209 + * Admin AJAX
210 + */
153 211
154 - public function ajax_admin()
155 - {
156 - global $Winter_MVC_WDK;
212 + public function ajax_admin()
213 + {
214 + global $Winter_MVC_WDK;
157 215
158 - $page = '';
159 - $function = '';
216 + $page = '';
217 + $function = '';
160 218
161 - if(isset($_POST['page']))$page = sanitize_text_field($_POST['page']);
162 - if(isset($_POST['function']))$function = sanitize_text_field($_POST['function']);
219 + if (isset($_POST['page'])) $page = sanitize_text_field($_POST['page']);
220 + if (isset($_POST['function'])) $function = sanitize_text_field($_POST['function']);
163 221
164 - $Winter_MVC_WDK->load_controller($page, $function, array());
165 - }
222 + /* protect access only to ajax controller */
223 + if($page != 'wdk_frontendajax' && $page != 'wdk_backendajax' && $page != 'wdk_fields') {
224 + exit(esc_html__('Access denied','wpdirectorykit'));
225 + }
166 226
227 +
228 + $Winter_MVC_WDK->load_controller($page, $function, array());
229 + }
230 +
167 231 /**
168 - * Admin Page Display
169 - */
170 - public function admin_page_display() {
171 - global $Winter_MVC_WDK, $submenu, $menu;
232 + * Admin Page Display
233 + */
234 + public function admin_page_display()
235 + {
236 + global $Winter_MVC_WDK, $submenu, $menu;
172 237
173 - $page = '';
238 + $page = '';
174 239 $function = '';
175 240
176 - if(isset($_GET['page']))$page = sanitize_text_field($_GET['page']);
177 - if(isset($_GET['function']))$function = sanitize_text_field($_GET['function']);
241 + if (isset($_GET['page'])) $page = sanitize_text_field(wp_unslash($_GET['page']));
242 + if (isset($_GET['function'])) $function = sanitize_text_field(wp_unslash($_GET['function']));
178 243
179 - $Winter_MVC_WDK->load_controller($page, $function, array());
180 - }
244 + if (substr($function, 0, 1) == '_') {
245 + exit(esc_html__('blocked for public', 'wpdirectorykit'));
246 + }
181 247
182 - private function multilingual_register_strings()
183 - {
184 - if (!function_exists('PLL'))return;
248 + $Winter_MVC_WDK->load_controller($page, $function, array());
249 + }
185 250
186 - global $Winter_MVC_WDK;
187 - $Winter_MVC_WDK->model('field_m');
188 - $Winter_MVC_WDK->model('category_m');
189 - $Winter_MVC_WDK->model('location_m');
251 + private function multilingual_register_strings()
252 + {
253 + if (!function_exists('PLL')) return;
190 254
255 + global $Winter_MVC_WDK;
256 + $Winter_MVC_WDK->model('field_m');
257 + $Winter_MVC_WDK->model('category_m');
258 + $Winter_MVC_WDK->model('location_m');
259 +
191 260 $fields = $Winter_MVC_WDK->field_m->get();
192 261
193 - foreach($fields as $field)
194 - {
195 - if(!empty($field->field_label))
196 - pll_register_string( 'wpdirectorykit', $field->field_label, 'wdk-fields');
197 -
198 - if(!empty($field->values_list))
199 - pll_register_string( 'wpdirectorykit', $field->values_list, 'wdk-fields');
200 -
201 - if(!empty($field->hint))
202 - pll_register_string( 'wpdirectorykit', $field->hint, 'wdk-fields');
262 + foreach ($fields as $field) {
263 + if (!empty($field->field_label))
264 + pll_register_string('wpdirectorykit', $field->field_label, 'wdk-fields');
265 +
266 + if (!empty($field->values_list))
267 + pll_register_string('wpdirectorykit', $field->values_list, 'wdk-fields');
268 +
269 + if (!empty($field->hint))
270 + pll_register_string('wpdirectorykit', $field->hint, 'wdk-fields');
203 271 }
204 272
205 273 $categories = $Winter_MVC_WDK->category_m->get_tree_table();
206 274
207 - foreach($categories as $category)
208 - {
209 - pll_register_string( 'wpdirectorykit', $category->category_title, 'wdk-categories');
275 + foreach ($categories as $category) {
276 + pll_register_string('wpdirectorykit', $category->category_title, 'wdk-categories');
210 277 }
211 278
212 279 $locations = $Winter_MVC_WDK->location_m->get_tree_table();
213 280
214 - foreach($locations as $location)
215 - {
216 - pll_register_string( 'wpdirectorykit', $location->location_title, 'wdk-locations');
281 + foreach ($locations as $location) {
282 + pll_register_string('wpdirectorykit', $location->location_title, 'wdk-locations');
217 283 }
218 - }
284 + }
219 285
220 286 /**
221 287 * To add Plugin Menu and Settings page
222 288 */
223 - public function plugin_menu() {
289 + public function plugin_menu()
290 + {
224 291
225 292 ob_start();
226 293
227 - $this->multilingual_register_strings();
294 + $this->multilingual_register_strings();
228 295
229 296 //require_once WPDIRECTORYKIT_PATH . 'vendor/boo-settings-helper/class-boo-settings-helper.php';
230 297
231 - add_menu_page(__('Directory Kit','wpdirectorykit'), __('Directory Kit','wpdirectorykit'),
232 - 'manage_options', 'wdk', array($this, 'admin_page_display'),
298 + add_menu_page(
299 + __('Directory Kit', 'wpdirectorykit'),
300 + __('Directory Kit', 'wpdirectorykit'),
301 + 'wdk_listings_manage',
302 + 'wdk',
303 + array($this, 'admin_page_display'),
233 304 //plugin_dir_url( __FILE__ ) . 'resources/logo.png',
234 305 'dashicons-category',
235 - 28 );
236 -
237 - add_submenu_page('wdk',
238 - __('Listings','wpdirectorykit'),
239 - __('Listings','wpdirectorykit'),
240 - 'manage_options', 'wdk', array($this, 'admin_page_display'));
241 -
242 - add_submenu_page('wdk',
243 - __('Add Listing','wpdirectorykit'),
244 - __('Add Listing','wpdirectorykit'),
245 - 'manage_options', 'wdk_listing', array($this, 'admin_page_display'));
306 + 28
307 + );
246 308
247 - add_submenu_page('wdk',
248 - __('Fields','wpdirectorykit'),
249 - __('Fields','wpdirectorykit'),
250 - 'manage_options', 'wdk_fields', array($this, 'admin_page_display'));
251 -
252 - if(get_option('wdk_is_category_enabled', FALSE))
253 - add_submenu_page('wdk',
254 - __('Categories','wpdirectorykit'),
255 - __('Categories','wpdirectorykit'),
256 - 'manage_options', 'wdk_category', array($this, 'admin_page_display'));
257 -
258 - if(get_option('wdk_is_location_enabled', FALSE))
259 - add_submenu_page('wdk',
260 - __('Locations','wpdirectorykit'),
261 - __('Locations','wpdirectorykit'),
262 - 'manage_options', 'wdk_location', array($this, 'admin_page_display'));
309 + add_submenu_page(
310 + 'wdk',
311 + __('Listings', 'wpdirectorykit'),
312 + __('Listings', 'wpdirectorykit'),
313 + 'wdk_listings_manage',
314 + 'wdk',
315 + array($this, 'admin_page_display')
316 + );
263 317
264 - add_submenu_page('wdk',
265 - __('Search Form','wpdirectorykit'),
266 - __('Search Form','wpdirectorykit'),
267 - 'manage_options', 'wdk_searchform', array($this, 'admin_page_display'));
318 + add_submenu_page(
319 + 'wdk',
320 + __('Add Listing', 'wpdirectorykit'),
321 + __('Add Listing', 'wpdirectorykit'),
322 + 'wdk_listings_manage',
323 + 'wdk_listing',
324 + array($this, 'admin_page_display')
325 + );
268 326
269 - add_submenu_page('wdk',
270 - __('Result Card','wpdirectorykit'),
271 - __('Result Card','wpdirectorykit'),
272 - 'manage_options', 'wdk_resultitem', array($this, 'admin_page_display'));
273 -
274 - add_submenu_page('wdk',
275 - __('Change Currency','wpdirectorykit'),
276 - __('Change Currency','wpdirectorykit'),
277 - 'manage_options', 'wdk_change_currency', array($this, 'admin_page_display'));
327 + add_submenu_page(
328 + 'wdk',
329 + __('Fields', 'wpdirectorykit'),
330 + __('Fields', 'wpdirectorykit'),
331 + 'wdk_listings_manage',
332 + 'wdk_fields',
333 + array($this, 'admin_page_display')
334 + );
278 335
279 - add_submenu_page('wdk',
280 - __('Messages','wpdirectorykit'),
281 - __('Messages','wpdirectorykit'),
282 - 'manage_options', 'wdk_messages', array($this, 'admin_page_display'));
336 + if (get_option('wdk_is_category_enabled', FALSE))
337 + add_submenu_page(
338 + 'wdk',
339 + __('Categories', 'wpdirectorykit'),
340 + __('Categories', 'wpdirectorykit'),
341 + 'wdk_listings_manage',
342 + 'wdk_category',
343 + array($this, 'admin_page_display')
344 + );
283 345
284 - add_submenu_page('wdk',
285 - __('Settings','wpdirectorykit'),
286 - __('Settings','wpdirectorykit'),
287 - 'manage_options', 'wdk_settings', array($this, 'admin_page_display'));
346 + if (get_option('wdk_is_location_enabled', FALSE))
347 + add_submenu_page(
348 + 'wdk',
349 + __('Locations', 'wpdirectorykit'),
350 + __('Locations', 'wpdirectorykit'),
351 + 'wdk_listings_manage',
352 + 'wdk_location',
353 + array($this, 'admin_page_display')
354 + );
288 355
289 - add_submenu_page('wdk',
290 - __('Documentation','wpdirectorykit'),
291 - __('Documentation','wpdirectorykit'),
292 - 'manage_options', 'https://wpdirectorykit.com/documentation');
356 +
357 + add_submenu_page(
358 + 'wdk',
359 + __('Search Form', 'wpdirectorykit'),
360 + __('Search Form', 'wpdirectorykit'),
361 + 'wdk_listings_manage',
362 + 'wdk_searchform',
363 + array($this, 'admin_page_display')
364 + );
365 +
366 + if (function_exists('fpai_register_settings')) {
367 + add_submenu_page(
368 + 'wdk',
369 + __('Ai Search', 'wpdirectorykit'),
370 + __('Ai Search', 'wpdirectorykit'),
371 + 'wdk_listings_manage',
372 + 'wdk_aisearch',
373 + array($this, 'admin_page_display')
374 + );
375 + }
376 + add_submenu_page(
377 + 'wdk',
378 + __('Result Card', 'wpdirectorykit'),
379 + __('Result Card', 'wpdirectorykit'),
380 + 'wdk_listings_manage',
381 + 'wdk_resultitem',
382 + array($this, 'admin_page_display')
383 + );
293 384
294 - if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
295 - {
385 + add_submenu_page(
386 + 'wdk',
387 + __('Change Currency', 'wpdirectorykit'),
388 + __('Change Currency', 'wpdirectorykit'),
389 + 'wdk_listings_manage',
390 + 'wdk_change_currency',
391 + array($this, 'admin_page_display')
392 + );
296 393
297 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-currency-conversion') || !is_plugin_active( 'wdk-currency-conversion/wdk-currency-conversion.php' ))
298 - add_submenu_page('wdk',
299 - __('Currencies Addon','wpdirectorykit'),
300 - __('Currencies Addon','wpdirectorykit'),
301 - 'manage_options', 'wdk_addons_currencies', array($this, 'admin_page_display'));
394 + add_submenu_page(
395 + 'wdk',
396 + __('Messages', 'wpdirectorykit'),
397 + __('Messages', 'wpdirectorykit'),
398 + 'wdk_listings_manage',
399 + 'wdk_messages',
400 + array($this, 'admin_page_display')
401 + );
302 402
303 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-membership') || !is_plugin_active( 'wdk-membership/wdk-membership.php' ))
304 - add_submenu_page('wdk',
305 - __('Membership Addon','wpdirectorykit'),
306 - __('Membership Addon','wpdirectorykit'),
307 - 'manage_options', 'wdk_addons_membership', array($this, 'admin_page_display'));
403 + add_submenu_page(
404 + 'wdk',
405 + __('Settings', 'wpdirectorykit'),
406 + __('Settings', 'wpdirectorykit'),
407 + 'wdk_listings_manage',
408 + 'wdk_settings',
409 + array($this, 'admin_page_display')
410 + );
308 411
309 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-bookings') || !is_plugin_active( 'wdk-bookings/wdk-bookings.php' ))
310 - add_submenu_page('wdk',
311 - __('Booking Addon','wpdirectorykit'),
312 - __('Booking Addon','wpdirectorykit'),
313 - 'manage_options', 'wdk_addons_bookings', array($this, 'admin_page_display'));
412 + add_submenu_page(
413 + 'wdk',
414 + __('Documentation', 'wpdirectorykit'),
415 + __('Documentation', 'wpdirectorykit'),
416 + 'wdk_listings_manage',
417 + 'https://wpdirectorykit.com/documentation'
418 + );
314 419
315 - add_submenu_page('wdk',
316 - __('More Addons','wpdirectorykit'),
317 - __('More Addons','wpdirectorykit'),
318 - 'manage_options', 'wdk_addons', array($this, 'admin_page_display'));
420 + //if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
421 + //{
319 422
320 - add_submenu_page('wdk',
321 - __('Support Forum','wpdirectorykit'),
322 - __('Support Forum','wpdirectorykit'),
323 - 'manage_options', 'https://wordpress.org/support/plugin/wpdirectorykit/');
423 + if (!file_exists(WP_PLUGIN_DIR . '/wdk-currency-conversion') || !is_plugin_active('wdk-currency-conversion/wdk-currency-conversion.php'))
424 + add_submenu_page(
425 + 'wdk',
426 + __('Currencies Addon', 'wpdirectorykit'),
427 + __('Currencies Addon', 'wpdirectorykit'),
428 + 'wdk_listings_manage',
429 + 'wdk_addons_currencies',
430 + array($this, 'admin_page_display')
431 + );
324 432
325 - add_submenu_page('wdk',
326 - __('Contact','wpdirectorykit'),
327 - __('Contact','wpdirectorykit'),
328 - 'manage_options', 'https://wpdirectorykit.com/contact.html');
329 - }
433 + if (!file_exists(WP_PLUGIN_DIR . '/wdk-membership') || !is_plugin_active('wdk-membership/wdk-membership.php'))
434 + add_submenu_page(
435 + 'wdk',
436 + __('Membership Addon', 'wpdirectorykit'),
437 + __('Membership Addon', 'wpdirectorykit'),
438 + 'wdk_listings_manage',
439 + 'wdk_addons_membership',
440 + array($this, 'admin_page_display')
441 + );
330 442
443 + if (!file_exists(WP_PLUGIN_DIR . '/wdk-bookings') || !is_plugin_active('wdk-bookings/wdk-bookings.php'))
444 + add_submenu_page(
445 + 'wdk',
446 + __('Booking Addon', 'wpdirectorykit'),
447 + __('Booking Addon', 'wpdirectorykit'),
448 + 'wdk_listings_manage',
449 + 'wdk_addons_bookings',
450 + array($this, 'admin_page_display')
451 + );
452 +
453 + add_submenu_page(
454 + 'wdk',
455 + __('More Addons', 'wpdirectorykit'),
456 + __('More Addons', 'wpdirectorykit'),
457 + 'wdk_listings_manage',
458 + 'wdk_addons',
459 + array($this, 'admin_page_display')
460 + );
461 +
462 + add_submenu_page(
463 + 'wdk',
464 + __('Support Forum', 'wpdirectorykit'),
465 + __('Support Forum', 'wpdirectorykit'),
466 + 'wdk_listings_manage',
467 + 'https://wordpress.org/support/plugin/wpdirectorykit/'
468 + );
469 +
470 + add_submenu_page(
471 + 'wdk',
472 + __('Contact', 'wpdirectorykit'),
473 + __('Contact', 'wpdirectorykit'),
474 + 'wdk_listings_manage',
475 + 'https://wpdirectorykit.com/contact.html'
476 + );
477 + //}
478 +
331 479 $current_theme = wp_get_theme();
332 480
333 - if( defined( 'WP_DEBUG' ) && WP_DEBUG && $current_theme->get( 'AuthorURI' ) == 'https://wpdirectorykit.com')
334 - add_submenu_page('tools.php',
335 - esc_html__('WDK Demo Import', 'wpdirectorykit'), esc_html__('WDK Demo Import', 'wpdirectorykit'), 'manage_options', 'wdk_demo_import', array($this, 'admin_page_display'));
336 -
337 -
481 + if (defined('WP_DEBUG') && WP_DEBUG && $current_theme->get('AuthorURI') == 'https://wpdirectorykit.com')
482 + add_submenu_page(
483 + 'tools.php',
484 + esc_html__('WDK Demo Import', 'wpdirectorykit'),
485 + esc_html__('WDK Demo Import', 'wpdirectorykit'),
486 + 'wdk_listings_manage',
487 + 'wdk_demo_import',
488 + array($this, 'admin_page_display')
489 + );
338 490 }
339 -
340 491 }