PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.5
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.5
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 4.1.17 All 164 releases
adminify / Inc / Modules / MenuEditor / MenuEditorAssets.php

MenuEditorAssets.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.4.5, at Inc/Modules/MenuEditor/MenuEditorAssets.php

241 lines 7.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify\Inc\Modules\MenuEditor;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettings;
7 use WPAdminify\Inc\Admin\AdminSettingsModel;
8
9 // no direct access allowed
10 if (!defined('ABSPATH')) {
11 exit;
12 }
13
14 /**
15 * WP Adminify
16 *
17 * @package WP Adminify: Menu Editor
18 *
19 * @author WP Adminify <support@wpadminify.com>
20 */
21
22 class MenuEditorAssets extends AdminSettingsModel
23 {
24
25 public $max_upload_size;
26 public function __construct()
27 {
28 $this->max_upload_size = \wp_max_upload_size();
29 $this->options = (array) AdminSettings::get_instance()->get();
30 add_action('admin_enqueue_scripts', [$this, 'menu_editor_enqueue_scripts'], 100);
31 }
32
33 public function menu_editor_enqueue_scripts()
34 {
35 global $pagenow;
36 if ($pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php') {
37 return;
38 }
39
40 if (('admin.php' === $pagenow) && ('adminify-menu-editor' === $_GET['page'])) {
41 $this->import_css();
42
43 // Enqueue Styles
44 wp_enqueue_style('wp-adminify-icon-picker');
45 wp_enqueue_style('wp-adminify-tokenize2');
46 wp_enqueue_style('wp-adminify-menu-editor');
47
48 // Enqueue Scripts
49 wp_enqueue_script('wp-adminify-tokenize2');
50 wp_enqueue_script('wp-adminify-icon-picker');
51 wp_enqueue_script('wp-adminify-menu-editor');
52
53 wp_localize_script(
54 'wp-adminify-icon-picker',
55 'WPAdminifyIconPicker',
56 [
57 'is_elementor_active' => Utils::is_plugin_active('elementor/elementor.php'),
58 ]
59 );
60 }
61
62 wp_enqueue_style('dashicons');
63 wp_enqueue_style('wp-adminify-simple-line-icons');
64 wp_enqueue_style('wp-adminify-icomoon');
65 wp_enqueue_style('wp-adminify-themify-icons');
66
67 if (Utils::is_plugin_active('elementor/elementor.php')) {
68 wp_enqueue_style('elementor-icons');
69 }
70
71 // Plugins Packaged Icons Library
72 $plugins_icons = [];
73 if (Utils::is_plugin_active('elementor/elementor.php')) {
74 $plugins_icons[] = 'elementor-icons';
75 }
76
77 // De-register and Dequeue Scripts/Styles
78 if (!empty($this->options['adminify_assets'])) {
79 foreach ($this->options['adminify_assets'] as $value) {
80 wp_dequeue_style($value);
81 wp_deregister_style($value);
82 }
83 }
84
85 // Localize Scripts
86 $localize_menu_data = [
87 'resturl' => get_rest_url() . 'wpadminify/v2/',
88 'ajax_url' => admin_url('admin-ajax.php'),
89 'assets_manager' => !empty($this->options['adminify_assets']) ? $this->options['adminify_assets'] : '',
90 'plugins_icons' => $plugins_icons,
91 'icon_picker_logo' => WP_ADMINIFY_ASSETS_IMAGE . 'logos/menu-icon.svg',
92 'security' => wp_create_nonce('adminify-menu-editor-security-nonce'),
93 'max_upload_size' => size_format(wp_max_upload_size()),
94 'can_use_premium' => jltwp_adminify()->can_use_premium_code__premium_only(),
95 'baseurl' => wp_upload_dir()['baseurl'],
96 ];
97 wp_localize_script('wp-adminify-menu-editor', 'WPAdminifyMenuEditor', $localize_menu_data);
98 }
99
100 /**Import Menu CSS */
101 public function import_css()
102 {
103 $menu_editor_custom_css = '';
104 $menu_editor_custom_css .= '.wp-adminify #wpbody-content .page-title-action{ top: -3px !important; )
105 .dropdown-content{ position: relative; }
106 #adminify_import_menu{cursor: pointer;overflow: hidden;font-size: 500px;position: absolute;top: 38px;z-index: 1;width: 100%;height: 30px;left: 0;-webkit-appearance: none;opacity: 0;cursor: pointer;}
107 .icon-picker-container {
108 position : absolute;
109 width : 550px;
110 height : 290px;
111 font-size : 14px;
112 background-color : #fff;
113 -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
114 box-shadow : 0 1px 2px rgba(0, 0, 0, 0.1);
115 overflow : hidden;
116 padding : 5px;
117 box-sizing : border-box;
118 z-index : 9999;
119 }
120 .icon-picker-container {
121 margin-left: -220px;
122 margin-top : 50px;
123 width : 30%;
124 z-index : 999999 !important;
125 }
126 li.jltma-icommon {
127 margin: 3px 3px !important;
128 }
129 li.jltma-icommon a {
130 border : none !important;
131 padding: 1px 2px !important;
132 }
133 .icon-picker-container ul li.jltma-icommon a:hover{
134 background: none !important;
135 }
136
137 .icon-picker-container ul {
138 margin : 0;
139 padding : 0;
140 margin-top : 8px;
141 margin-bottom: 10px;
142 }
143 .icon-picker-container ul li a span {
144 width : 20px;
145 height : 20px;
146 font-size : 20px;
147 display : block;
148 text-align: left;
149 }
150 .icon-picker-container ul li {
151 display: inline-block;
152 margin : 5px;
153 float : left;
154 }
155 .icon-picker-container ul li a {
156 display : block;
157 text-decoration: none;
158 color : #373737;
159 padding : 6px 10px;
160 border : 1px solid #eee;
161 }
162 .icon-picker-container ul li a:hover {
163 border-color: #999;
164 background : #efefef;
165 }
166 .icon-picker-control {
167 height: 32px;
168 height: 64px;
169 }
170 .icon-picker-control a {
171 padding : 5px;
172 text-decoration: none;
173 line-height : 32px;
174 width : 25px;
175 }
176 .icon-picker-control a span {
177 display : inline;
178 vertical-align: middle;
179 }
180 .icon-picker-control input {
181 width: 200px;
182 }
183 .icon-picker-control p {
184 text-align: left;
185 margin : 0;
186 padding : 3px 10px;
187 }
188 .icon-picker-control select {
189 margin : 0 auto;
190 display: inline-block;
191 width : auto;
192 }
193 /* DIV Button with Preview */
194 div.button.icon-picker {
195 font-size : 24px;
196 height : 30px;
197 width : 30px;
198 margin : 0;
199 padding : 0;
200 line-height: 30px;
201 text-align : center;
202 }
203 .button.icon-picker:before{
204 content : "\f504";
205 font-family: dashicons;
206 font-size : 30px;
207 }
208 .icon-picker-close{
209 float : right;
210 display : inline-block;
211 padding : 2px;
212 background : #ccc;
213 cursor : pointer;
214 font-weight: 600;
215 }
216 .jltma-pro-badge{
217 position : absolute;
218 z-index : 333;
219 text-align : center;
220 padding-left: 23%;
221 font-size : 70px !important;
222 padding-top : 10%;
223 }
224 .top-badge{
225 padding-left: 20%;
226 padding-top : 0;
227 }
228 .jltma-disabled{
229 pointer-events: none;
230 opacity : 0.4;
231 }';
232
233 // Combine the values from above and minifiy them.
234 $menu_editor_custom_css = preg_replace('#/\*.*?\*/#s', '', $menu_editor_custom_css);
235 $menu_editor_custom_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $menu_editor_custom_css);
236 $menu_editor_custom_css = preg_replace('/\s\s+(.*)/', '$1', $menu_editor_custom_css);
237
238 wp_add_inline_style('wp-adminify-menu-editor', wp_strip_all_tags($menu_editor_custom_css));
239 }
240 }
241