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 / SidebarGenerator / Sidebar_Generator.php

Sidebar_Generator.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.0.4, at Inc/Modules/SidebarGenerator/Sidebar_Generator.php

107 lines 3.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\Modules\SidebarGenerator;
4
5 use WPAdminify\Inc\Utils;
6
7 // no direct access allowed
8 if (!defined('ABSPATH')) exit;
9 /**
10 * WPAdminify
11 * @package Sidebar Generator
12 *
13 * @author WP Adminify <support@wpadminify.com>
14 */
15
16 class Sidebar_Generator extends Sidebar_Generator_Model
17 {
18 private $url;
19 private $options;
20 public function __construct()
21 {
22 $this->url = WP_ADMINIFY_URL . 'Inc/Modules/SidebarGenerator';
23 $this->options = (new Sidebar_Generator_Settings())->get();
24
25 add_action('admin_enqueue_scripts', [$this, 'sidebar_generator_scripts'], 99);
26 add_action('admin_init', [$this, 'get_all_sidebars']);
27 add_action('widgets_init', [$this, 'render_generate_sidebars']);
28 }
29
30
31 /**
32 * Render Sidebars
33 *
34 * @return void
35 */
36 public function render_generate_sidebars()
37 {
38 //Make sure if we have valid sidebars data
39 if (!empty($this->options['sidebars']) && is_array($this->options['sidebars'])) {
40 foreach ($this->options['sidebars'] as $sidebar) {
41 $sidebar_id = str_replace(" ", "_", strtolower($sidebar['sidebar_title']));
42 $id = 'adminify-' . $sidebar_id;
43 $name = $sidebar['sidebar_title'];
44 $description = $sidebar['sidebar_desc'];
45 $alias = $sidebar_id;
46
47 $sidebar_class = Utils::convert_name_to_class($alias);
48
49 register_sidebar(array(
50 'name' => $name,
51 'id' => "generated_sidebar-$id",
52 'description' => $description,
53 'before_widget' => '<div id="%1$s" class="widget scg_widget ' . $sidebar_class . ' %2$s">',
54 'after_widget' => '</div>',
55 'before_title' => '<h4 class="widgetTitle">',
56 'after_title' => '</h4>',
57 ));
58 }
59 }
60 }
61
62 /**
63 * Sidebar Generator Script
64 *
65 * @return void
66 */
67 public function sidebar_generator_scripts()
68 {
69 global $pagenow;
70
71 if (('admin.php' === $pagenow) && ('wp-adminify-sidebar-generator' === $_GET['page'])) {
72 $this->sidebar_generator_option_style();
73 }
74 }
75
76 public function sidebar_generator_option_style()
77 {
78 echo '<style>.wp-adminify-sidebar-generator .adminify-container{ max-width:80%; margin:0 auto;} .wp-adminify-sidebar-generator .adminify-header-inner{padding:0;}.wp-adminify-sidebar-generator .adminify-field-subheading{font-size:20px; padding-left:0;}.wp-adminify-sidebar-generator .adminify-nav,.wp-adminify-sidebar-generator .adminify-search,.wp-adminify-sidebar-generator .adminify-footer,.wp-adminify-sidebar-generator .adminify-reset-all,.wp-adminify-sidebar-generator .adminify-expand-all,.wp-adminify-sidebar-generator .adminify-header-left,.wp-adminify-sidebar-generator .adminify-reset-section,.wp-adminify-sidebar-generator .adminify-nav-background{display: none !important;}.wp-adminify-sidebar-generator .adminify-nav-normal + .adminify-content{margin-left: 0;}
79
80 /* If needed for white top-bar */
81 .wp-adminify-sidebar-generator .adminify-header-inner {
82 background-color: #fafafa !important;
83 border-bottom: 1px solid #f5f5f5;
84 }
85 </style>';
86 }
87
88 /**
89 * Get All Sidebars
90 *
91 * @return void
92 */
93 public function get_all_sidebars()
94 {
95 global $wp_registered_sidebars;
96
97 $sidebar_list = [];
98 foreach ($wp_registered_sidebars as $key => $values) {
99 $sidebar_list[$key] = [
100 'sidebar_name' => $values['name'],
101 'sidebar_id' => $values['id'],
102 'sidebar_desc' => $values['description']
103 ];
104 }
105 }
106 }
107