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

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