PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.1
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.1, at Inc/Modules/MenuEditor/MenuEditorAssets.php

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