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

220 lines 7.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;
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
20 if (!defined('ABSPATH')) {
21 die;
22 } // Cannot access directly.
23
24 if (!class_exists('AdminSettings')) {
25 class AdminSettings extends AdminSettingsModel
26 {
27 // AdminSettings cannot be extended by creating instances
28 public static $instance = null;
29
30 public $defaults = [];
31
32 public function __construct()
33 {
34 // this should be first so the default values get stored
35 $this->jltwp_adminify_options();
36
37 parent::__construct((array) get_site_option($this->prefix));
38
39 add_action('admin_enqueue_scripts', [$this, 'jltwp_adminify_admin_scripts'], 99);
40 }
41
42 public static function get_instance()
43 {
44 if (!is_null(self::$instance)) return self::$instance;
45 self::$instance = new self();
46 return self::$instance;
47 }
48
49
50 protected function get_defaults()
51 {
52 return $this->defaults;
53 }
54
55 /**
56 * Admin Settings CSS
57 *
58 * @return void
59 */
60 public function jltwp_adminify_admin_scripts()
61 {
62 $output_css = '';
63 $output_css .= '.wp-adminify-settings .dashicons, .wp-adminify-settings .dashicons-before:before{ vertical-align: middle; }
64 .wp-adminify-settings .adminify-tab-item i.adminify-tab-icon.dashicons{font-size:16px;}';
65 echo '<style>' . $output_css . '</style>';
66 }
67
68
69 public function jltwp_adminify_options()
70 {
71
72 if (!class_exists('ADMINIFY')) {
73 return;
74 }
75
76 $saved_data = get_site_option($this->prefix);
77 $admin_bar_mode = !empty($saved_data['admin_bar_mode']) ? $saved_data['admin_bar_mode'] : 'light';
78
79 if (!empty($admin_bar_mode) == 'light') {
80 $logo_image_url = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
81 } elseif (isset($admin_bar_mode) && $admin_bar_mode == 'dark') {
82 $logo_image_url = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
83 }
84 $plugin_menu_label = WP_ADMINIFY;
85 $plugin_author_name = WP_ADMINIFY_AUTHOR;
86
87 if (jltwp_adminify()->can_use_premium_code__premium_only()) {
88 if (jltwp_adminify()->is_plan('agency')) {
89 // Logo Options
90 if (!empty($saved_data['jltwp_adminify_wl_plugin_logo']['url'])) {
91 $logo_image_url = $saved_data['jltwp_adminify_wl_plugin_logo']['url'];
92 }
93
94 // Menu Label
95 if (!empty($saved_data['jltwp_adminify_wl_plugin_menu_label'])) {
96 $plugin_menu_label = $saved_data['jltwp_adminify_wl_plugin_menu_label'];
97 }
98 // Author Name
99 if (!empty($saved_data['jltwp_adminify_wl_plugin_author_name'])) {
100 $plugin_author_name = $saved_data['jltwp_adminify_wl_plugin_author_name'];
101 }
102 }
103 }
104
105
106 // WPAdminify Options
107 \ADMINIFY::createOptions($this->prefix, array(
108
109 // Framework Title
110 'framework_title' => '<img class="wp-adminify-settings-logo" src=' . $logo_image_url . '>' . ' <small>by ' . $plugin_author_name . '</small>',
111 'framework_class' => '',
112
113 // menu settings
114 'menu_title' => $plugin_menu_label,
115 'menu_slug' => 'wp-adminify-settings',
116 'menu_capability' => 'manage_options',
117 'menu_icon' => WP_ADMINIFY_ASSETS_IMAGE . 'logos/menu-icon.svg',
118 'menu_position' => 30,
119 'menu_hidden' => false,
120 'menu_parent' => 'admin.php?page=wp-adminify-settings',
121
122 // menu extras
123 'show_bar_menu' => true,
124 'show_sub_menu' => false,
125 'show_in_network' => true,
126 'show_in_customizer' => false,
127
128 'show_search' => false,
129 'show_reset_all' => true,
130 'show_reset_section' => true,
131 'show_footer' => true,
132 'show_all_options' => false,
133 'show_form_warning' => true,
134 'sticky_header' => false,
135 'save_defaults' => false,
136 'ajax_save' => true,
137
138 // admin bar menu settings
139 'admin_bar_menu_icon' => '',
140 'admin_bar_menu_priority' => 80,
141
142 // footer
143 'footer_text' => ' ',
144 'footer_after' => ' ',
145 'footer_credit' => ' ',
146
147 // database model
148 'database' => 'network', // options, transient, theme_mod, network(multisite support)
149 'transient_time' => 0,
150
151 // contextual help
152 'contextual_help' => array(),
153 'contextual_help_sidebar' => '',
154
155 // typography options
156 'enqueue_webfont' => true,
157 'async_webfont' => false,
158
159 // others
160 'output_css' => true,
161
162 // theme and wrapper classname
163 'nav' => 'normal',
164 'theme' => 'dark',
165 'class' => 'wp-adminify-settings',
166
167 // external default values
168 'defaults' => array(),
169 ));
170
171 $this->defaults = array_merge($this->defaults, (new Modules())->get_defaults());
172 $this->defaults = array_merge($this->defaults, (new General())->get_defaults());
173 $this->defaults = array_merge($this->defaults, (new Admin_Footer())->get_defaults());
174 $this->defaults = array_merge($this->defaults, (new MenuLayout())->get_defaults());
175 $this->defaults = array_merge($this->defaults, (new AdminBar())->get_defaults());
176 $this->defaults = array_merge($this->defaults, (new Tweaks())->get_defaults());
177 $this->defaults = array_merge($this->defaults, (new WidgetSettings())->get_defaults());
178 $this->defaults = array_merge($this->defaults, (new DismissNotices())->get_defaults());
179 $this->defaults = array_merge($this->defaults, (new Module_Settings())->get_defaults());
180 $this->defaults = array_merge($this->defaults, (new Assets_Manager())->get_defaults());
181 $this->defaults = array_merge($this->defaults, (new Custom_CSS_JS_Backup())->get_defaults());
182
183 if (jltwp_adminify()->can_use_premium_code__premium_only()) {
184 if (jltwp_adminify()->is_plan__premium_only('agency')) {
185 if (empty($saved_data['jltwp_adminify_wl_plugin_option'])) {
186 $this->defaults = array_merge($this->defaults, (new White_Label())->get_defaults());
187 }
188 }
189 } else {
190 $this->defaults = array_merge($this->defaults, (new White_Label())->get_defaults());
191 }
192
193
194
195 // Backup Settings
196 \ADMINIFY::createSection($this->prefix, array(
197 'title' => 'Backup',
198 'icon' => 'fas fa-shield-alt',
199 'fields' => array(
200
201 array(
202 'type' => 'subheading',
203 'content' => Utils::adminfiy_help_urls(
204 __('Backup Config Settings', WP_ADMINIFY_TD),
205 'https://wpadminify.com/kb/wp-adminify-options-panel/#adminify-backup',
206 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
207 'https://www.facebook.com/groups/jeweltheme',
208 'https://wpadminify.com/support/'
209 )
210 ),
211
212 array(
213 'type' => 'backup',
214 ),
215 )
216 ));
217 }
218 }
219 }
220