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

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