PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.5
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.5
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 / Admin / Options / MenuLayout.php

MenuLayout.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.4.5, at Inc/Admin/Options/MenuLayout.php

524 lines 19.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\Admin\Options;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettingsModel;
7 if ( !defined( 'ABSPATH' ) ) {
8 die;
9 }
10 // Cannot access directly.
11 class MenuLayout extends AdminSettingsModel {
12 public function __construct() {
13 $this->menu_layout_settings();
14 }
15
16 public function get_defaults() {
17 return [
18 'menu_layout_settings' => [
19 'layout_type' => 'vertical',
20 'menu_hover_submenu' => 'classic',
21 'icon_style' => 'classic',
22 'menu_mode' => 'classic',
23 'user_info' => false,
24 'user_info_content' => 'text',
25 'legacy_menu' => false,
26 'user_info_avatar' => 'rounded',
27 'horz_menu_type' => 'both',
28 'show_bloglink' => false,
29 'horz_dropdown_icon' => true,
30 'horz_toplinks' => false,
31 'horz_bubble_icon_hide' => false,
32 'horz_long_menu_break' => true,
33 'menu_styles' => [
34 'menu_typography' => [
35 'font-family' => 'Nunito Sans',
36 'type' => 'google',
37 ],
38 'menu_wrapper_padding' => '',
39 'menu_vertical_padding' => '',
40 'horz_menu_parent_padding' => '',
41 'submenu_wrapper_padding' => '',
42 'submenu_vertical_space' => '',
43 'parent_menu_colors' => [
44 'wrap_bg' => '',
45 'hover_bg' => '',
46 'text_color' => '',
47 'text_hover' => '',
48 'active_color' => '',
49 ],
50 'sub_menu_colors' => [
51 'wrap_bg' => '',
52 'hover_bg' => '',
53 'text_color' => '',
54 'text_hover' => '',
55 'active_bg' => '',
56 'active_color' => '',
57 ],
58 'notif_colors' => [
59 'notif_bg' => '',
60 'notif_color' => '',
61 ],
62 ],
63 'user_info_style' => [
64 'info_text_color' => '',
65 'info_text_hover_color' => '',
66 'info_text_border' => [
67 'top' => '',
68 'right' => '',
69 'bottom' => '',
70 'left' => '',
71 'style' => 'solid',
72 'color' => '',
73 ],
74 'info_icon_color' => '',
75 'info_icon_hover_color' => '',
76 ],
77 ],
78 ];
79 }
80
81 public function menu_layout_settings_tab( &$settings_tab ) {
82 $settings_tab[] = [
83 'id' => 'layout_type',
84 'type' => 'button_set',
85 'title' => __( 'Menu Type', 'adminify' ),
86 'options' => [
87 'vertical' => __( 'Vertical Menu', 'adminify' ),
88 'horizontal' => __( 'Horizontal Menu', 'adminify' ),
89 ],
90 'default' => $this->get_default_field( 'menu_layout_settings' )['layout_type'],
91 ];
92 $settings_tab[] = [
93 'type' => 'notice',
94 'style' => 'warning',
95 'content' => Utils::adminify_upgrade_pro( 'Horizontal Menu Requires "Adminify UI" Module Enabled from "WP Adminify>Modules" list ' ),
96 'dependency' => [
97 'admin_ui|layout_type',
98 '!=|==',
99 'true|horizontal',
100 'true'
101 ],
102 ];
103 $settings_tab[] = [
104 'id' => 'menu_mode',
105 'type' => 'button_set',
106 'title' => __( 'Menu Mode', 'adminify' ),
107 'options' => [
108 'classic' => __( 'Classic', 'adminify' ),
109 'icon_menu' => __( 'Mini Icon', 'adminify' ),
110 'rounded' => __( 'Rounded', 'adminify' ),
111 ],
112 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_mode'],
113 'dependency' => [
114 'layout_type',
115 '==',
116 'vertical',
117 'true'
118 ],
119 ];
120 $settings_tab[] = [
121 'type' => 'notice',
122 'style' => 'warning',
123 'content' => Utils::adminify_upgrade_pro( 'Rounded Menu Mode Requires "Adminify UI" Module Enabled from "WP Adminify>Modules" list ' ),
124 'dependency' => [
125 'admin_ui|layout_type|menu_mode',
126 '!=|==|==',
127 'true|vertical|rounded',
128 'true'
129 ],
130 ];
131 $settings_tab[] = [
132 'id' => 'icon_style',
133 'type' => 'button_set',
134 'title' => __( 'Icon Style', 'adminify' ),
135 'options' => [
136 'classic' => __( 'Classic', 'adminify' ),
137 'rounded' => __( 'Rounded', 'adminify' ),
138 ],
139 'dependency' => [
140 'admin_ui|layout_type|menu_mode',
141 '==|==|==',
142 'true|vertical|icon_menu',
143 'true'
144 ],
145 'default' => $this->get_default_field( 'menu_layout_settings' )['icon_style'],
146 ];
147 $settings_tab[] = [
148 'id' => 'menu_hover_submenu',
149 'type' => 'button_set',
150 'title' => __( 'Sub Menu Style', 'adminify' ),
151 'options' => [
152 'classic' => __( 'Classic', 'adminify' ),
153 'accordion' => __( 'Accordion', 'adminify' ),
154 'toggle' => __( 'Toggle', 'adminify' ),
155 ],
156 'dependency' => [
157 'layout_type',
158 '==',
159 'vertical',
160 'true'
161 ],
162 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_hover_submenu'],
163 ];
164 $settings_tab[] = [
165 'type' => 'notice',
166 'style' => 'warning',
167 'content' => Utils::adminify_upgrade_pro( 'Accordion Menu Requires "Adminify UI" Module Enabled from "WP Adminify>Modules" list ' ),
168 'dependency' => [
169 'admin_ui|layout_type|menu_hover_submenu',
170 '!=|==|!=',
171 'true|vertical|classic',
172 'true'
173 ],
174 ];
175 $settings_tab[] = [
176 'type' => 'notice',
177 'title' => __( 'Horizontal Menu', 'adminify' ),
178 'style' => 'warning',
179 'content' => Utils::adminify_upgrade_pro(),
180 'dependency' => [
181 'admin_ui|layout_type',
182 '==|==',
183 'true|horizontal',
184 'true'
185 ],
186 ];
187 $settings_tab[] = [
188 'type' => 'notice',
189 'title' => __( 'User Info', 'adminify' ),
190 'style' => 'warning',
191 'content' => Utils::adminify_upgrade_pro(),
192 'dependency' => [
193 'layout_type',
194 '==',
195 'vertical',
196 'true'
197 ],
198 ];
199 $settings_tab[] = [
200 'id' => 'user_info_content',
201 'type' => 'button_set',
202 'title' => __( 'Content Type', 'adminify' ),
203 'options' => [
204 'text' => __( 'Text', 'adminify' ),
205 'icon' => __( 'Icon', 'adminify' ),
206 ],
207 'default' => $this->get_default_field( 'menu_layout_settings' )['user_info_content'],
208 'dependency' => [
209 'user_info|layout_type',
210 '==|==',
211 'true|vertical',
212 'true'
213 ],
214 ];
215 $settings_tab[] = [
216 'id' => 'user_info_avatar',
217 'type' => 'button_set',
218 'title' => __( 'Avatar Type', 'adminify' ),
219 'options' => [
220 'rounded' => __( 'Rounded', 'adminify' ),
221 'square' => __( 'Square', 'adminify' ),
222 ],
223 'default' => $this->get_default_field( 'menu_layout_settings' )['user_info_avatar'],
224 'dependency' => [
225 'user_info|layout_type',
226 '==|==',
227 'true|vertical',
228 'true'
229 ],
230 ];
231 $settings_tab[] = [
232 'type' => 'notice',
233 'title' => __( 'Menu Item Style', 'adminify' ),
234 'style' => 'warning',
235 'content' => Utils::adminify_upgrade_pro(),
236 'dependency' => [
237 'layout_type',
238 '==',
239 'horizontal',
240 'true'
241 ],
242 ];
243 $settings_tab[] = [
244 'type' => 'notice',
245 'title' => __( 'Show Blog Link', 'adminify' ),
246 'style' => 'warning',
247 'content' => Utils::adminify_upgrade_pro(),
248 'dependency' => [
249 'layout_type',
250 '==',
251 'horizontal',
252 'true'
253 ],
254 ];
255 $settings_tab[] = [
256 'type' => 'notice',
257 'title' => __( 'Dropdown Toggle Icon', 'adminify' ),
258 'style' => 'warning',
259 'content' => Utils::adminify_upgrade_pro(),
260 'dependency' => [
261 'layout_type',
262 '==',
263 'horizontal',
264 'true'
265 ],
266 ];
267 $settings_tab[] = [
268 'type' => 'notice',
269 'title' => __( 'Top Menu Links', 'adminify' ),
270 'style' => 'warning',
271 'content' => Utils::adminify_upgrade_pro(),
272 'dependency' => [
273 'layout_type',
274 '==',
275 'horizontal',
276 'true'
277 ],
278 ];
279 $settings_tab[] = [
280 'type' => 'notice',
281 'title' => __( 'Bubble Icon', 'adminify' ),
282 'style' => 'warning',
283 'content' => Utils::adminify_upgrade_pro(),
284 'dependency' => [
285 'layout_type',
286 '==',
287 'horizontal',
288 'true'
289 ],
290 ];
291 $settings_tab[] = [
292 'type' => 'notice',
293 'title' => __( 'Break Long Lists', 'adminify' ),
294 'style' => 'warning',
295 'content' => Utils::adminify_upgrade_pro(),
296 'dependency' => [
297 'layout_type',
298 '==',
299 'horizontal',
300 'true'
301 ],
302 ];
303 }
304
305 public function menu_layout_style_tab( &$menu_styles_tab ) {
306 $menu_styles_tab[] = [
307 'type' => 'subheading',
308 'content' => __( 'Menu Styles', 'adminify' ),
309 ];
310 $menu_styles_tab[] = [
311 'id' => 'menu_typography',
312 'type' => 'typography',
313 'title' => __( 'Font Settings', 'adminify' ),
314 'font_family' => false,
315 'font_weight' => true,
316 'font_style' => true,
317 'font_size' => true,
318 'line_height' => true,
319 'letter_spacing' => true,
320 'text_align' => true,
321 'text-transform' => true,
322 'color' => false,
323 'subset' => false,
324 'backup_font_family' => false,
325 'font_variant' => false,
326 'word_spacing' => false,
327 'text_decoration' => true,
328 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['menu_typography'],
329 ];
330 $menu_styles_tab[] = [
331 'id' => 'menu_wrapper_padding',
332 'type' => 'spacing',
333 'title' => __( 'Menu Wrapper Padding', 'adminify' ),
334 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['menu_wrapper_padding'],
335 ];
336 $menu_styles_tab[] = [
337 'id' => 'menu_vertical_padding',
338 'type' => 'slider',
339 'title' => __( 'Parent Menu Vertical Padding', 'adminify' ),
340 'unit' => 'px',
341 'min' => 1,
342 'max' => 100,
343 'step' => 1,
344 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['menu_vertical_padding'],
345 'dependency' => [
346 'layout_type',
347 '==',
348 'vertical',
349 'true'
350 ],
351 ];
352 $menu_styles_tab[] = [
353 'type' => 'notice',
354 'title' => __( 'Parent Menu Horizontal Padding', 'adminify' ),
355 'style' => 'warning',
356 'content' => Utils::adminify_upgrade_pro(),
357 'dependency' => [
358 'layout_type',
359 '==',
360 'horizontal',
361 'true'
362 ],
363 ];
364 $menu_styles_tab[] = [
365 'id' => 'submenu_wrapper_padding',
366 'type' => 'spacing',
367 'title' => __( 'Sub Menu Wrapper Padding', 'adminify' ),
368 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['submenu_wrapper_padding'],
369 ];
370 $menu_styles_tab[] = [
371 'id' => 'submenu_vertical_space',
372 'type' => 'slider',
373 'title' => __( 'Sub Menu Vertical Padding', 'adminify' ),
374 'unit' => 'px',
375 'min' => 1,
376 'max' => 100,
377 'step' => 1,
378 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['submenu_vertical_space'],
379 ];
380 $menu_styles_tab[] = [
381 'type' => 'subheading',
382 'content' => __( 'Color Settings', 'adminify' ),
383 ];
384 $menu_styles_tab[] = [
385 'id' => 'parent_menu_colors',
386 'type' => 'color_group',
387 'title' => __( 'Parent Menu Colors', 'adminify' ),
388 'options' => [
389 'wrap_bg' => __( 'Wrap BG', 'adminify' ),
390 'hover_bg' => __( 'Menu Hover BG', 'adminify' ),
391 'text_color' => __( 'Text Color', 'adminify' ),
392 'text_hover' => __( 'Text Hover', 'adminify' ),
393 'active_bg' => __( 'Active Menu BG', 'adminify' ),
394 'active_color' => __( 'Active Menu Color', 'adminify' ),
395 ],
396 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['parent_menu_colors'],
397 ];
398 $menu_styles_tab[] = [
399 'id' => 'sub_menu_colors',
400 'type' => 'color_group',
401 'title' => __( 'Sub Menu Colors', 'adminify' ),
402 'options' => [
403 'wrap_bg' => __( 'Wrap BG', 'adminify' ),
404 'hover_bg' => __( 'Submenu Hover BG', 'adminify' ),
405 'text_color' => __( 'Text Color', 'adminify' ),
406 'text_hover' => __( 'Text Hover', 'adminify' ),
407 'active_bg' => __( 'Active Submenu BG', 'adminify' ),
408 'active_color' => __( 'Active Submenu Color', 'adminify' ),
409 ],
410 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['sub_menu_colors'],
411 ];
412 $menu_styles_tab[] = [
413 'id' => 'notif_colors',
414 'type' => 'color_group',
415 'title' => __( 'Notification Colors', 'adminify' ),
416 'options' => [
417 'notif_bg' => __( 'Background', 'adminify' ),
418 'notif_color' => __( 'Text Color', 'adminify' ),
419 ],
420 'default' => $this->get_default_field( 'menu_layout_settings' )['menu_styles']['notif_colors'],
421 ];
422 }
423
424 public function user_info_style_tab( &$user_info_styles_tab ) {
425 $user_info_styles_tab[] = [
426 'type' => 'subheading',
427 'content' => __( 'User Info Style', 'adminify' ),
428 ];
429 $user_info_styles_tab[] = [
430 'type' => 'notice',
431 'title' => __( 'Link Color', 'adminify' ),
432 'style' => 'warning',
433 'content' => Utils::adminify_upgrade_pro(),
434 ];
435 $user_info_styles_tab[] = [
436 'type' => 'notice',
437 'title' => __( 'Hover Color', 'adminify' ),
438 'style' => 'warning',
439 'content' => Utils::adminify_upgrade_pro(),
440 ];
441 $user_info_styles_tab[] = [
442 'type' => 'notice',
443 'title' => __( 'Border', 'adminify' ),
444 'style' => 'warning',
445 'content' => Utils::adminify_upgrade_pro(),
446 ];
447 $user_info_styles_tab[] = [
448 'type' => 'notice',
449 'title' => __( 'Icon Color', 'adminify' ),
450 'style' => 'warning',
451 'content' => Utils::adminify_upgrade_pro(),
452 ];
453 $user_info_styles_tab[] = [
454 'type' => 'notice',
455 'title' => __( 'Hover Icon Color', 'adminify' ),
456 'style' => 'warning',
457 'content' => Utils::adminify_upgrade_pro(),
458 ];
459 }
460
461 public function menu_styles_tab( &$styles_tab ) {
462 $menu_styles_tab = [];
463 $user_info_styles_tab = [];
464 $this->menu_layout_style_tab( $menu_styles_tab );
465 $this->user_info_style_tab( $user_info_styles_tab );
466 $styles_tab[] = [
467 'id' => 'menu_styles',
468 'type' => 'fieldset',
469 'title' => '',
470 'fields' => $menu_styles_tab,
471 ];
472 $styles_tab[] = [
473 'id' => 'user_info_style',
474 'type' => 'fieldset',
475 'title' => '',
476 'fields' => $user_info_styles_tab,
477 'dependency' => [
478 'layout_type',
479 '==',
480 'vertical',
481 'true'
482 ],
483 ];
484 }
485
486 public function menu_layout_settings() {
487 if ( !class_exists( 'ADMINIFY' ) ) {
488 return;
489 }
490 $settings_tab = [];
491 $styles_tab = [];
492 $this->menu_layout_settings_tab( $settings_tab );
493 $this->menu_styles_tab( $styles_tab );
494 // Menu Layout Section
495 \ADMINIFY::createSection( $this->prefix, [
496 'title' => __( 'Menu Settings', 'adminify' ),
497 'icon' => 'fas fa-bars',
498 'fields' => [[
499 'type' => 'subheading',
500 'content' => Utils::adminfiy_help_urls(
501 __( 'Menu Settings', 'adminify' ),
502 'https://wpadminify.com/kb/dashboard-menu-settings/',
503 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
504 'https://www.facebook.com/groups/jeweltheme',
505 'https://wpadminify.com/support/'
506 ),
507 ], [
508 'id' => 'menu_layout_settings',
509 'type' => 'tabbed',
510 'title' => '',
511 'tabs' => [[
512 'title' => __( 'Settings', 'adminify' ),
513 'fields' => $settings_tab,
514 ], [
515 'title' => __( 'Styles', 'adminify' ),
516 'fields' => $styles_tab,
517 ]],
518 'default' => $this->get_defaults()['menu_layout_settings'],
519 ]],
520 ] );
521 }
522
523 }
524