PluginProbe
WP Directory Kit / 1.2.4
WP Directory Kit v1.2.4
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 1.4.0 1.4.1 All 35 releases
wpdirectorykit / admin / class-wpdirectorykit-admin.php

class-wpdirectorykit-admin.php in WP Directory Kit 1.2.4, at admin/class-wpdirectorykit-admin.php

353 lines 14.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * The admin-specific functionality of the plugin.
5 *
6 * @link listing-themes.com
7 * @since 1.0.0
8 *
9 * @package Wpdirectorykit
10 * @subpackage Wpdirectorykit/admin
11 */
12
13 /**
14 * The admin-specific functionality of the plugin.
15 *
16 * Defines the plugin name, version, and two examples hooks for how to
17 * enqueue the admin-specific stylesheet and JavaScript.
18 *
19 * @package Wpdirectorykit
20 * @subpackage Wpdirectorykit/admin
21 * @author listing-themes.com <dev@listing-themes.com>
22 */
23
24 if ( ! defined( 'ABSPATH' ) ) {
25 exit; // Exit if accessed directly.
26 }
27 class Wpdirectorykit_Admin {
28
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;
37
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;
46
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 ) {
55
56 $this->plugin_name = $plugin_name;
57 $this->version = $version;
58
59 }
60
61 /**
62 * Register the stylesheets for the admin area.
63 *
64 * @since 1.0.0
65 */
66 public function enqueue_styles() {
67
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 */
79
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' );
86
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');
89
90 wp_register_style( 'wdk-treefield-dropdown', WPDIRECTORYKIT_URL. 'public/js/wdk_treefield_dropdown/wdk_treefield_dropdown.css', array(), '1.0', 'all' );
91
92 wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wpdirectorykit-admin.css', array(), $this->version, 'all' );
93 wp_enqueue_style( $this->plugin_name.'-responsive', plugin_dir_url( __FILE__ ) . 'css/wpdirectorykit-admin-responsive.css', array(), $this->version, 'all' );
94 wp_register_style('jquery-ui', WPDIRECTORYKIT_URL. 'public/css/jquery-ui.css', array(), null );
95 }
96
97 /**
98 * Register the JavaScript for the admin area.
99 *
100 * @since 1.0.0
101 */
102 public function enqueue_scripts() {
103
104 /**
105 * This function is provided for demonstration purposes only.
106 *
107 * An instance of this class should be passed to the run() function
108 * defined in Wpdirectorykit_Loader as all of the hooks are defined
109 * in that particular class.
110 *
111 * The Wpdirectorykit_Loader will then create the relationship
112 * between the defined hooks and the functions defined in this
113 * class.
114 */
115
116 wp_register_script( 'wdk-treefield', WPDIRECTORYKIT_URL . 'public/js/wdk_treefield/treefield.js', array( 'jquery' ), false, false );
117 wp_register_script( 'wpmediaelement_file', WPDIRECTORYKIT_URL . 'admin/js/jquery.wpmediaelement_file.js', array( 'jquery' ), false, false );
118
119 wp_register_script( 'wdk-modal', WPDIRECTORYKIT_URL. 'public/js/wdk-modal.js', array( 'jquery' ), $this->version, false);
120 wp_register_script( 'wdk-notify', WPDIRECTORYKIT_URL. 'public/js/wdk-notify.js', array( 'jquery' ), $this->version, false);
121 wp_register_script( 'leaflet', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/leaflet.js', array( 'jquery' ), '1.7.1', false );
122
123 wp_register_script( 'leaflet-cluster', WPDIRECTORYKIT_URL. 'public/js/openstreetmap/leaflet.markercluster.js', array( 'jquery' ), '1.7.1', false );
124
125
126 wp_register_script('select2', WPDIRECTORYKIT_URL. 'public/js/select2/js/select2.min.js', array( 'jquery' ), '4.0.13', false );
127 wp_register_script('wdk-select2', WPDIRECTORYKIT_URL. 'public/js/wdk-select2.js', array( 'jquery' ), '4.0.13', false );
128
129 wp_register_script('jquery-confirm', WPDIRECTORYKIT_URL. 'public/js/jquery-confirm/js/jquery-confirm.js', array( 'jquery' ), '3.3.4', false );
130 wp_register_script( 'wdk-dependfields-submitform', WPDIRECTORYKIT_URL. 'public/js/wdk-dependfields-submitform.js', array( 'jquery' ), false, false );
131
132 $params = array(
133 'ajax_url' => admin_url( 'admin-ajax.php' )
134 );
135 wp_register_script('wdk-treefield-dropdown', WPDIRECTORYKIT_URL. 'public/js/wdk_treefield_dropdown/wdk_treefield_dropdown.js', array( 'jquery' ), '1.0', false );
136 wp_localize_script( 'wdk-treefield-dropdown', 'script_parameters', $params);
137
138 wp_register_script( 'wdk-dependfields-edit', plugin_dir_url( __FILE__ ) . 'js/wdk-dependfields-edit.js', array( 'jquery' ), $this->version, false );
139 $params = array(
140 'ajax_url' => admin_url( 'admin-ajax.php' ),
141 );
142
143 wp_localize_script('wdk-dependfields-edit', 'script_dependfields_parameters', $params);
144
145 $params = array(
146 'ajax_url' => admin_url( 'admin-ajax.php' ),
147 'format_date' => wdk_convert_date_format_js(get_option('date_format')),
148 'format_datetime' => wdk_convert_date_format_js(get_option('date_format').' '.get_option('time_format')),
149 'format_date_js' => wdk_convert_date_format_jquery(get_option('date_format')),
150 'format_datetime_js' => wdk_convert_date_format_jquery(get_option('date_format').' '.get_option('time_format')),
151 );
152 wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpdirectorykit-admin.js', array( 'jquery' ), $this->version, false );
153 wp_localize_script( $this->plugin_name, 'script_parameters', $params);
154
155
156 }
157
158 /**
159 * Admin AJAX
160 */
161
162 public function ajax_admin()
163 {
164 global $Winter_MVC_WDK;
165
166 $page = '';
167 $function = '';
168
169 if(isset($_POST['page']))$page = sanitize_text_field($_POST['page']);
170 if(isset($_POST['function']))$function = sanitize_text_field($_POST['function']);
171
172 $Winter_MVC_WDK->load_controller($page, $function, array());
173 }
174
175 /**
176 * Admin Page Display
177 */
178 public function admin_page_display() {
179 global $Winter_MVC_WDK, $submenu, $menu;
180
181 $page = '';
182 $function = '';
183
184 if(isset($_GET['page']))$page = sanitize_text_field($_GET['page']);
185 if(isset($_GET['function']))$function = sanitize_text_field($_GET['function']);
186
187 if(substr($function,0,1) == '_') {
188 exit(esc_html__('blocked for public', 'wpdirectorykit'));
189 }
190
191 $Winter_MVC_WDK->load_controller($page, $function, array());
192 }
193
194 private function multilingual_register_strings()
195 {
196 if (!function_exists('PLL'))return;
197
198 global $Winter_MVC_WDK;
199 $Winter_MVC_WDK->model('field_m');
200 $Winter_MVC_WDK->model('category_m');
201 $Winter_MVC_WDK->model('location_m');
202
203 $fields = $Winter_MVC_WDK->field_m->get();
204
205 foreach($fields as $field)
206 {
207 if(!empty($field->field_label))
208 pll_register_string( 'wpdirectorykit', $field->field_label, 'wdk-fields');
209
210 if(!empty($field->values_list))
211 pll_register_string( 'wpdirectorykit', $field->values_list, 'wdk-fields');
212
213 if(!empty($field->hint))
214 pll_register_string( 'wpdirectorykit', $field->hint, 'wdk-fields');
215 }
216
217 $categories = $Winter_MVC_WDK->category_m->get_tree_table();
218
219 foreach($categories as $category)
220 {
221 pll_register_string( 'wpdirectorykit', $category->category_title, 'wdk-categories');
222 }
223
224 $locations = $Winter_MVC_WDK->location_m->get_tree_table();
225
226 foreach($locations as $location)
227 {
228 pll_register_string( 'wpdirectorykit', $location->location_title, 'wdk-locations');
229 }
230 }
231
232 /**
233 * To add Plugin Menu and Settings page
234 */
235 public function plugin_menu() {
236
237 ob_start();
238
239 $this->multilingual_register_strings();
240
241 //require_once WPDIRECTORYKIT_PATH . 'vendor/boo-settings-helper/class-boo-settings-helper.php';
242
243 add_menu_page(__('Directory Kit','wpdirectorykit'), __('Directory Kit','wpdirectorykit'),
244 'manage_options', 'wdk', array($this, 'admin_page_display'),
245 //plugin_dir_url( __FILE__ ) . 'resources/logo.png',
246 'dashicons-category',
247 28 );
248
249 add_submenu_page('wdk',
250 __('Listings','wpdirectorykit'),
251 __('Listings','wpdirectorykit'),
252 'manage_options', 'wdk', array($this, 'admin_page_display'));
253
254 add_submenu_page('wdk',
255 __('Add Listing','wpdirectorykit'),
256 __('Add Listing','wpdirectorykit'),
257 'manage_options', 'wdk_listing', array($this, 'admin_page_display'));
258
259 add_submenu_page('wdk',
260 __('Fields','wpdirectorykit'),
261 __('Fields','wpdirectorykit'),
262 'manage_options', 'wdk_fields', array($this, 'admin_page_display'));
263
264 if(get_option('wdk_is_category_enabled', FALSE))
265 add_submenu_page('wdk',
266 __('Categories','wpdirectorykit'),
267 __('Categories','wpdirectorykit'),
268 'manage_options', 'wdk_category', array($this, 'admin_page_display'));
269
270 if(get_option('wdk_is_location_enabled', FALSE))
271 add_submenu_page('wdk',
272 __('Locations','wpdirectorykit'),
273 __('Locations','wpdirectorykit'),
274 'manage_options', 'wdk_location', array($this, 'admin_page_display'));
275
276 add_submenu_page('wdk',
277 __('Search Form','wpdirectorykit'),
278 __('Search Form','wpdirectorykit'),
279 'manage_options', 'wdk_searchform', array($this, 'admin_page_display'));
280
281 add_submenu_page('wdk',
282 __('Result Card','wpdirectorykit'),
283 __('Result Card','wpdirectorykit'),
284 'manage_options', 'wdk_resultitem', array($this, 'admin_page_display'));
285
286 add_submenu_page('wdk',
287 __('Change Currency','wpdirectorykit'),
288 __('Change Currency','wpdirectorykit'),
289 'manage_options', 'wdk_change_currency', array($this, 'admin_page_display'));
290
291 add_submenu_page('wdk',
292 __('Messages','wpdirectorykit'),
293 __('Messages','wpdirectorykit'),
294 'manage_options', 'wdk_messages', array($this, 'admin_page_display'));
295
296 add_submenu_page('wdk',
297 __('Settings','wpdirectorykit'),
298 __('Settings','wpdirectorykit'),
299 'manage_options', 'wdk_settings', array($this, 'admin_page_display'));
300
301 add_submenu_page('wdk',
302 __('Documentation','wpdirectorykit'),
303 __('Documentation','wpdirectorykit'),
304 'manage_options', 'https://wpdirectorykit.com/documentation');
305
306 if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
307 {
308
309 if(!file_exists(WP_PLUGIN_DIR.'/wdk-currency-conversion') || !is_plugin_active( 'wdk-currency-conversion/wdk-currency-conversion.php' ))
310 add_submenu_page('wdk',
311 __('Currencies Addon','wpdirectorykit'),
312 __('Currencies Addon','wpdirectorykit'),
313 'manage_options', 'wdk_addons_currencies', array($this, 'admin_page_display'));
314
315 if(!file_exists(WP_PLUGIN_DIR.'/wdk-membership') || !is_plugin_active( 'wdk-membership/wdk-membership.php' ))
316 add_submenu_page('wdk',
317 __('Membership Addon','wpdirectorykit'),
318 __('Membership Addon','wpdirectorykit'),
319 'manage_options', 'wdk_addons_membership', array($this, 'admin_page_display'));
320
321 if(!file_exists(WP_PLUGIN_DIR.'/wdk-bookings') || !is_plugin_active( 'wdk-bookings/wdk-bookings.php' ))
322 add_submenu_page('wdk',
323 __('Booking Addon','wpdirectorykit'),
324 __('Booking Addon','wpdirectorykit'),
325 'manage_options', 'wdk_addons_bookings', array($this, 'admin_page_display'));
326
327 add_submenu_page('wdk',
328 __('More Addons','wpdirectorykit'),
329 __('More Addons','wpdirectorykit'),
330 'manage_options', 'wdk_addons', array($this, 'admin_page_display'));
331
332 add_submenu_page('wdk',
333 __('Support Forum','wpdirectorykit'),
334 __('Support Forum','wpdirectorykit'),
335 'manage_options', 'https://wordpress.org/support/plugin/wpdirectorykit/');
336
337 add_submenu_page('wdk',
338 __('Contact','wpdirectorykit'),
339 __('Contact','wpdirectorykit'),
340 'manage_options', 'https://wpdirectorykit.com/contact.html');
341 }
342
343 $current_theme = wp_get_theme();
344
345 if( defined( 'WP_DEBUG' ) && WP_DEBUG && $current_theme->get( 'AuthorURI' ) == 'https://wpdirectorykit.com')
346 add_submenu_page('tools.php',
347 esc_html__('WDK Demo Import', 'wpdirectorykit'), esc_html__('WDK Demo Import', 'wpdirectorykit'), 'manage_options', 'wdk_demo_import', array($this, 'admin_page_display'));
348
349
350 }
351
352 }
353