PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 1.0.8
Adminify – White Label, Admin Menu Editor, Login Customizer v1.0.8
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 / AdminSettings.php

AdminSettings.php in Adminify – White Label, Admin Menu Editor, Login Customizer 1.0.8, at Inc/Admin/AdminSettings.php

153 lines 7.2 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;
4
5 use WPAdminify\Inc\Utils ;
6 use WPAdminify\Inc\Admin\AdminSettingsModel ;
7 use WPAdminify\Inc\Admin\Options\General ;
8 use WPAdminify\Inc\Admin\Options\Modules ;
9 use WPAdminify\Inc\Admin\Options\DismissNotices ;
10 use WPAdminify\Inc\Admin\Options\MenuLayout ;
11 use WPAdminify\Inc\Admin\Options\Tweaks ;
12 use WPAdminify\Inc\Admin\Options\AdminBar ;
13 use WPAdminify\Inc\Admin\Options\Admin_Footer ;
14 use WPAdminify\Inc\Admin\Options\WidgetSettings ;
15 use WPAdminify\Inc\Admin\Options\Module_Settings ;
16 use WPAdminify\Inc\Admin\Options\Assets_Manager ;
17 use WPAdminify\Inc\Admin\Options\White_Label ;
18 use WPAdminify\Inc\Admin\Options\Custom_CSS_JS_Backup ;
19 if ( !defined( 'ABSPATH' ) ) {
20 die;
21 }
22 // Cannot access directly.
23 if ( !class_exists( 'AdminSettings' ) ) {
24 class AdminSettings extends AdminSettingsModel
25 {
26 // AdminSettings cannot be extended by creating instances
27 public static $instance = null ;
28 public $defaults = array() ;
29 public function __construct()
30 {
31 // this should be first so the default values get stored
32 $this->jltwp_adminify_options();
33 parent::__construct( (array) get_option( $this->prefix ) );
34 add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_admin_scripts' ], 99 );
35 }
36
37 public static function get_instance()
38 {
39 if ( !is_null( self::$instance ) ) {
40 return self::$instance;
41 }
42 self::$instance = new self();
43 return self::$instance;
44 }
45
46 protected function get_defaults()
47 {
48 return $this->defaults;
49 }
50
51 /**
52 * Admin Settings CSS
53 *
54 * @return void
55 */
56 public function jltwp_adminify_admin_scripts()
57 {
58 $output_css = '';
59 $output_css .= '.wp-adminify-settings .dashicons, .wp-adminify-settings .dashicons-before:before{ vertical-align: middle; }
60 .wp-adminify-settings .adminify-tab-item i.adminify-tab-icon.dashicons{font-size:16px;}';
61 echo '<style>' . $output_css . '</style>' ;
62 }
63
64 public function jltwp_adminify_options()
65 {
66 if ( !class_exists( 'ADMINIFY' ) ) {
67 return;
68 }
69 $saved_data = get_option( $this->prefix );
70 $admin_bar_mode = ( !empty($saved_data['admin_bar_mode']) ? $saved_data['admin_bar_mode'] : 'light' );
71
72 if ( !empty($admin_bar_mode) == 'light' ) {
73 $logo_image_url = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
74 } elseif ( isset( $admin_bar_mode ) && $admin_bar_mode == 'dark' ) {
75 $logo_image_url = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
76 }
77
78 $plugin_menu_label = WP_ADMINIFY;
79 $plugin_author_name = WP_ADMINIFY_AUTHOR;
80 // WPAdminify Options
81 \ADMINIFY::createOptions( $this->prefix, array(
82 'framework_title' => '<img class="wp-adminify-settings-logo" src=' . $logo_image_url . '>' . ' <small>by ' . $plugin_author_name . '</small>',
83 'framework_class' => '',
84 'menu_title' => $plugin_menu_label,
85 'menu_slug' => 'wp-adminify-settings',
86 'menu_capability' => 'manage_options',
87 'menu_icon' => WP_ADMINIFY_ASSETS_IMAGE . 'logos/menu-icon.svg',
88 'menu_position' => 30,
89 'menu_hidden' => false,
90 'menu_parent' => 'admin.php?page=wp-adminify-settings',
91 'show_bar_menu' => true,
92 'show_sub_menu' => false,
93 'show_in_network' => true,
94 'show_in_customizer' => false,
95 'show_search' => false,
96 'show_reset_all' => true,
97 'show_reset_section' => true,
98 'show_footer' => true,
99 'show_all_options' => false,
100 'show_form_warning' => true,
101 'sticky_header' => false,
102 'save_defaults' => false,
103 'ajax_save' => true,
104 'admin_bar_menu_icon' => '',
105 'admin_bar_menu_priority' => 80,
106 'footer_text' => ' ',
107 'footer_after' => ' ',
108 'footer_credit' => ' ',
109 'database' => 'network',
110 'transient_time' => 0,
111 'contextual_help' => array(),
112 'contextual_help_sidebar' => '',
113 'enqueue_webfont' => true,
114 'async_webfont' => false,
115 'output_css' => true,
116 'nav' => 'normal',
117 'theme' => 'dark',
118 'class' => 'wp-adminify-settings',
119 'defaults' => array(),
120 ) );
121 $this->defaults = array_merge( $this->defaults, ( new Modules() )->get_defaults() );
122 $this->defaults = array_merge( $this->defaults, ( new General() )->get_defaults() );
123 $this->defaults = array_merge( $this->defaults, ( new Admin_Footer() )->get_defaults() );
124 $this->defaults = array_merge( $this->defaults, ( new MenuLayout() )->get_defaults() );
125 $this->defaults = array_merge( $this->defaults, ( new AdminBar() )->get_defaults() );
126 $this->defaults = array_merge( $this->defaults, ( new Tweaks() )->get_defaults() );
127 $this->defaults = array_merge( $this->defaults, ( new WidgetSettings() )->get_defaults() );
128 $this->defaults = array_merge( $this->defaults, ( new DismissNotices() )->get_defaults() );
129 $this->defaults = array_merge( $this->defaults, ( new Module_Settings() )->get_defaults() );
130 $this->defaults = array_merge( $this->defaults, ( new Assets_Manager() )->get_defaults() );
131 $this->defaults = array_merge( $this->defaults, ( new Custom_CSS_JS_Backup() )->get_defaults() );
132 $this->defaults = array_merge( $this->defaults, ( new White_Label() )->get_defaults() );
133 // Backup Settings
134 \ADMINIFY::createSection( $this->prefix, array(
135 'title' => 'Backup',
136 'icon' => 'fas fa-shield-alt',
137 'fields' => array( array(
138 'type' => 'subheading',
139 'content' => Utils::adminfiy_help_urls(
140 __( 'Backup Config Settings', WP_ADMINIFY_TD ),
141 'https://wpadminify.com/kb/wp-adminify-options-panel/#adminify-backup',
142 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
143 'https://www.facebook.com/groups/jeweltheme',
144 'https://wpadminify.com/support/'
145 ),
146 ), array(
147 'type' => 'backup',
148 ) ),
149 ) );
150 }
151
152 }
153 }