PluginProbe
RT Mega Menu – Mega Menu Builder for Elementor & Gutenberg / trunk
RT Mega Menu – Mega Menu Builder for Elementor & Gutenberg vtrunk
1.5.3 1.5.2 1.5.1 1.5.0 1.4.8 1.4.9 1.4.7 1.4.6 1.4.5 trunk 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 All 47 releases
rt-mega-menu / admin / includes / plugin-scripts.php

plugin-scripts.php in RT Mega Menu – Mega Menu Builder for Elementor & Gutenberg trunk, at admin/includes/plugin-scripts.php

97 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
3 add_action( 'enqueue_block_editor_assets', 'rtmega_menu_admin_enqueue_scripts' );
4 add_action('admin_enqueue_scripts', 'rtmega_menu_admin_enqueue_scripts');
5 function rtmega_menu_admin_enqueue_scripts (){
6
7 if ( ! current_user_can( 'edit_theme_options' ) ) {
8 return;
9 }
10
11 wp_enqueue_media();
12 wp_enqueue_style( 'wp-color-picker');
13 wp_enqueue_script( 'wp-color-picker');
14
15 wp_enqueue_style( 'rtmegamenu-admin-style', RTMEGA_MENU_PL_URL . 'admin/assets/css/rtmega-menu-admin.css', array(), RTMEGA_MENU_VERSION );
16
17 $rtmega_admin_js_deps = array('jquery');
18 $screen = get_current_screen();
19 if ( is_object($screen) && $screen->is_block_editor() ) {
20 $rtmega_admin_js_deps = array_merge($rtmega_admin_js_deps, array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor', 'wp-components', 'wp-hooks' ));
21 }
22
23 wp_enqueue_script( 'rtmegamenu-admin', RTMEGA_MENU_PL_URL . 'admin/assets/js/rtmega-menu-admin.js', $rtmega_admin_js_deps, RTMEGA_MENU_VERSION, TRUE );
24 wp_enqueue_script( 'rtmegamenu-template', RTMEGA_MENU_PL_URL . 'admin/assets/js/rtmega-template.js', array('jquery'), RTMEGA_MENU_VERSION, TRUE );
25
26 $pro_warning_msg = 'Please use Premium Verison of this plugin to use this advanced features!';
27 if ( get_option( 'rtmega_license_key' ) !== false ) {
28 $pro_warning_msg = 'Please activate plugin license to use this advanced features!';
29 }
30
31
32 $current_user = wp_get_current_user();
33
34 // phpcs:ignore WordPress.Security.NonceVerification.Recommended
35 $selected_menu_id = isset( $_REQUEST['menu'] ) ? absint( wp_unslash( $_REQUEST['menu'] ) ) : 0;
36 if ( ! $selected_menu_id ) {
37 $selected_menu_id = get_user_option( 'nav_menu_recently_edited' );
38 }
39
40 // Validate if menu exists
41 $rtmega_menu_options_check = wp_get_nav_menu_object( $selected_menu_id );
42 if ( ! $rtmega_menu_options_check ) {
43 $nav_menus = wp_get_nav_menus();
44 if ( ! empty( $nav_menus ) ) {
45 $selected_menu_id = $nav_menus[0]->term_id;
46 } else {
47 $selected_menu_id = 0;
48 }
49 }
50
51 $rtmega_menu_options_switch = '';
52 $rtmega_active_menu_items = [];
53
54 if( $selected_menu_id > 0) {
55 $menu = wp_get_nav_menu_object($selected_menu_id);
56 if ($menu) {
57 $menu_slug = $menu->slug;
58 $rtmega_menu_options = get_option( 'rtmega_menu_settings_'.$menu_slug);
59 $rtmega_menu_options_switch = isset($rtmega_menu_options['enable_menu']) ? $rtmega_menu_options['enable_menu'] : '';
60 }
61
62 $menu_items = wp_get_nav_menu_items( $selected_menu_id );
63 if ( $menu_items ) {
64 foreach ( $menu_items as $menu_item ) {
65 $rtmega_menu_item_settings = get_post_meta($menu_item->ID, 'rtmega_menu_settings', true);
66 if ( isset($rtmega_menu_item_settings['content']['rtmega_template']) && !empty($rtmega_menu_item_settings['content']['rtmega_template']) ) {
67 $rtmega_active_menu_items[] = $menu_item->ID;
68 }
69 }
70 }
71 }
72
73 wp_localize_script(
74 'rtmegamenu-admin',
75 'rtmegamenu_ajax',
76 [
77 'ajaxurl' => admin_url( 'admin-ajax.php' ),
78 'adminURL' => admin_url(),
79 'postEditUrl' => admin_url( 'post.php?action=edit&post=' ),
80 'elementorURL' => admin_url( 'edit.php?post_type=elementor_library' ),
81 'nonce' => wp_create_nonce('rtmega_templates_import_nonce'),
82 'version' => RTMEGA_MENU_VERSION,
83 'pluginURL' => plugin_dir_url( __FILE__ ),
84 'ajaxLoaderUrl' => RTMEGA_MENU_PL_URL . 'admin/assets/img/ajax-loader.gif',
85 'packagedesc' => __( 'Templates in this package', 'rt-mega-menu' ),
86 'rtmega_pro_warning_msg' => ( $pro_warning_msg ),
87 'rtmega_menu_options_switch' => $rtmega_menu_options_switch,
88 'rtmega_active_menu_items' => $rtmega_active_menu_items,
89 'user' => [
90 'email' => $current_user->user_email,
91 ]
92 ]
93 );
94
95 }
96
97