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

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

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