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

107 lines 3.4 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' ) ) {
9 exit;
10 }
11 /**
12 * WPAdminify
13 *
14 * @package Sidebar Generator
15 *
16 * @author WP Adminify <support@wpadminify.com>
17 */
18
19 class Sidebar_Generator extends Sidebar_Generator_Model {
20
21 private $url;
22 private $options;
23 public function __construct() {
24 $this->url = WP_ADMINIFY_URL . 'Inc/Modules/SidebarGenerator';
25 $this->options = ( new Sidebar_Generator_Settings() )->get();
26
27 add_action( 'admin_enqueue_scripts', [ $this, 'sidebar_generator_scripts' ], 99 );
28 add_action( 'admin_init', [ $this, 'get_all_sidebars' ] );
29 add_action( 'widgets_init', [ $this, 'render_generate_sidebars' ] );
30 }
31
32
33 /**
34 * Render Sidebars
35 *
36 * @return void
37 */
38 public function render_generate_sidebars() {
39 // Make sure if we have valid sidebars data
40 if ( ! empty( $this->options['sidebars'] ) && is_array( $this->options['sidebars'] ) ) {
41 foreach ( $this->options['sidebars'] as $sidebar ) {
42 $sidebar_id = str_replace( ' ', '_', strtolower( $sidebar['sidebar_title'] ) );
43 $id = 'adminify-' . $sidebar_id;
44 $name = $sidebar['sidebar_title'];
45 $description = $sidebar['sidebar_desc'];
46 $alias = $sidebar_id;
47
48 $sidebar_class = Utils::convert_name_to_class( $alias );
49
50 register_sidebar(
51 [
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 /**
66 * Sidebar Generator Script
67 *
68 * @return void
69 */
70 public function sidebar_generator_scripts() {
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 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;}
80
81 /* If needed for white top-bar */
82 .wp-adminify-sidebar-generator .adminify-header-inner {
83 background-color: #fafafa !important;
84 border-bottom: 1px solid #f5f5f5;
85 }
86 </style>';
87 }
88
89 /**
90 * Get All Sidebars
91 *
92 * @return void
93 */
94 public function get_all_sidebars() {
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