PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.1.10
Adminify – White Label, Admin Menu Editor, Login Customizer v4.1.10
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 4.1.10, at Inc/Modules/MenuEditor/MenuEditorAssets.php

262 lines 8.5 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 $screen = get_current_screen();
37 if ($pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php') {
38 return;
39 }
40
41 if ($screen->id === 'toplevel_page_wp-adminify-settings') {
42 $this->import_css();
43
44 // Enqueue Styles
45 wp_enqueue_style('wp-adminify-icon-picker');
46 wp_enqueue_style('wp-adminify-select2');
47 wp_enqueue_style('wp-adminify-menu-editor');
48
49 // Enqueue Scripts
50 wp_enqueue_script('wp-adminify-select2');
51 wp_enqueue_script('wp-adminify-icon-picker');
52 wp_enqueue_script('wp-adminify-menu-editor');
53
54 wp_localize_script(
55 'wp-adminify-icon-picker',
56 'WPAdminifyIconPicker',
57 [
58 'is_elementor_active' => Utils::is_plugin_active('elementor/elementor.php'),
59 ]
60 );
61 }
62
63 wp_enqueue_style('dashicons');
64
65 // Plugins Packaged Icons Library
66 $plugins_icons = [];
67 // if (Utils::is_plugin_active('elementor/elementor.php')) {
68 // $plugins_icons[] = 'elementor-icons';
69 // }
70
71 // De-register and Dequeue Scripts/Styles
72 // if (!empty($this->options['adminify_assets'])) {
73 // foreach ($this->options['adminify_assets'] as $value) {
74 // wp_dequeue_style($value);
75 // wp_deregister_style($value);
76 // }
77 // }
78
79 // Localize Scripts
80 $localize_menu_data = [
81 'resturl' => get_rest_url() . 'wpadminify/v2/',
82 'ajax_url' => admin_url('admin-ajax.php'),
83 'assets_manager' => !empty($this->options['adminify_assets']) ? $this->options['adminify_assets'] : '',
84 'plugins_icons' => $plugins_icons,
85 'icon_picker_logo' => WP_ADMINIFY_ASSETS_IMAGE . 'logos/menu-icon.svg',
86 'security' => wp_create_nonce('adminify-menu-editor-security-nonce'),
87 'max_upload_size' => size_format(wp_max_upload_size()),
88 'can_use_premium' => jltwp_adminify()->can_use_premium_code__premium_only(),
89 'baseurl' => wp_upload_dir()['baseurl'],
90 ];
91 wp_localize_script('wp-adminify-menu-editor', 'WPAdminifyMenuEditor', $localize_menu_data);
92 }
93
94 /**Import Menu CSS */
95 public function import_css()
96 {
97 $menu_editor_custom_css = '';
98 $menu_editor_custom_css .= '.wp-adminify #wpbody-content .page-title-action{ top: -3px !important; )
99 .dropdown-content{ position: relative; }
100 #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;}
101 .icon-picker-container {
102 position : absolute;
103 width : 550px;
104 height : 290px;
105 font-size : 14px;
106 background-color : #fff;
107 -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
108 box-shadow : 0 1px 2px rgba(0, 0, 0, 0.1);
109 overflow : hidden;
110 padding : 5px;
111 box-sizing : border-box;
112 z-index : 9999;
113 }
114 .icon-picker-container {
115 margin-left: -220px;
116 margin-top : 50px;
117 width : 30%;
118 z-index : 999999 !important;
119 }
120 li.jltma-icommon {
121 margin: 3px 3px !important;
122 }
123 li.jltma-icommon a {
124 border : none !important;
125 padding: 1px 2px !important;
126 }
127 .icon-picker-container ul li.jltma-icommon a:hover{
128 background: none !important;
129 }
130
131 .icon-picker-container ul {
132 margin : 0;
133 padding : 0;
134 margin-top : 8px;
135 margin-bottom: 10px;
136 }
137 .icon-picker-container ul li a span {
138 width : 20px;
139 height : 20px;
140 font-size : 20px;
141 display : block;
142 text-align: left;
143 }
144 .icon-picker-container ul li {
145 display: inline-block;
146 margin : 5px;
147 float : left;
148 }
149 .icon-picker-container ul li a {
150 display : block;
151 text-decoration: none;
152 color : #373737;
153 padding : 6px 10px;
154 border : 1px solid #eee;
155 }
156 .icon-picker-container ul li a:hover {
157 border-color: #999;
158 background : #efefef;
159 }
160 .icon-picker-control {
161 height: 32px;
162 height: 64px;
163 }
164 .icon-picker-control a {
165 padding : 5px;
166 text-decoration: none;
167 line-height : 32px;
168 width : 25px;
169 }
170 .icon-picker-control a span {
171 display : inline;
172 vertical-align: middle;
173 }
174 .icon-picker-control input {
175 width: 200px;
176 }
177 .icon-picker-control p {
178 text-align: left;
179 margin : 0;
180 padding : 3px 10px;
181 }
182 .icon-picker-control select {
183 margin : 0 auto;
184 display: inline-block;
185 width : auto;
186 }
187 /* DIV Button with Preview */
188 div.button.icon-picker {
189 font-size : 24px;
190 height : 30px;
191 width : 30px;
192 margin : 0;
193 padding : 0;
194 line-height: 30px;
195 text-align : center;
196 }
197 .button.icon-picker:before{
198 content : "\f504";
199 font-family: dashicons;
200 font-size : 30px;
201 }
202 .icon-picker-close{
203 float : right;
204 display : inline-block;
205 padding : 2px;
206 background : #ccc;
207 cursor : pointer;
208 font-weight: 600;
209 }
210 .jltma-pro-badge{
211 position : absolute;
212 z-index : 333;
213 text-align : center;
214 padding-left: 23%;
215 font-size : 70px !important;
216 padding-top : 10%;
217 }
218 .top-badge{
219 padding-left: 20%;
220 padding-top : 0;
221 }
222 .jltma-disabled{
223 pointer-events: none;
224 opacity : 0.4;
225 }
226 .select2-option-disabled{
227 opacity: 0.5;
228 cursor: not-allowed;
229 }
230 .select2-container--default .select2-results__option[aria-disabled=true]{
231 background: none !important;
232 color: inherit;
233 opacity: 0.5!important;
234 }
235 .select2-search-hint{
236 color: #999;
237 font-style: italic;
238 }
239 select[name="hidden_for"].select2-hidden-accessible{
240 position: absolute !important;
241 width: 1px !important;
242 height: 1px !important;
243 padding: 0 !important;
244 margin: -1px !important;
245 overflow: hidden !important;
246 clip: rect(0,0,0,0) !important;
247 border: 0 !important;
248 }
249 .adminify_sub_menu_item .select2-container,
250 .adminify_menu_item .select2-container{
251 width: 100% !important;
252 }';
253
254 // Combine the values from above and minifiy them.
255 $menu_editor_custom_css = preg_replace('#/\*.*?\*/#s', '', $menu_editor_custom_css);
256 $menu_editor_custom_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $menu_editor_custom_css);
257 $menu_editor_custom_css = preg_replace('/\s\s+(.*)/', '$1', $menu_editor_custom_css);
258
259 wp_add_inline_style('wp-adminify-menu-editor', wp_strip_all_tags($menu_editor_custom_css));
260 }
261 }
262