| @@ -1,11 +1,11 @@ | ||
| 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\Modules\MenuEditor\MenuEditorOptions; | |
| 7 | +use WPAdminify\Inc\Admin\AdminSettings; | |
| 8 | 8 | |
| 9 | 9 | // no direct access allowed |
| 10 | 10 | if (!defined('ABSPATH')) { |
| 11 | 11 | exit; |
| @@ -65,18 +65,18 @@ | ||
| 65 | 65 | * @return void |
| 66 | 66 | */ |
| 67 | 67 | public function load_scripts() |
| 68 | 68 | { |
| 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); | |
| 69 | + wp_enqueue_style('frame-adminify--admin', WP_ADMINIFY_ASSETS . 'admin/css/admin' . Utils::assets_ext('.css'), [], WP_ADMINIFY_VER); | |
| 70 | + wp_enqueue_script('frame-adminify--admin', WP_ADMINIFY_ASSETS . 'admin/js/frame' . Utils::assets_ext('.js'), ['jquery', 'react'], WP_ADMINIFY_VER, true); | |
| 71 | 71 | |
| 72 | 72 | $localize_array_data = [ |
| 73 | 73 | 'ajax_url' => admin_url('admin-ajax.php'), |
| 74 | - 'security_nonce' => wp_create_nonce('pxlbsadminify_frame_nonce') | |
| 74 | + 'security_nonce' => wp_create_nonce('adminify_nonce') | |
| 75 | 75 | ]; |
| 76 | 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() ); | |
| 77 | + wp_localize_script( 'frame-adminify--admin', 'WPAdminify', $localize_array_data ); | |
| 78 | + wp_localize_script( 'frame-adminify--admin', 'WPAdminifyFrameNotAllowedURLs', self::get_not_allowed_urls() ); | |
| 79 | 79 | } |
| 80 | 80 | |
| 81 | 81 | public static function get_not_allowed_urls() { |
| 82 | 82 | |
| @@ -92,12 +92,8 @@ | ||
| 92 | 92 | 'query_params' => ['action' => 'elementor'] |
| 93 | 93 | ], |
| 94 | 94 | [ |
| 95 | 95 | 'url' => '*', |
| 96 | - 'query_params' => ['action' => 'architect'] // Added for thrive page builder | |
| 97 | - ], | |
| 98 | - [ | |
| 99 | - 'url' => '*', | |
| 100 | 96 | 'query_params' => ['bricks' => 'true'] |
| 101 | 97 | ], |
| 102 | 98 | [ |
| 103 | 99 | 'url' => '*', |
| @@ -104,12 +100,8 @@ | ||
| 104 | 100 | 'query_params' => ['ct_builder' => 'true', 'oxygen_iframe!'] |
| 105 | 101 | ], |
| 106 | 102 | [ |
| 107 | 103 | 'url' => '*', |
| 108 | - 'query_params' => ['page' => 'latepoint'] // added for latepoint | |
| 109 | - ], | |
| 110 | - [ | |
| 111 | - 'url' => '*', | |
| 112 | 104 | 'query_params' => ['page' => 'sbi-setup'] |
| 113 | 105 | ], |
| 114 | 106 | [ |
| 115 | 107 | 'url' => '*', |
| @@ -116,9 +108,9 @@ | ||
| 116 | 108 | 'query_params' => ['page' => 'sbtt'] |
| 117 | 109 | ], |
| 118 | 110 | [ |
| 119 | 111 | 'url' => '*', |
| 120 | - 'query_params' => ['page' => 'cff-setup'] | |
| 112 | + 'query_params' => ['page' => 'cff-setup'] | |
| 121 | 113 | ], |
| 122 | 114 | [ |
| 123 | 115 | 'url' => '*', |
| 124 | 116 | 'query_params' => ['page' => 'rank-math-registration'] |
| @@ -147,26 +139,18 @@ | ||
| 147 | 139 | 'url' => '*', |
| 148 | 140 | 'query_params' => ['page' => 'sby-feed-builder'] |
| 149 | 141 | ], |
| 150 | 142 | [ |
| 151 | - 'url' => '*', | |
| 152 | - 'query_params' => ['page' => 'suretriggers'] | |
| 143 | + 'url' => '/wp-admin/post-new.php', | |
| 144 | + 'post_type' => ['post', 'page'] | |
| 153 | 145 | ], |
| 154 | 146 | [ |
| 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 | - // ] | |
| 147 | + 'url' => '/wp-admin/post.php', | |
| 148 | + 'post_type' => ['post', 'page'] | |
| 149 | + ] | |
| 166 | 150 | ]; |
| 167 | 151 | |
| 168 | - return apply_filters( 'pxlbsadminify_frame_not_allowed_urls', $not_allowed_urls ); | |
| 152 | + return apply_filters( 'adminify_frame_not_allowed_urls', $not_allowed_urls ); | |
| 169 | 153 | } |
| 170 | 154 | |
| 171 | 155 | /** |
| 172 | 156 | * Adds the 'frame-adminify-app="true"' attribute to the given attribute string. |
| @@ -187,15 +171,9 @@ | ||
| 187 | 171 | * @return void |
| 188 | 172 | */ |
| 189 | 173 | public function load_template() |
| 190 | 174 | { |
| 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'); | |
| 175 | + adminify_load_template('Templates.php'); | |
| 198 | 176 | } |
| 199 | 177 | |
| 200 | 178 | public function capture_wp_menu($parent_file) |
| 201 | 179 | { |
| @@ -200,9 +178,9 @@ | ||
| 200 | 178 | public function capture_wp_menu($parent_file) |
| 201 | 179 | { |
| 202 | 180 | global $menu, $submenu; |
| 203 | 181 | |
| 204 | - $menu_build = pxlbsadminify_build_menu($menu, $submenu, $this->menu_settings); | |
| 182 | + $menu_build = jltwp_adminify_build_menu($menu, $submenu, $this->menu_settings); | |
| 205 | 183 | |
| 206 | 184 | $this->enqueue_menu($menu_build); |
| 207 | 185 | |
| 208 | 186 | return $parent_file; |
| @@ -212,41 +190,13 @@ | ||
| 212 | 190 | { |
| 213 | 191 | $outputter = function () use ($menu) { |
| 214 | 192 | |
| 215 | 193 | $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 | - } | |
| 194 | + | |
| 245 | 195 | $menu_settings = [ |
| 246 | 196 | 'menu' => $menu, |
| 247 | 197 | 'admin_bar_dark_light_btn' => $this->options['admin_bar_dark_light_btn'], |
| 248 | - 'light_dark_mode' => $light_dark_mode , | |
| 198 | + 'light_dark_mode' => $this->options['light_dark_mode'], | |
| 249 | 199 | 'menu_layout_settings' => $this->options['menu_layout_settings'], |
| 250 | 200 | 'user_info' => [ |
| 251 | 201 | 'img' => get_avatar($current_user->user_email, 72, '', ''), |
| 252 | 202 | 'display_name' => esc_html($current_user->display_name), |
| @@ -253,13 +203,13 @@ | ||
| 253 | 203 | 'profile_url' => esc_url(admin_url('profile.php')), |
| 254 | 204 | 'username' => esc_html($current_user->user_login), |
| 255 | 205 | 'email' => wp_kses_post(is_email($current_user->user_email)), |
| 256 | 206 | ], |
| 257 | - 'image_path' => PXLBSADMINIFY_ASSETS_IMAGE, | |
| 258 | - 'is_pro' => (class_exists('\\PXLBSAdminify\\Pro\\Adminify_Pro') && !empty(\PXLBSAdminify\Pro\Adminify_Pro::is_premium())) ? true : false | |
| 207 | + 'image_path' => WP_ADMINIFY_ASSETS_IMAGE, | |
| 208 | + 'is_pro' => (class_exists('\\WPAdminify\\Pro\\Adminify_Pro') && !empty(\WPAdminify\Pro\Adminify_Pro::is_premium())) ? true : false | |
| 259 | 209 | ]; |
| 260 | 210 | |
| 261 | - $data = "var frame_adminify_menu=" . wp_json_encode($menu_settings); | |
| 211 | + $data = "var frame_adminify_menu=" . json_encode($menu_settings); | |
| 262 | 212 | wp_print_inline_script_tag($data, ["id" => "frame_adminify_menu"]); |
| 263 | 213 | }; |
| 264 | 214 | |
| 265 | 215 | add_action("admin_footer", $outputter, 0); |
| @@ -269,28 +219,29 @@ | ||
| 269 | 219 | |
| 270 | 220 | public function get_admin_bar_menu_list() |
| 271 | 221 | { |
| 272 | 222 | global $wp_admin_bar; |
| 223 | + | |
| 273 | 224 | $admin_bar_data = $this->nodes_to_array($wp_admin_bar->get_nodes()); |
| 274 | 225 | $admin_bar_data_nested = $this->format_to_nested($admin_bar_data); |
| 275 | 226 | |
| 227 | + | |
| 276 | 228 | $admin_bar_menu_data = []; |
| 277 | 229 | |
| 278 | 230 | // Admin Bar Exits |
| 279 | - if ( Utils::is_plugin_active('admin-bar/admin-bar.php') ) { | |
| 231 | + if ( Utils::is_plugin_active('admin-bar/admin-bar.php') || Utils::is_plugin_active('admin-bar-pro/admin-bar-pro.php') ) { | |
| 280 | 232 | $admin_bar_items = get_option('_jltadminbar_settings'); |
| 281 | 233 | |
| 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) ) { | |
| 234 | + if( empty($admin_bar_items) ) return; | |
| 286 | 235 | |
| 287 | 236 | $existing_admin_bar = !empty($admin_bar_items['existing_admin_bar']) ? $admin_bar_items['existing_admin_bar'] : ''; |
| 288 | 237 | $saved_admin_bar = !empty($admin_bar_items['saved_admin_bar']) ? $admin_bar_items['saved_admin_bar'] : []; |
| 289 | 238 | |
| 290 | 239 | $parsed_admin_bar_backend = empty($saved_admin_bar) ? $existing_admin_bar : $this->parse_menu_items($saved_admin_bar, $existing_admin_bar, 'backend'); |
| 240 | + | |
| 291 | 241 | $nested_admin_bar = $this->format_to_nested($parsed_admin_bar_backend); |
| 292 | 242 | $formated_admin_menu = $this->associative_to_index_array($nested_admin_bar); |
| 243 | + | |
| 293 | 244 | $remove_admin_menu = []; |
| 294 | 245 | foreach ($formated_admin_menu as $key => $value) { |
| 295 | 246 | if($value['id'] === 'wp-logo' || $value['id'] === 'site-name'|| $value['id'] === 'updates'|| $value['id'] === 'menu-toggle'|| $value['id'] === 'comments') { |
| 296 | 247 | continue; |
| @@ -296,19 +247,10 @@ | ||
| 296 | 247 | continue; |
| 297 | 248 | } |
| 298 | 249 | $remove_admin_menu[$key] = $value; |
| 299 | 250 | } |
| 300 | - | |
| 251 | + | |
| 301 | 252 | $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 | 253 | } |
| 312 | 254 | |
| 313 | 255 | unset($admin_bar_data_nested['wp-logo']); |
| 314 | 256 | unset($admin_bar_data_nested['site-name']); |
| @@ -315,61 +257,31 @@ | ||
| 315 | 257 | unset($admin_bar_data_nested['updates']); |
| 316 | 258 | unset($admin_bar_data_nested['menu-toggle']); |
| 317 | 259 | unset($admin_bar_data_nested['comments']); |
| 318 | 260 | |
| 319 | - $admin_bar_data_nested = pxlbsadminify_replaceAmpersandInHref($admin_bar_data_nested); | |
| 320 | 261 | |
| 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 | 262 | $outputter = function () use ($admin_bar_data_nested, $admin_bar_menu_data) { |
| 334 | 263 | $extra_data = [ |
| 335 | 264 | 'data' => !empty($admin_bar_menu_data) ? $admin_bar_menu_data : array_values($admin_bar_data_nested), |
| 336 | 265 | 'logout_url' => wp_logout_url(home_url('/')), |
| 337 | - // 'site_url' => site_url('/'), | |
| 338 | - 'site_url' => home_url(), | |
| 266 | + 'site_url' => site_url(), | |
| 339 | 267 | 'admin_url' => admin_url(), |
| 340 | 268 | 'search' => $this->options['admin_bar_search'], |
| 341 | 269 | 'notification' => $this->options['admin_bar_notif'], |
| 342 | 270 | 'light_dark_switcher' => $this->options['admin_bar_dark_light_btn'], |
| 343 | 271 | ]; |
| 344 | - $data = "var adminify_admin_bar_data=" . wp_json_encode($extra_data); | |
| 272 | + $data = "var adminify_admin_bar_data=" . json_encode($extra_data); | |
| 345 | 273 | wp_print_inline_script_tag($data, ["id" => "adminify_admin_bar_data"]); |
| 346 | 274 | }; |
| 347 | 275 | |
| 348 | 276 | add_action("admin_footer", $outputter, 0); |
| 349 | 277 | add_action("wp_footer", $outputter, 0); |
| 278 | + | |
| 350 | 279 | return $admin_bar_data; |
| 351 | 280 | } |
| 352 | 281 | |
| 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 | 282 | 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(); | |
| 283 | + echo $this->get_admin_bar_menu_list(); | |
| 372 | 284 | } |
| 373 | 285 | |
| 374 | 286 | /** |
| 375 | 287 | * Turn admin bar items object to array |
| @@ -493,18 +405,13 @@ | ||
| 493 | 405 | $disable_for[$hidden_key] = strtolower($hidden_user['value']); |
| 494 | 406 | |
| 495 | 407 | } |
| 496 | 408 | |
| 497 | - if (\PXLBSAdminify\Inc\Utils::restrict_for($disable_for)) { | |
| 498 | - unset($flat_array[$menu_id]); | |
| 409 | + if (\WPAdminify\Inc\Utils::restricted_for($disable_for)) { | |
| 499 | 410 | continue; |
| 500 | 411 | } |
| 501 | 412 | } |
| 502 | 413 | |
| 503 | - if ( isset($menu['parent']) && $menu['parent'] && !isset($flat_array[$menu['parent']]) ) { | |
| 504 | - unset($flat_array[$menu_id]); | |
| 505 | - continue; | |
| 506 | - } | |
| 507 | 414 | |
| 508 | 415 | if (!isset($menu['parent']) || !$menu['parent'] || !isset($flat_array[$menu['parent']])) { |
| 509 | 416 | $nested_array[$menu_id] = $menu; |
| 510 | 417 | |