PluginProbe
WP Directory Kit / 1.2.3
WP Directory Kit v1.2.3
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.3, at admin/class-wpdirectorykit-admin.php

345 lines 14.1 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_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
95 /**
96 * Register the JavaScript for the admin area.
97 *
98 * @since 1.0.0
99 */
100 public function enqueue_scripts() {
101
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 */
113
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 );
122
123
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 );
126
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 );
129
130 wp_register_script( 'wdk-dependfields-edit', plugin_dir_url( __FILE__ ) . 'js/wdk-dependfields-edit.js', array( 'jquery' ), $this->version, false );
131 $params = array(
132 'ajax_url' => admin_url( 'admin-ajax.php' ),
133 );
134
135 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')),
143 );
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
148 }
149
150 /**
151 * Admin AJAX
152 */
153
154 public function ajax_admin()
155 {
156 global $Winter_MVC_WDK;
157
158 $page = '';
159 $function = '';
160
161 if(isset($_POST['page']))$page = sanitize_text_field($_POST['page']);
162 if(isset($_POST['function']))$function = sanitize_text_field($_POST['function']);
163
164 $Winter_MVC_WDK->load_controller($page, $function, array());
165 }
166
167 /**
168 * Admin Page Display
169 */
170 public function admin_page_display() {
171 global $Winter_MVC_WDK, $submenu, $menu;
172
173 $page = '';
174 $function = '';
175
176 if(isset($_GET['page']))$page = sanitize_text_field($_GET['page']);
177 if(isset($_GET['function']))$function = sanitize_text_field($_GET['function']);
178
179 if(substr($function,0,1) == '_') {
180 exit(esc_html__('blocked for public', 'wpdirectorykit'));
181 }
182
183 $Winter_MVC_WDK->load_controller($page, $function, array());
184 }
185
186 private function multilingual_register_strings()
187 {
188 if (!function_exists('PLL'))return;
189
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');
194
195 $fields = $Winter_MVC_WDK->field_m->get();
196
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');
207 }
208
209 $categories = $Winter_MVC_WDK->category_m->get_tree_table();
210
211 foreach($categories as $category)
212 {
213 pll_register_string( 'wpdirectorykit', $category->category_title, 'wdk-categories');
214 }
215
216 $locations = $Winter_MVC_WDK->location_m->get_tree_table();
217
218 foreach($locations as $location)
219 {
220 pll_register_string( 'wpdirectorykit', $location->location_title, 'wdk-locations');
221 }
222 }
223
224 /**
225 * To add Plugin Menu and Settings page
226 */
227 public function plugin_menu() {
228
229 ob_start();
230
231 $this->multilingual_register_strings();
232
233 //require_once WPDIRECTORYKIT_PATH . 'vendor/boo-settings-helper/class-boo-settings-helper.php';
234
235 add_menu_page(__('Directory Kit','wpdirectorykit'), __('Directory Kit','wpdirectorykit'),
236 'manage_options', 'wdk', array($this, 'admin_page_display'),
237 //plugin_dir_url( __FILE__ ) . 'resources/logo.png',
238 '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'));
250
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'));
267
268 add_submenu_page('wdk',
269 __('Search Form','wpdirectorykit'),
270 __('Search Form','wpdirectorykit'),
271 'manage_options', 'wdk_searchform', array($this, 'admin_page_display'));
272
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'));
282
283 add_submenu_page('wdk',
284 __('Messages','wpdirectorykit'),
285 __('Messages','wpdirectorykit'),
286 'manage_options', 'wdk_messages', array($this, 'admin_page_display'));
287
288 add_submenu_page('wdk',
289 __('Settings','wpdirectorykit'),
290 __('Settings','wpdirectorykit'),
291 'manage_options', 'wdk_settings', array($this, 'admin_page_display'));
292
293 add_submenu_page('wdk',
294 __('Documentation','wpdirectorykit'),
295 __('Documentation','wpdirectorykit'),
296 'manage_options', 'https://wpdirectorykit.com/documentation');
297
298 if(!file_exists(WPDIRECTORYKIT_PATH . 'premium_functions.php') || defined('WDK_FS_DISABLE'))
299 {
300
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'));
306
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'));
312
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'));
318
319 add_submenu_page('wdk',
320 __('More Addons','wpdirectorykit'),
321 __('More Addons','wpdirectorykit'),
322 'manage_options', 'wdk_addons', array($this, 'admin_page_display'));
323
324 add_submenu_page('wdk',
325 __('Support Forum','wpdirectorykit'),
326 __('Support Forum','wpdirectorykit'),
327 'manage_options', 'https://wordpress.org/support/plugin/wpdirectorykit/');
328
329 add_submenu_page('wdk',
330 __('Contact','wpdirectorykit'),
331 __('Contact','wpdirectorykit'),
332 'manage_options', 'https://wpdirectorykit.com/contact.html');
333 }
334
335 $current_theme = wp_get_theme();
336
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
342 }
343
344 }
345