PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.1.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.1.2
4.3.2 4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 All 165 releases
← All changes | Inc/Admin/Frames/Admin.php +30 -216 4.3.04.0.1.2 View file →
@@ -1,11 +1,10 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Admin\Frames;
3 +namespace WPAdminify\Inc\Admin\Frames;
4 4
5 -use PXLBSAdminify\Inc\Utils;
6 -use PXLBSAdminify\Inc\Modules\MenuEditor\MenuEditorOptions;
7 -use PXLBSAdminify\Inc\Admin\AdminSettings;
5 +use WPAdminify\Inc\Utils;
6 +use WPAdminify\Inc\Admin\AdminSettings;
8 7
9 8 // no direct access allowed
10 9 if (!defined('ABSPATH')) {
11 10 exit;
@@ -21,9 +20,8 @@
21 20 class Admin
22 21 {
23 22
24 23 public $options;
25 - public $menu_settings;
26 24
27 25 /**
28 26 * Constructor for the class.
29 27 *
@@ -33,9 +31,8 @@
33 31 */
34 32 public function __construct()
35 33 {
36 34 $this->options = (array) AdminSettings::get_instance()->get();
37 - $this->menu_settings = (new MenuEditorOptions())->get();
38 35 $this->init_hooks();
39 36 }
40 37
41 38 /**
@@ -65,110 +62,20 @@
65 62 * @return void
66 63 */
67 64 public function load_scripts()
68 65 {
69 - wp_enqueue_style('frame-adminify--admin', PXLBSADMINIFY_ASSETS . 'admin/css/admin' . Utils::assets_ext('.css'), [], PXLBSADMINIFY_VER);
70 - wp_enqueue_script('frame-adminify--admin', PXLBSADMINIFY_ASSETS . 'admin/js/frame' . Utils::assets_ext('.js'), ['jquery', 'react'], PXLBSADMINIFY_VER, true);
66 + wp_enqueue_style('frame-adminify--admin', WP_ADMINIFY_ASSETS . 'admin/css/admin' . Utils::assets_ext('.css'), [], WP_ADMINIFY_VER);
67 + wp_enqueue_script('frame-adminify--admin', WP_ADMINIFY_ASSETS . 'admin/js/frame' . Utils::assets_ext('.js'), ['jquery', 'react'], WP_ADMINIFY_VER, true);
71 68
69 +
70 +
72 71 $localize_array_data = [
73 72 'ajax_url' => admin_url('admin-ajax.php'),
74 - 'security_nonce' => wp_create_nonce('pxlbsadminify_frame_nonce')
73 + 'security_nonce' => wp_create_nonce('adminify_nonce'),
75 74 ];
76 -
77 - wp_localize_script( 'frame-adminify--admin', 'PXLBSADMINIFY_FRAME', $localize_array_data );
78 - wp_localize_script( 'frame-adminify--admin', 'PXLBSADMINIFY_FRAME_NOT_ALLOWED_URLS', self::get_not_allowed_urls() );
75 + wp_localize_script( 'frame-adminify--admin', 'WPAdminify', $localize_array_data );
79 76 }
80 77
81 - public static function get_not_allowed_urls() {
82 -
83 - $not_allowed_urls = [
84 - '/wp-admin/customize.php',
85 - '/wp-admin/site-editor.php',
86 - [
87 - 'url' => '*',
88 - 'query_params' => ['fl_builder', 'fl_builder_ui']
89 - ],
90 - [
91 - 'url' => '*',
92 - 'query_params' => ['action' => 'elementor']
93 - ],
94 - [
95 - 'url' => '*',
96 - 'query_params' => ['action' => 'architect'] // Added for thrive page builder
97 - ],
98 - [
99 - 'url' => '*',
100 - 'query_params' => ['bricks' => 'true']
101 - ],
102 - [
103 - 'url' => '*',
104 - 'query_params' => ['ct_builder' => 'true', 'oxygen_iframe!']
105 - ],
106 - [
107 - 'url' => '*',
108 - 'query_params' => ['page' => 'latepoint'] // added for latepoint
109 - ],
110 - [
111 - 'url' => '*',
112 - 'query_params' => ['page' => 'sbi-setup']
113 - ],
114 - [
115 - 'url' => '*',
116 - 'query_params' => ['page' => 'sbtt']
117 - ],
118 - [
119 - 'url' => '*',
120 - 'query_params' => ['page' => 'cff-setup']
121 - ],
122 - [
123 - 'url' => '*',
124 - 'query_params' => ['page' => 'rank-math-registration']
125 - ],
126 - [
127 - 'url' => '*',
128 - 'query_params' => ['page' => 'googlesitekit-splash']
129 - ],
130 - [
131 - 'url' => '*',
132 - 'query_params' => ['page' => 'cff-feed-builder']
133 - ],
134 - [
135 - 'url' => '*',
136 - 'query_params' => ['page' => 'sbi-feed-builder']
137 - ],
138 - [
139 - 'url' => '*',
140 - 'query_params' => ['page' => 'sbr']
141 - ],
142 - [
143 - 'url' => '*',
144 - 'query_params' => ['page' => 'ctf-feed-builder']
145 - ],
146 - [
147 - 'url' => '*',
148 - 'query_params' => ['page' => 'sby-feed-builder']
149 - ],
150 - [
151 - 'url' => '*',
152 - 'query_params' => ['page' => 'suretriggers']
153 - ],
154 - [
155 - 'url' => '*',
156 - 'query_params' => ['tab' => 'plugin-information', 'TB_iframe' => 'true']
157 - ],
158 - // [
159 - // 'url' => '/wp-admin/post-new.php',
160 - // 'post_type' => ['post', 'page']
161 - // ],
162 - // [
163 - // 'url' => '/wp-admin/post.php',
164 - // 'post_type' => ['post', 'page']
165 - // ]
166 - ];
167 -
168 - return apply_filters( 'pxlbsadminify_frame_not_allowed_urls', $not_allowed_urls );
169 - }
170 -
171 78 /**
172 79 * Adds the 'frame-adminify-app="true"' attribute to the given attribute string.
173 80 *
174 81 * @param string $attr The original attribute string.
@@ -187,15 +94,9 @@
187 94 * @return void
188 95 */
189 96 public function load_template()
190 97 {
191 - // async-upload.php & friends fire admin_init but answer with a raw payload,
192 - // so the frame markup would be read as part of the response.
193 - if ( ! Utils::is_admin_page_request() ) {
194 - return;
195 - }
196 -
197 - Utils::load_template('Templates.php');
98 + adminify_load_template('Templates.php');
198 99 }
199 100
200 101 public function capture_wp_menu($parent_file)
201 102 {
@@ -200,9 +101,9 @@
200 101 public function capture_wp_menu($parent_file)
201 102 {
202 103 global $menu, $submenu;
203 104
204 - $menu_build = pxlbsadminify_build_menu($menu, $submenu, $this->menu_settings);
105 + $menu_build = build_menu($menu, $submenu);
205 106
206 107 $this->enqueue_menu($menu_build);
207 108
208 109 return $parent_file;
@@ -212,41 +113,13 @@
212 113 {
213 114 $outputter = function () use ($menu) {
214 115
215 116 $current_user = wp_get_current_user();
216 - $light_dark_mode = $this->options['light_dark_mode'];
217 - if( !isset($light_dark_mode['admin_ui_mode']) ) {
218 - $default_light_dark_mode = [
219 - 'admin_ui_mode' => 'light',
220 - 'admin_ui_logo_type' => 'image_logo',
221 - 'admin_ui_light_mode' => [
222 - 'admin_ui_light_logo_text' => 'Adminify',
223 - 'admin_ui_light_logo_text_typo' => array_fill_keys(
224 - ['font-family', 'font-weight', 'font-style', 'font-size', 'letter-spacing', 'color', 'type', 'unit'], ''
225 - ) + ['unit' => 'px'],
226 - 'admin_ui_light_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
227 - 'light_logo_size' => ['width' => 120, 'height' => 32, 'unit' => 'px'],
228 - 'mini_admin_ui_light_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
229 - ],
230 - 'admin_ui_dark_mode' => [
231 - 'admin_ui_dark_logo_text' => 'Adminify',
232 - 'admin_ui_dark_logo_text_typo' => array_fill_keys(
233 - ['font-family', 'font-weight', 'font-style', 'font-size', 'letter-spacing', 'color', 'type', 'unit'], ''
234 - ) + ['unit' => 'px'],
235 - 'admin_ui_dark_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
236 - 'dark_logo_size' => ['width' => 150, 'height' => 45, 'unit' => 'px'],
237 - 'mini_admin_ui_dark_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
238 - 'schedule_dark_mode' => array_fill_keys(['enable_schedule_dark_mode', 'schedule_dark_mode_type', 'schedule_dark_mode_start_time', 'schedule_dark_mode_end_time'], ''),
239 - ],
240 - ];
241 - $light_dark_mode = array_merge($default_light_dark_mode, $light_dark_mode);
242 - }else{
243 - $light_dark_mode['admin_ui_mode'] = empty(get_user_meta(get_current_user_id(), 'color_mode', true)) ? $light_dark_mode['admin_ui_mode'] : get_user_meta(get_current_user_id(), 'color_mode', true);
244 - }
117 +
245 118 $menu_settings = [
246 119 'menu' => $menu,
247 120 'admin_bar_dark_light_btn' => $this->options['admin_bar_dark_light_btn'],
248 - 'light_dark_mode' => $light_dark_mode ,
121 + 'light_dark_mode' => $this->options['light_dark_mode'],
249 122 'menu_layout_settings' => $this->options['menu_layout_settings'],
250 123 'user_info' => [
251 124 'img' => get_avatar($current_user->user_email, 72, '', ''),
252 125 'display_name' => esc_html($current_user->display_name),
@@ -253,13 +126,13 @@
253 126 'profile_url' => esc_url(admin_url('profile.php')),
254 127 'username' => esc_html($current_user->user_login),
255 128 'email' => wp_kses_post(is_email($current_user->user_email)),
256 129 ],
257 - 'image_path' => PXLBSADMINIFY_ASSETS_IMAGE,
258 - 'is_pro' => (class_exists('\\PXLBSAdminify\\Pro\\Adminify_Pro') && !empty(\PXLBSAdminify\Pro\Adminify_Pro::is_premium())) ? true : false
130 + 'image_path' => WP_ADMINIFY_ASSETS_IMAGE,
131 + 'is_pro' => (class_exists('\\WPAdminify\\Pro\\Adminify_Pro') && !empty(\WPAdminify\Pro\Adminify_Pro::is_premium())) ? true : false
259 132 ];
260 133
261 - $data = "var frame_adminify_menu=" . wp_json_encode($menu_settings);
134 + $data = "var frame_adminify_menu=" . json_encode($menu_settings);
262 135 wp_print_inline_script_tag($data, ["id" => "frame_adminify_menu"]);
263 136 };
264 137
265 138 add_action("admin_footer", $outputter, 0);
@@ -269,28 +142,28 @@
269 142
270 143 public function get_admin_bar_menu_list()
271 144 {
272 145 global $wp_admin_bar;
146 +
273 147 $admin_bar_data = $this->nodes_to_array($wp_admin_bar->get_nodes());
274 148 $admin_bar_data_nested = $this->format_to_nested($admin_bar_data);
275 149
150 +
276 151 $admin_bar_menu_data = [];
277 -
278 - // Admin Bar Exits
279 - if ( Utils::is_plugin_active('admin-bar/admin-bar.php') ) {
152 + // Admin Bar Exits
153 + if(Utils::is_plugin_active('admin-bar/admin-bar.php')) {
280 154 $admin_bar_items = get_option('_jltadminbar_settings');
155 +
156 + if( empty($admin_bar_items) ) return;
281 157
282 - // Only build the customized admin bar when settings exist.
283 - // Otherwise fall through so the default admin bar data is still
284 - // printed and `adminify_admin_bar_data` is always defined.
285 - if ( !empty($admin_bar_items) ) {
286 -
287 158 $existing_admin_bar = !empty($admin_bar_items['existing_admin_bar']) ? $admin_bar_items['existing_admin_bar'] : '';
288 159 $saved_admin_bar = !empty($admin_bar_items['saved_admin_bar']) ? $admin_bar_items['saved_admin_bar'] : [];
289 160
290 161 $parsed_admin_bar_backend = empty($saved_admin_bar) ? $existing_admin_bar : $this->parse_menu_items($saved_admin_bar, $existing_admin_bar, 'backend');
162 +
291 163 $nested_admin_bar = $this->format_to_nested($parsed_admin_bar_backend);
292 164 $formated_admin_menu = $this->associative_to_index_array($nested_admin_bar);
165 +
293 166 $remove_admin_menu = [];
294 167 foreach ($formated_admin_menu as $key => $value) {
295 168 if($value['id'] === 'wp-logo' || $value['id'] === 'site-name'|| $value['id'] === 'updates'|| $value['id'] === 'menu-toggle'|| $value['id'] === 'comments') {
296 169 continue;
@@ -296,19 +169,10 @@
296 169 continue;
297 170 }
298 171 $remove_admin_menu[$key] = $value;
299 172 }
300 -
173 +
301 174 $admin_bar_menu_data = $this->nodes_to_array_for_admin_bar($remove_admin_menu);
302 - foreach($admin_bar_menu_data as $key => $value){
303 - if( array_key_exists($value['id'],$admin_bar_data_nested)){
304 - $value['href'] = $admin_bar_data_nested[$value['id']]['href'];
305 - $value = $this->return_original_admin_bar_item_url($value, $admin_bar_data_nested[$value['id']]);
306 - }
307 - $admin_bar_menu_data[$key] = $value;
308 - }
309 -
310 - } // end if ( !empty($admin_bar_items) )
311 175 }
312 176
313 177 unset($admin_bar_data_nested['wp-logo']);
314 178 unset($admin_bar_data_nested['site-name']);
@@ -315,61 +179,31 @@
315 179 unset($admin_bar_data_nested['updates']);
316 180 unset($admin_bar_data_nested['menu-toggle']);
317 181 unset($admin_bar_data_nested['comments']);
318 182
319 - $admin_bar_data_nested = pxlbsadminify_replaceAmpersandInHref($admin_bar_data_nested);
320 183
321 - // WP Adminify Pricing/Upgrade - open in new tab
322 - if (isset($admin_bar_data_nested['wp-adminify-settings']['submenu'])) {
323 - foreach ($admin_bar_data_nested['wp-adminify-settings']['submenu'] as $key => &$bar_item) {
324 - if (isset($bar_item['href']) && strpos($bar_item['href'], 'wp-adminify-settings-pricing') !== false) {
325 - $bar_item['href'] = 'https://wpadminify.com/pricing';
326 - $bar_item['meta']['target'] = '_blank';
327 - break;
328 - }
329 - }
330 - unset($bar_item);
331 - }
332 -
333 184 $outputter = function () use ($admin_bar_data_nested, $admin_bar_menu_data) {
334 185 $extra_data = [
335 186 'data' => !empty($admin_bar_menu_data) ? $admin_bar_menu_data : array_values($admin_bar_data_nested),
336 187 'logout_url' => wp_logout_url(home_url('/')),
337 - // 'site_url' => site_url('/'),
338 - 'site_url' => home_url(),
188 + 'site_url' => site_url(),
339 189 'admin_url' => admin_url(),
340 190 'search' => $this->options['admin_bar_search'],
341 191 'notification' => $this->options['admin_bar_notif'],
342 192 'light_dark_switcher' => $this->options['admin_bar_dark_light_btn'],
343 193 ];
344 - $data = "var adminify_admin_bar_data=" . wp_json_encode($extra_data);
194 + $data = "var adminify_admin_bar_data=" . json_encode($extra_data);
345 195 wp_print_inline_script_tag($data, ["id" => "adminify_admin_bar_data"]);
346 196 };
347 197
348 198 add_action("admin_footer", $outputter, 0);
349 199 add_action("wp_footer", $outputter, 0);
200 +
350 201 return $admin_bar_data;
351 202 }
352 203
353 - public function return_original_admin_bar_item_url( $value ,$admin_bar_data_nested ){
354 - if( array_key_exists('submenu',$value) ){
355 - foreach($value['submenu'] as $submenuKey => $submenuItem){
356 - $submenuId = $submenuItem['id'] ?? null;
357 - if( $submenuId && isset($admin_bar_data_nested['submenu'][$submenuId]) ){
358 - $submenuItem = $this->return_original_admin_bar_item_url($submenuItem, $admin_bar_data_nested['submenu'][$submenuId]);
359 - $submenuItem['href'] = $admin_bar_data_nested['submenu'][$submenuId]['href'] ?? $submenuItem['href'];
360 - }
361 - $value['submenu'][$submenuKey] = $submenuItem;
362 - }
363 - }
364 - return $value;
365 - }
366 -
367 204 public function adminify_adminbar_localize_script(){
368 - // get_admin_bar_menu_list() returns an array and prints its script via
369 - // wp_print_inline_script_tag() on the footer hook, so call it for that side effect
370 - // rather than echoing the return value.
371 - $this->get_admin_bar_menu_list();
205 + echo $this->get_admin_bar_menu_list();
372 206 }
373 207
374 208 /**
375 209 * Turn admin bar items object to array
@@ -434,9 +268,9 @@
434 268 'submenu' => $this->nodes_to_array_for_admin_bar($node['submenu']),
435 269 // 'hidden_for' => '',
436 270 // 'newly_created' => 0,
437 271 'menu_level' => 0,
438 - 'menu_status' => !empty( $node['menu_status'] ) ? true : false,
272 + 'menu_status' => true,
439 273 );
440 274 }
441 275
442 276 return array_values($admin_bar_array);
@@ -484,28 +318,8 @@
484 318 $nested_array = [];
485 319
486 320 // Third, get the parent menu items.
487 321 foreach ($flat_array as $menu_id => $menu) {
488 -
489 - if( !empty($menu['hidden_for']) ) {
490 - $disable_for = [];
491 -
492 - foreach($menu['hidden_for'] as $hidden_key => $hidden_user){
493 - $disable_for[$hidden_key] = strtolower($hidden_user['value']);
494 -
495 - }
496 -
497 - if (\PXLBSAdminify\Inc\Utils::restrict_for($disable_for)) {
498 - unset($flat_array[$menu_id]);
499 - continue;
500 - }
501 - }
502 -
503 - if ( isset($menu['parent']) && $menu['parent'] && !isset($flat_array[$menu['parent']]) ) {
504 - unset($flat_array[$menu_id]);
505 - continue;
506 - }
507 -
508 322 if (!isset($menu['parent']) || !$menu['parent'] || !isset($flat_array[$menu['parent']])) {
509 323 $nested_array[$menu_id] = $menu;
510 324
511 325 $additional = array(