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 +388 -241 1.2.3 → 1.5.9 View file →
@@ -20,325 +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 - if(substr($function,0,1) == '_') {
180 - exit(esc_html__('blocked for public', 'wpdirectorykit'));
181 - }
244 + if (substr($function, 0, 1) == '_') {
245 + exit(esc_html__('blocked for public', 'wpdirectorykit'));
246 + }
182 247
183 - $Winter_MVC_WDK->load_controller($page, $function, array());
184 - }
248 + $Winter_MVC_WDK->load_controller($page, $function, array());
249 + }
185 250
186 - private function multilingual_register_strings()
187 - {
188 - if (!function_exists('PLL'))return;
251 + private function multilingual_register_strings()
252 + {
253 + if (!function_exists('PLL')) return;
189 254
190 - global $Winter_MVC_WDK;
191 - $Winter_MVC_WDK->model('field_m');
192 - $Winter_MVC_WDK->model('category_m');
193 - $Winter_MVC_WDK->model('location_m');
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');
194 259
195 260 $fields = $Winter_MVC_WDK->field_m->get();
196 261
197 - foreach($fields as $field)
198 - {
199 - if(!empty($field->field_label))
200 - pll_register_string( 'wpdirectorykit', $field->field_label, 'wdk-fields');
201 -
202 - if(!empty($field->values_list))
203 - pll_register_string( 'wpdirectorykit', $field->values_list, 'wdk-fields');
204 -
205 - if(!empty($field->hint))
206 - 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');
207 271 }
208 272
209 273 $categories = $Winter_MVC_WDK->category_m->get_tree_table();
210 274
211 - foreach($categories as $category)
212 - {
213 - pll_register_string( 'wpdirectorykit', $category->category_title, 'wdk-categories');
275 + foreach ($categories as $category) {
276 + pll_register_string('wpdirectorykit', $category->category_title, 'wdk-categories');
214 277 }
215 278
216 279 $locations = $Winter_MVC_WDK->location_m->get_tree_table();
217 280
218 - foreach($locations as $location)
219 - {
220 - pll_register_string( 'wpdirectorykit', $location->location_title, 'wdk-locations');
281 + foreach ($locations as $location) {
282 + pll_register_string('wpdirectorykit', $location->location_title, 'wdk-locations');
221 283 }
222 - }
284 + }
223 285
224 286 /**
225 287 * To add Plugin Menu and Settings page
226 288 */
227 - public function plugin_menu() {
289 + public function plugin_menu()
290 + {
228 291
229 292 ob_start();
230 293
231 - $this->multilingual_register_strings();
294 + $this->multilingual_register_strings();
232 295
233 296 //require_once WPDIRECTORYKIT_PATH . 'vendor/boo-settings-helper/class-boo-settings-helper.php';
234 297
235 - add_menu_page(__('Directory Kit','wpdirectorykit'), __('Directory Kit','wpdirectorykit'),
236 - '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'),
237 304 //plugin_dir_url( __FILE__ ) . 'resources/logo.png',
238 305 'dashicons-category',
239 - 28 );
240 -
241 - add_submenu_page('wdk',
242 - __('Listings','wpdirectorykit'),
243 - __('Listings','wpdirectorykit'),
244 - 'manage_options', 'wdk', array($this, 'admin_page_display'));
245 -
246 - add_submenu_page('wdk',
247 - __('Add Listing','wpdirectorykit'),
248 - __('Add Listing','wpdirectorykit'),
249 - 'manage_options', 'wdk_listing', array($this, 'admin_page_display'));
306 + 28
307 + );
250 308
251 - add_submenu_page('wdk',
252 - __('Fields','wpdirectorykit'),
253 - __('Fields','wpdirectorykit'),
254 - 'manage_options', 'wdk_fields', array($this, 'admin_page_display'));
255 -
256 - if(get_option('wdk_is_category_enabled', FALSE))
257 - add_submenu_page('wdk',
258 - __('Categories','wpdirectorykit'),
259 - __('Categories','wpdirectorykit'),
260 - 'manage_options', 'wdk_category', array($this, 'admin_page_display'));
261 -
262 - if(get_option('wdk_is_location_enabled', FALSE))
263 - add_submenu_page('wdk',
264 - __('Locations','wpdirectorykit'),
265 - __('Locations','wpdirectorykit'),
266 - '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 + );
267 317
268 - add_submenu_page('wdk',
269 - __('Search Form','wpdirectorykit'),
270 - __('Search Form','wpdirectorykit'),
271 - '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 + );
272 326
273 - add_submenu_page('wdk',
274 - __('Result Card','wpdirectorykit'),
275 - __('Result Card','wpdirectorykit'),
276 - 'manage_options', 'wdk_resultitem', array($this, 'admin_page_display'));
277 -
278 - add_submenu_page('wdk',
279 - __('Change Currency','wpdirectorykit'),
280 - __('Change Currency','wpdirectorykit'),
281 - '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 + );
282 335
283 - add_submenu_page('wdk',
284 - __('Messages','wpdirectorykit'),
285 - __('Messages','wpdirectorykit'),
286 - '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 + );
287 345
288 - add_submenu_page('wdk',
289 - __('Settings','wpdirectorykit'),
290 - __('Settings','wpdirectorykit'),
291 - '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 + );
292 355
293 - add_submenu_page('wdk',
294 - __('Documentation','wpdirectorykit'),
295 - __('Documentation','wpdirectorykit'),
296 - '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 + );
297 384
298 - if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
299 - {
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 + );
300 393
301 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-currency-conversion') || !is_plugin_active( 'wdk-currency-conversion/wdk-currency-conversion.php' ))
302 - add_submenu_page('wdk',
303 - __('Currencies Addon','wpdirectorykit'),
304 - __('Currencies Addon','wpdirectorykit'),
305 - '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 + );
306 402
307 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-membership') || !is_plugin_active( 'wdk-membership/wdk-membership.php' ))
308 - add_submenu_page('wdk',
309 - __('Membership Addon','wpdirectorykit'),
310 - __('Membership Addon','wpdirectorykit'),
311 - '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 + );
312 411
313 - if(!file_exists(WP_PLUGIN_DIR.'/wdk-bookings') || !is_plugin_active( 'wdk-bookings/wdk-bookings.php' ))
314 - add_submenu_page('wdk',
315 - __('Booking Addon','wpdirectorykit'),
316 - __('Booking Addon','wpdirectorykit'),
317 - '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 + );
318 419
319 - add_submenu_page('wdk',
320 - __('More Addons','wpdirectorykit'),
321 - __('More Addons','wpdirectorykit'),
322 - 'manage_options', 'wdk_addons', array($this, 'admin_page_display'));
420 + //if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
421 + //{
323 422
324 - add_submenu_page('wdk',
325 - __('Support Forum','wpdirectorykit'),
326 - __('Support Forum','wpdirectorykit'),
327 - '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 + );
328 432
329 - add_submenu_page('wdk',
330 - __('Contact','wpdirectorykit'),
331 - __('Contact','wpdirectorykit'),
332 - 'manage_options', 'https://wpdirectorykit.com/contact.html');
333 - }
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 + );
334 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 +
335 479 $current_theme = wp_get_theme();
336 480
337 - if( defined( 'WP_DEBUG' ) && WP_DEBUG && $current_theme->get( 'AuthorURI' ) == 'https://wpdirectorykit.com')
338 - add_submenu_page('tools.php',
339 - esc_html__('WDK Demo Import', 'wpdirectorykit'), esc_html__('WDK Demo Import', 'wpdirectorykit'), 'manage_options', 'wdk_demo_import', array($this, 'admin_page_display'));
340 -
341 -
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 + );
342 490 }
343 -
344 491 }