PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.0
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.0
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 2.0.0, at Inc/Modules/SidebarGenerator/Sidebar_Generator.php

109 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 if (is_admin()) {
26 add_action('admin_enqueue_scripts', [$this, 'sidebar_generator_scripts'], 99);
27 add_action('admin_init', [$this, 'get_all_sidebars']);
28 add_action('widgets_init', [$this, 'render_generate_sidebars']);
29 }
30 }
31
32
33 /**
34 * Render Sidebars
35 *
36 * @return void
37 */
38 public function render_generate_sidebars()
39 {
40 //Make sure if we have valid sidebars data
41 if (!empty($this->options['sidebars']) && is_array($this->options['sidebars'])) {
42 foreach ($this->options['sidebars'] as $sidebar) {
43 $sidebar_id = str_replace(" ", "_", strtolower($sidebar['sidebar_title']));
44 $id = 'adminify-' . $sidebar_id;
45 $name = $sidebar['sidebar_title'];
46 $description = $sidebar['sidebar_desc'];
47 $alias = $sidebar_id;
48
49 $sidebar_class = Utils::convert_name_to_class($alias);
50
51 register_sidebar(array(
52 'name' => $name,
53 'id' => "generated_sidebar-$id",
54 'description' => $description,
55 'before_widget' => '<div id="%1$s" class="widget scg_widget ' . $sidebar_class . ' %2$s">',
56 'after_widget' => '</div>',
57 'before_title' => '<h4 class="widgetTitle">',
58 'after_title' => '</h4>',
59 ));
60 }
61 }
62 }
63
64 /**
65 * Sidebar Generator Script
66 *
67 * @return void
68 */
69 public function sidebar_generator_scripts()
70 {
71 global $pagenow;
72
73 if (('admin.php' === $pagenow) && ('wp-adminify-sidebar-generator' === $_GET['page'])) {
74 $this->sidebar_generator_option_style();
75 }
76 }
77
78 public function sidebar_generator_option_style()
79 {
80 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;}
81
82 /* If needed for white top-bar */
83 .wp-adminify-sidebar-generator .adminify-header-inner {
84 background-color: #fafafa !important;
85 border-bottom: 1px solid #f5f5f5;
86 }
87 </style>';
88 }
89
90 /**
91 * Get All Sidebars
92 *
93 * @return void
94 */
95 public function get_all_sidebars()
96 {
97 global $wp_registered_sidebars;
98
99 $sidebar_list = [];
100 foreach ($wp_registered_sidebars as $key => $values) {
101 $sidebar_list[$key] = [
102 'sidebar_name' => $values['name'],
103 'sidebar_id' => $values['id'],
104 'sidebar_desc' => $values['description']
105 ];
106 }
107 }
108 }
109