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 -206 4.2.124.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,106 +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('adminify_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' => '/wp-admin/post-new.php',
156 - // 'post_type' => ['post', 'page']
157 - // ],
158 - // [
159 - // 'url' => '/wp-admin/post.php',
160 - // 'post_type' => ['post', 'page']
161 - // ]
162 - ];
163 -
164 - return apply_filters( 'pxlbsadminify_frame_not_allowed_urls', $not_allowed_urls );
165 - }
166 -
167 78 /**
168 79 * Adds the 'frame-adminify-app="true"' attribute to the given attribute string.
169 80 *
170 81 * @param string $attr The original attribute string.
@@ -183,9 +94,9 @@
183 94 * @return void
184 95 */
185 96 public function load_template()
186 97 {
187 - Utils::load_template('Templates.php');
98 + adminify_load_template('Templates.php');
188 99 }
189 100
190 101 public function capture_wp_menu($parent_file)
191 102 {
@@ -190,9 +101,9 @@
190 101 public function capture_wp_menu($parent_file)
191 102 {
192 103 global $menu, $submenu;
193 104
194 - $menu_build = pxlbsadminify_build_menu($menu, $submenu, $this->menu_settings);
105 + $menu_build = build_menu($menu, $submenu);
195 106
196 107 $this->enqueue_menu($menu_build);
197 108
198 109 return $parent_file;
@@ -202,41 +113,13 @@
202 113 {
203 114 $outputter = function () use ($menu) {
204 115
205 116 $current_user = wp_get_current_user();
206 - $light_dark_mode = $this->options['light_dark_mode'];
207 - if( !isset($light_dark_mode['admin_ui_mode']) ) {
208 - $default_light_dark_mode = [
209 - 'admin_ui_mode' => 'light',
210 - 'admin_ui_logo_type' => 'image_logo',
211 - 'admin_ui_light_mode' => [
212 - 'admin_ui_light_logo_text' => 'Adminify',
213 - 'admin_ui_light_logo_text_typo' => array_fill_keys(
214 - ['font-family', 'font-weight', 'font-style', 'font-size', 'letter-spacing', 'color', 'type', 'unit'], ''
215 - ) + ['unit' => 'px'],
216 - 'admin_ui_light_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
217 - 'light_logo_size' => ['width' => 120, 'height' => 32, 'unit' => 'px'],
218 - 'mini_admin_ui_light_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
219 - ],
220 - 'admin_ui_dark_mode' => [
221 - 'admin_ui_dark_logo_text' => 'Adminify',
222 - 'admin_ui_dark_logo_text_typo' => array_fill_keys(
223 - ['font-family', 'font-weight', 'font-style', 'font-size', 'letter-spacing', 'color', 'type', 'unit'], ''
224 - ) + ['unit' => 'px'],
225 - 'admin_ui_dark_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
226 - 'dark_logo_size' => ['width' => 150, 'height' => 45, 'unit' => 'px'],
227 - 'mini_admin_ui_dark_logo' => array_fill_keys(['url', 'id', 'width', 'height', 'thumbnail', 'alt', 'title', 'description'], ''),
228 - 'schedule_dark_mode' => array_fill_keys(['enable_schedule_dark_mode', 'schedule_dark_mode_type', 'schedule_dark_mode_start_time', 'schedule_dark_mode_end_time'], ''),
229 - ],
230 - ];
231 - $light_dark_mode = array_merge($default_light_dark_mode, $light_dark_mode);
232 - }else{
233 - $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);
234 - }
117 +
235 118 $menu_settings = [
236 119 'menu' => $menu,
237 120 'admin_bar_dark_light_btn' => $this->options['admin_bar_dark_light_btn'],
238 - 'light_dark_mode' => $light_dark_mode ,
121 + 'light_dark_mode' => $this->options['light_dark_mode'],
239 122 'menu_layout_settings' => $this->options['menu_layout_settings'],
240 123 'user_info' => [
241 124 'img' => get_avatar($current_user->user_email, 72, '', ''),
242 125 'display_name' => esc_html($current_user->display_name),
@@ -243,13 +126,13 @@
243 126 'profile_url' => esc_url(admin_url('profile.php')),
244 127 'username' => esc_html($current_user->user_login),
245 128 'email' => wp_kses_post(is_email($current_user->user_email)),
246 129 ],
247 - 'image_path' => PXLBSADMINIFY_ASSETS_IMAGE,
248 - '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
249 132 ];
250 133
251 - $data = "var frame_adminify_menu=" . wp_json_encode($menu_settings);
134 + $data = "var frame_adminify_menu=" . json_encode($menu_settings);
252 135 wp_print_inline_script_tag($data, ["id" => "frame_adminify_menu"]);
253 136 };
254 137
255 138 add_action("admin_footer", $outputter, 0);
@@ -259,28 +142,28 @@
259 142
260 143 public function get_admin_bar_menu_list()
261 144 {
262 145 global $wp_admin_bar;
146 +
263 147 $admin_bar_data = $this->nodes_to_array($wp_admin_bar->get_nodes());
264 148 $admin_bar_data_nested = $this->format_to_nested($admin_bar_data);
265 149
150 +
266 151 $admin_bar_menu_data = [];
267 -
268 - // Admin Bar Exits
269 - 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')) {
270 154 $admin_bar_items = get_option('_jltadminbar_settings');
155 +
156 + if( empty($admin_bar_items) ) return;
271 157
272 - // Only build the customized admin bar when settings exist.
273 - // Otherwise fall through so the default admin bar data is still
274 - // printed and `adminify_admin_bar_data` is always defined.
275 - if ( !empty($admin_bar_items) ) {
276 -
277 158 $existing_admin_bar = !empty($admin_bar_items['existing_admin_bar']) ? $admin_bar_items['existing_admin_bar'] : '';
278 159 $saved_admin_bar = !empty($admin_bar_items['saved_admin_bar']) ? $admin_bar_items['saved_admin_bar'] : [];
279 160
280 161 $parsed_admin_bar_backend = empty($saved_admin_bar) ? $existing_admin_bar : $this->parse_menu_items($saved_admin_bar, $existing_admin_bar, 'backend');
162 +
281 163 $nested_admin_bar = $this->format_to_nested($parsed_admin_bar_backend);
282 164 $formated_admin_menu = $this->associative_to_index_array($nested_admin_bar);
165 +
283 166 $remove_admin_menu = [];
284 167 foreach ($formated_admin_menu as $key => $value) {
285 168 if($value['id'] === 'wp-logo' || $value['id'] === 'site-name'|| $value['id'] === 'updates'|| $value['id'] === 'menu-toggle'|| $value['id'] === 'comments') {
286 169 continue;
@@ -286,19 +169,10 @@
286 169 continue;
287 170 }
288 171 $remove_admin_menu[$key] = $value;
289 172 }
290 -
173 +
291 174 $admin_bar_menu_data = $this->nodes_to_array_for_admin_bar($remove_admin_menu);
292 - foreach($admin_bar_menu_data as $key => $value){
293 - if( array_key_exists($value['id'],$admin_bar_data_nested)){
294 - $value['href'] = $admin_bar_data_nested[$value['id']]['href'];
295 - $value = $this->return_original_admin_bar_item_url($value, $admin_bar_data_nested[$value['id']]);
296 - }
297 - $admin_bar_menu_data[$key] = $value;
298 - }
299 -
300 - } // end if ( !empty($admin_bar_items) )
301 175 }
302 176
303 177 unset($admin_bar_data_nested['wp-logo']);
304 178 unset($admin_bar_data_nested['site-name']);
@@ -305,61 +179,31 @@
305 179 unset($admin_bar_data_nested['updates']);
306 180 unset($admin_bar_data_nested['menu-toggle']);
307 181 unset($admin_bar_data_nested['comments']);
308 182
309 - $admin_bar_data_nested = pxlbsadminify_replaceAmpersandInHref($admin_bar_data_nested);
310 183
311 - // WP Adminify Pricing/Upgrade - open in new tab
312 - if (isset($admin_bar_data_nested['wp-adminify-settings']['submenu'])) {
313 - foreach ($admin_bar_data_nested['wp-adminify-settings']['submenu'] as $key => &$bar_item) {
314 - if (isset($bar_item['href']) && strpos($bar_item['href'], 'wp-adminify-settings-pricing') !== false) {
315 - $bar_item['href'] = 'https://wpadminify.com/pricing';
316 - $bar_item['meta']['target'] = '_blank';
317 - break;
318 - }
319 - }
320 - unset($bar_item);
321 - }
322 -
323 184 $outputter = function () use ($admin_bar_data_nested, $admin_bar_menu_data) {
324 185 $extra_data = [
325 186 'data' => !empty($admin_bar_menu_data) ? $admin_bar_menu_data : array_values($admin_bar_data_nested),
326 187 'logout_url' => wp_logout_url(home_url('/')),
327 - // 'site_url' => site_url('/'),
328 - 'site_url' => home_url(),
188 + 'site_url' => site_url(),
329 189 'admin_url' => admin_url(),
330 190 'search' => $this->options['admin_bar_search'],
331 191 'notification' => $this->options['admin_bar_notif'],
332 192 'light_dark_switcher' => $this->options['admin_bar_dark_light_btn'],
333 193 ];
334 - $data = "var adminify_admin_bar_data=" . wp_json_encode($extra_data);
194 + $data = "var adminify_admin_bar_data=" . json_encode($extra_data);
335 195 wp_print_inline_script_tag($data, ["id" => "adminify_admin_bar_data"]);
336 196 };
337 197
338 198 add_action("admin_footer", $outputter, 0);
339 199 add_action("wp_footer", $outputter, 0);
200 +
340 201 return $admin_bar_data;
341 202 }
342 203
343 - public function return_original_admin_bar_item_url( $value ,$admin_bar_data_nested ){
344 - if( array_key_exists('submenu',$value) ){
345 - foreach($value['submenu'] as $submenuKey => $submenuItem){
346 - $submenuId = $submenuItem['id'] ?? null;
347 - if( $submenuId && isset($admin_bar_data_nested['submenu'][$submenuId]) ){
348 - $submenuItem = $this->return_original_admin_bar_item_url($submenuItem, $admin_bar_data_nested['submenu'][$submenuId]);
349 - $submenuItem['href'] = $admin_bar_data_nested['submenu'][$submenuId]['href'] ?? $submenuItem['href'];
350 - }
351 - $value['submenu'][$submenuKey] = $submenuItem;
352 - }
353 - }
354 - return $value;
355 - }
356 -
357 204 public function adminify_adminbar_localize_script(){
358 - // get_admin_bar_menu_list() returns an array and prints its script via
359 - // wp_print_inline_script_tag() on the footer hook, so call it for that side effect
360 - // rather than echoing the return value.
361 - $this->get_admin_bar_menu_list();
205 + echo $this->get_admin_bar_menu_list();
362 206 }
363 207
364 208 /**
365 209 * Turn admin bar items object to array
@@ -424,9 +268,9 @@
424 268 'submenu' => $this->nodes_to_array_for_admin_bar($node['submenu']),
425 269 // 'hidden_for' => '',
426 270 // 'newly_created' => 0,
427 271 'menu_level' => 0,
428 - 'menu_status' => !empty( $node['menu_status'] ) ? true : false,
272 + 'menu_status' => true,
429 273 );
430 274 }
431 275
432 276 return array_values($admin_bar_array);
@@ -474,28 +318,8 @@
474 318 $nested_array = [];
475 319
476 320 // Third, get the parent menu items.
477 321 foreach ($flat_array as $menu_id => $menu) {
478 -
479 - if( !empty($menu['hidden_for']) ) {
480 - $disable_for = [];
481 -
482 - foreach($menu['hidden_for'] as $hidden_key => $hidden_user){
483 - $disable_for[$hidden_key] = strtolower($hidden_user['value']);
484 -
485 - }
486 -
487 - if (\PXLBSAdminify\Inc\Utils::restrict_for($disable_for)) {
488 - unset($flat_array[$menu_id]);
489 - continue;
490 - }
491 - }
492 -
493 - if ( isset($menu['parent']) && $menu['parent'] && !isset($flat_array[$menu['parent']]) ) {
494 - unset($flat_array[$menu_id]);
495 - continue;
496 - }
497 -
498 322 if (!isset($menu['parent']) || !$menu['parent'] || !isset($flat_array[$menu['parent']])) {
499 323 $nested_array[$menu_id] = $menu;
500 324
501 325 $additional = array(