PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.1.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.1.2
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 / Classes / Assets.php

Assets.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.0.1.2, at Inc/Classes/Assets.php

317 lines 14.2 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\Classes;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettings;
7 use WPAdminify\Inc\Admin\AdminSettingsModel;
8
9
10
11 // no direct access allowed
12 if (!defined('ABSPATH')) {
13 exit;
14 }
15
16 class Assets extends AdminSettingsModel
17 {
18
19 public $classic_editor = true;
20 public $block_editor = true;
21 public $dark_mode = true;
22
23 public function __construct()
24 {
25 $this->options = (array) AdminSettings::get_instance()->get();
26 $this->dark_mode = $this->options['light_dark_mode']['admin_ui_mode'];
27 add_action('admin_enqueue_scripts', array($this, 'jltwp_adminify_admin_scripts'), 100);
28 add_action('wp_ajax_jltwp_adminify_addons_install_active', 'jltwp_adminify_addons_install_active');
29
30 if ($this->is_dark_mode() || $this->classic_editor || $this->block_editor) {
31 add_action('admin_head', array($this, 'header_scripts'));
32 }
33 }
34
35
36 /**
37 * Function: Ajax Call for Install and Activate WP Adminify Plugin
38 */
39 function jltwp_adminify_addons_install_active()
40 {
41
42 // Include necessary WordPress files
43 require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
44 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
45 require_once ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php';
46 require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php';
47
48 if (isset($_POST['plugin'])) {
49
50 $nonce = isset($_POST['nonce']) ? sanitize_text_field(wp_unslash($_POST['nonce'])) : '';
51
52 if (!wp_verify_nonce($nonce, 'jltwp_adminify_addons_nonce')) {
53 wp_send_json_error(array('mess' => esc_html__('Nonce is invalid', 'adminify')));
54 }
55
56 if ((is_multisite() && is_network_admin()) || !current_user_can('install_plugins')) {
57 wp_send_json_error(array('mess' => esc_html__('Invalid Access', 'adminify')));
58 }
59
60 $plugin = sanitize_text_field(wp_unslash($_POST['plugin']));
61
62 if (empty($plugin)) {
63 wp_send_json_error(array('mess' => esc_html__('Invalid plugin', 'adminify')));
64 }
65
66 $type = isset($_POST['type']) ? sanitize_text_field(wp_unslash($_POST['type'])) : 'install';
67 $skin = new \WP_Ajax_Upgrader_Skin();
68 $upgrader = new \Plugin_Upgrader($skin);
69
70 if ('install' === $type) {
71 $result = $upgrader->install($plugin);
72 if (is_wp_error($result)) {
73 wp_send_json_error(
74 array(
75 'mess' => $result->get_error_message(),
76 )
77 );
78 }
79 $args = array(
80 'slug' => $upgrader->result['destination_name'],
81 'fields' => array(
82 'short_description' => true,
83 'icons' => true,
84 'banners' => false,
85 'added' => false,
86 'reviews' => false,
87 'sections' => false,
88 'requires' => false,
89 'rating' => false,
90 'ratings' => false,
91 'downloaded' => false,
92 'last_updated' => false,
93 'added' => false,
94 'tags' => false,
95 'compatibility' => false,
96 'homepage' => false,
97 'donate_link' => false,
98 ),
99 );
100 $plugin_data = plugins_api('plugin_information', $args);
101
102 if ($plugin_data && !is_wp_error($plugin_data)) {
103 $install_status = \install_plugin_install_status($plugin_data);
104 activate_plugin($install_status['file']);
105 }
106 wp_die(); // die();
107 }
108 }
109 }
110
111
112 /*
113 * Function is_dark_mode()
114 *
115 */
116 public function is_dark_mode()
117 {
118
119 if (!empty($this->dark_mode) && $this->dark_mode == 'dark') {
120 $adminify_dark_mode = true;
121 } else {
122 $adminify_dark_mode = false;
123 }
124 return $adminify_dark_mode;
125 }
126
127 public function header_scripts()
128 {
129
130 if (!empty($this->dark_mode) && $this->dark_mode == 'dark') { ?>
131
132 <script>
133 window.AdminifyDarkMode.enable({
134 brightness: 120
135 })
136
137 addEventListener("load", (event) => {
138 window.AdminifyDarkMode.enable({
139 brightness: 120
140 })
141 });
142 </script>
143 <?php }
144
145 if (!empty($this->dark_mode) && $this->dark_mode == 'system') { ?>
146 <script>
147 const isDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
148 if(!!isDark) {
149 window.AdminifyDarkMode.enable({
150 brightness: 120
151 })
152
153 addEventListener("load", (event) => {
154 window.AdminifyDarkMode.enable({
155 brightness: 120
156 })
157 });
158 } else {
159 window.AdminifyDarkMode.disable()
160
161 addEventListener("load", (event) => {
162 window.AdminifyDarkMode.disable()
163 });
164 }
165
166 </script>
167
168 <?php }
169
170 }
171
172
173
174 // Google Fonts
175 function jltwp_adminify_google_fonts_url()
176 {
177 $font_url = '';
178 $font_family = !empty($this->options['admin_general_google_font']['font-family']) ? ($this->options['admin_general_google_font']['font-family']) : 'Nunito Sans:300,400,600,700,800';
179
180 if ('off' !== _x('on', 'Google font: on or off', 'adminify')) {
181 $font_url = add_query_arg('family', urlencode($font_family), '//fonts.googleapis.com/css');
182 }
183
184 return $font_url;
185 }
186
187
188 public function jltwp_adminify_admin_scripts()
189 {
190 $screen = get_current_screen();
191
192 // Register Styles
193 wp_register_style('wp-adminify-admin', WP_ADMINIFY_ASSETS . 'css/wp-adminify' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
194 wp_register_style('wp-adminify-default-ui', WP_ADMINIFY_ASSETS . 'css/wp-adminify-default-ui' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
195 wp_register_style('wp-adminify-admin-bar', WP_ADMINIFY_ASSETS . 'css/admin-bar' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
196 wp_register_style('wp-adminify-menu-editor', WP_ADMINIFY_ASSETS . 'css/adminify-menu-editor' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
197 // wp_register_style('wp-adminify-dark-mode', WP_ADMINIFY_ASSETS . 'css/dark-mode' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
198 // wp_register_style('wp-adminify-rtl', WP_ADMINIFY_ASSETS . 'css/adminify-rtl' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
199 // wp_register_style('wp-adminify-responsive', WP_ADMINIFY_ASSETS . 'css/adminify-responsive' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
200 // wp_register_style('wp-adminify-animate', WP_ADMINIFY_ASSETS . 'vendors/animatecss/animate' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
201 wp_register_style('wp-adminify-tokenize2', WP_ADMINIFY_ASSETS . 'vendors/tokenize/tokenize2' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
202
203
204 // Register Scripts
205 wp_register_script('wp-adminify-tokenize2', WP_ADMINIFY_ASSETS . 'vendors/tokenize/tokenize2.min.js', array('jquery'), WP_ADMINIFY_VER, false);
206 wp_register_script('wp-adminify-admin', WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify' . Utils::assets_ext('.js'), array('jquery'), WP_ADMINIFY_VER, true);
207
208 // wp_register_script('wp-adminify-realtime-server', WP_ADMINIFY_ASSETS . 'js/adminify-realtime-server.js', array('jquery'), WP_ADMINIFY_VER, true);
209
210 // Adminify Icon Picker
211 wp_register_style('wp-adminify-simple-line-icons', WP_ADMINIFY_ASSETS . 'vendors/font-icons/simple-line-icons/css/simple-line-icons' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
212 wp_register_style('wp-adminify-icon-picker', WP_ADMINIFY_ASSETS . 'vendors/adminify-icon-picker/css/style' . Utils::assets_ext('.css'), false, WP_ADMINIFY_VER);
213 wp_register_script('wp-adminify-icon-picker', WP_ADMINIFY_ASSETS . 'vendors/adminify-icon-picker/js/adminify-icon-picker' . Utils::assets_ext('.js'), array('jquery'), WP_ADMINIFY_VER, true);
214
215 // Dark Mode
216 wp_register_script('wp-adminify--dark-mode', WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify-dark-mode' . Utils::assets_ext('.js'), array(), WP_ADMINIFY_VER, false);
217
218 // Menu Editor
219 wp_register_script('wp-adminify-menu-editor', WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify-menu-editor' . Utils::assets_ext('.js'), array('jquery', 'jquery-ui-sortable', 'wp-adminify-icon-picker'), WP_ADMINIFY_VER, true);
220
221 // Styles Enqueue
222 if ( !empty($this->options['admin_general_google_font']['font-family'])) {
223 wp_enqueue_style('wp-adminify-google-fonts', $this->jltwp_adminify_google_fonts_url());
224 }
225
226 if (!empty($this->options['admin_ui'])) {
227 // wp_enqueue_style('wp-adminify-animate');
228 wp_enqueue_style('wp-adminify-admin');
229 // Commented on: 9-6-24
230 // wp_enqueue_style('wp-adminify-admin-bar');
231 // wp_enqueue_style('wp-adminify-responsive');
232 } else {
233 wp_enqueue_style('wp-adminify-default-ui');
234 }
235
236
237 // RTL CSS
238 if ( is_rtl() ) {
239 wp_enqueue_style( 'adminify-rtl', WP_ADMINIFY_URL . 'Libs/adminify-framework/assets/css/style-rtl'. Utils::assets_ext('.css'), array(), WP_ADMINIFY_VER, 'all' );
240 }
241
242
243 // Dark Mode Style
244 // wp_enqueue_style('wp-adminify-dark-mode');
245 wp_enqueue_script('wp-adminify--dark-mode');
246
247
248 $localize_array_data = [
249 'admin_ajax' => admin_url('admin-ajax.php'),
250 'settings' => [
251 'adminify_ui' => !empty($this->options['admin_ui']) ? true : false
252 ],
253 'admin_nonce' => wp_create_nonce('adminify_nonce'),
254 'is_pro' => (class_exists('\\WPAdminify\\Pro\\Adminify_Pro') && !empty(\WPAdminify\Pro\Adminify_Pro::is_premium())) ? true : false
255 ];
256
257 // Scripts Enqueue
258 wp_enqueue_script('wp-adminify-admin');
259 wp_localize_script( 'wp-adminify-admin', 'WP_ADMINIFY_ADMIN', $localize_array_data );
260
261 if (!wp_script_is('adminify-fa', 'enqueued') || !wp_script_is('adminify-fa5', 'enqueued')) {
262 if (apply_filters('adminify_fa4', false)) {
263 wp_enqueue_style('adminify-fa', 'https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome' . Utils::assets_ext('.css'), array(), '4.7.0', 'all');
264 } else {
265 wp_enqueue_style('adminify-fa5', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/all' . Utils::assets_ext('.css'), array(), '5.15.5', 'all');
266 wp_enqueue_style('adminify-fa5-v4-shims', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/v4-shims' . Utils::assets_ext('.css'), array(), '5.15.5', 'all');
267 }
268 }
269
270 // Load Scripts/Styles only WP Adminify Admin Page
271 if ($screen->id === 'toplevel_page_wp-adminify-settings') {
272 // Admin Notice Dismiss
273 // $this->jltwp_adminify_admin_script();
274
275 global $menu, $submenu;
276 $set_menu = new \WPAdminify\Inc\Modules\MenuEditor\MenuEditor();
277 $main_menus = $set_menu->sort_menu_settings($menu);
278 $sub_menus = $set_menu->sort_sub_menu_settings( $main_menus, $submenu );
279
280 // Menu Editor
281 wp_enqueue_script('wp-adminify-menu-editor-script');
282 wp_localize_script(
283 'wp-adminify-menu-editor-script',
284 'WPAdminifyIconPicker',
285 [
286 'main_menu' => $main_menus,
287 'sub_menu' => $sub_menus,
288 // 'is_elementor_active' => Utils::is_plugin_active('elementor/elementor.php'),
289 ]
290 );
291
292 }
293
294
295 if ($screen->id === 'wp-adminify_page_wp-adminify-addons-plugins') {
296 // JS Files .
297 wp_enqueue_script('wp-adminify-addons', WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify-addons' . Utils::assets_ext('.js'), array('jquery'), WP_ADMINIFY_VER, true);
298 wp_localize_script(
299 'wp-adminify-addons',
300 'WP_ADMINIFYCORE',
301 array(
302 'admin_ajax' => admin_url('admin-ajax.php'),
303 'addons_nonce' => wp_create_nonce('jltwp_adminify_addons_nonce'),
304 'plugin_key' => 'jltwp_adminify'
305 )
306 );
307 }
308 }
309
310 // WP Adminify Options Page Style
311 public function jltwp_adminify_admin_script()
312 {
313 echo '<style>.wp-adminify-two-columns{ display: flex; flex-wrap: wrap; padding: 15px; } .wp-adminify .adminify-hightlight-field{ border: 2px solid #0347FF !important; font-weight: 600 !important;} .wp-adminify-two-columns .adminify-full-width-field{ width: 100% !important; flex-basis: 100% !important; } .wp-adminify-two-columns > .adminify-field{ width: 49%; flex-basis: 49%; margin-right: 1%; margin-top: -1px; border: 1px solid #eee; box-sizing: border-box; } .wp-adminify-two-columns.aminify-title-width-40 .adminify-title, .aminify-title-width-40 .adminify-title{ width: 40% !important;} .wp-adminify-two-columns.aminify-title-width-40 .adminify-fieldset, .aminify-title-width-40 .adminify-fieldset{ width: calc(60% - 20px) !important;} .wp-adminify-two-columns.aminify-title-width-65 .adminify-title{ width: 65%;} .wp-adminify-two-columns.aminify-title-width-65 .adminify-fieldset{ width: calc(35% - 20px);} .wp-adminify-two-columns .adminify-field-subheading{height:25px;box-sizing: content-box; width: 100%; flex-basis: 100%;} .wp-adminify-white-label-notice-content { background-color: #fff; box-shadow: 0px 0px 50px rgb(0 0 0 / 13%); position: absolute; top: 150px; left: 400px; width: 530px; padding: 32px; padding-bottom: 50px; -webkit-border-radius: 20px; border-radius: 20px; text-align: center; z-index: 2; } .wp-adminify-white-label-notice-logo img { height: 100px; width: 250px; padding: 10px; padding-top: 10px; } .wp-adminify-white-label-notice-content h2 span{ color: #6814cd; text-transform: uppercase; } .wp-adminify-white-label-notice-content em{ font-size: 13px; color: red; } .wp-adminify-white-label-notice .wp-adminify-get-pro{ background-image: -moz-linear-gradient( 0deg, rgb(223,29,198) 0%, rgb(106,20,209) 100%); background-image: -webkit-linear-gradient( 0deg , rgb(223,29,198) 0%, rgb(106,20,209) 100%); background-image: -ms-linear-gradient( 0deg, rgb(223,29,198) 0%, rgb(106,20,209) 100%); border: none; box-shadow: none; color: #fff; cursor: pointer; font-weight: 700; line-height: 35px; padding: 0 15px; text-transform: uppercase; text-decoration: none; display: inline-block; width: 180px; padding: 5px 15px !important; border-radius: 10px; font-size: 15px; font-weight: 800; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wp-adminify-white-label-notice{ position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100%; background: rgba(200, 200, 200, 0.5); -js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center;z-index: 1; } .wp-adminify-white-label-notice .wp-adminify-get-pro:hover { color:#fff; background-image: -moz-linear-gradient(0deg, rgb(106, 20, 209) 0%, rgb(223, 29, 198) 100%); background-image: -webkit-linear-gradient( 0deg, rgb(106, 20, 209) 0%, rgb(223, 29, 198) 100%); background-image: -ms-linear-gradient(0deg, rgb(106, 20, 209) 0%, rgb(223, 29, 198) 100%);} .adminify-field-callback a.wp-adminify-rollback-button{font-family:inherit !important;} .wp-adminify-rollback-button.dashicons, .wp-adminify-rollback-button.dashicons-before:before{ width: inherit !important;}</style>';
314 }
315
316 }
317