Version Description
- Improved: Hiding of Dashboard Widgets. Props to @tanohex
- Bug Fix: Fixed hiding WooCommerce Home
=
Download this release
Release Info
Developer | VideoUserManuals |
Plugin | White Label CMS |
Version | 2.3 |
Comparing to | |
See all releases |
Code changes from version 2.2.6 to 2.3
- changelog.txt +13 -0
- includes/Functions.php +8 -2
- includes/classes/Admin_Dashboard.php +102 -49
- includes/classes/Admin_Menus.php +6 -0
- includes/classes/Login.php +47 -25
- includes/classes/Previewable.php +17 -1
- includes/classes/Settings.php +2 -1
- includes/classes/Upgrade.php +46 -10
- includes/classes/Welcome_Messages/Welcome_Messages_Beaver_Builder.php +1 -1
- includes/classes/Welcome_Messages/Welcome_Messages_Elementor.php +1 -1
- includes/classes/Welcome_Messages/Welcome_Messages_Html.php +3 -3
- readme.txt +6 -5
- view/admin/parts/dashboard-default-panels.php +32 -20
- wlcms-plugin.php +2 -2
changelog.txt
CHANGED
@@ -1,5 +1,18 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 2.2.5 =
|
4 |
* Fixed WooCommerce Home issue
|
5 |
* Fixed Yoast Menu issue reported by @davidbawiec
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 2.2.9 =
|
4 |
+
* Improved: Plugin security. Thanks to Krzysztof Zając and WPScan
|
5 |
+
* Improved: Custom Dashboard for HTML wrapper justify-content
|
6 |
+
|
7 |
+
= 2.2.8 =
|
8 |
+
* Improved: Plugin security. Thanks to Erwan of WPScan
|
9 |
+
|
10 |
+
= 2.2.7 =
|
11 |
+
* Fixed Custom Welcome Dashboard Panel on WordPress 5.9
|
12 |
+
|
13 |
+
= 2.2.6 =
|
14 |
+
* Fixed WooCommerce Analytics reported by @evaldash
|
15 |
+
|
16 |
= 2.2.5 =
|
17 |
* Fixed WooCommerce Home issue
|
18 |
* Fixed Yoast Menu issue reported by @davidbawiec
|
includes/Functions.php
CHANGED
@@ -8,8 +8,14 @@ if (!function_exists('wlcms_field_setting')) {
|
|
8 |
}
|
9 |
}
|
10 |
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
}
|
15 |
|
8 |
}
|
9 |
}
|
10 |
|
11 |
+
return wlcms_db_field_setting($key, $default);
|
12 |
+
}
|
13 |
+
}
|
14 |
+
|
15 |
+
if (!function_exists('wlcms_db_field_setting')) {
|
16 |
+
function wlcms_db_field_setting($key = "", $default = false)
|
17 |
+
{
|
18 |
+
return wlcms()->Settings()->get($key, $default);
|
19 |
}
|
20 |
}
|
21 |
|
includes/classes/Admin_Dashboard.php
CHANGED
@@ -4,11 +4,6 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
4 |
{
|
5 |
|
6 |
private $is_dashboard_all_hidden;
|
7 |
-
private $is_fullwidth;
|
8 |
-
private $welcome_title;
|
9 |
-
private $welcome_show_title;
|
10 |
-
private $welcome_description;
|
11 |
-
private $welcome_content;
|
12 |
|
13 |
public function __construct()
|
14 |
{
|
@@ -66,7 +61,7 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
66 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-content > h2',
|
67 |
array(
|
68 |
'width' => '95%',
|
69 |
-
'padding' => '21px'
|
70 |
)
|
71 |
);
|
72 |
wlcms_set_css( '.wlcms-welcome-panel .wlcms-welcome-content',
|
@@ -77,7 +72,9 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
77 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-content',
|
78 |
array(
|
79 |
'max-width' => 'none!important',
|
80 |
-
'margin-left' => '0!important'
|
|
|
|
|
81 |
)
|
82 |
);
|
83 |
|
@@ -88,8 +85,40 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
88 |
)
|
89 |
);
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
wlcms_set_css( '.wlcms-welcome-panel, .wlcms-welcome-panel .welcome-panel-content', array(
|
92 |
-
|
|
|
|
|
|
|
|
|
93 |
));
|
94 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-close',
|
95 |
array(
|
@@ -97,6 +126,13 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
97 |
'right' => '0!important',
|
98 |
'background' => 'white!important',
|
99 |
'z-index' => '1000',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
)
|
101 |
);
|
102 |
}
|
@@ -150,58 +186,55 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
150 |
{
|
151 |
global $wp_meta_boxes;
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
}
|
|
|
167 |
}
|
168 |
-
|
169 |
}
|
170 |
-
endif;
|
171 |
-
return;
|
172 |
-
}
|
173 |
-
|
174 |
-
if ($this->get_settings('hide_at_a_glance')) {
|
175 |
-
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
|
176 |
-
}
|
177 |
-
|
178 |
-
if ($this->get_settings('hide_activities')) {
|
179 |
-
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
|
180 |
-
}
|
181 |
-
|
182 |
-
if ($this->get_settings('hide_recent_comments')) {
|
183 |
-
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
|
184 |
}
|
|
|
185 |
|
186 |
-
|
187 |
-
|
|
|
|
|
188 |
}
|
189 |
|
190 |
-
if ($
|
191 |
-
|
192 |
}
|
193 |
-
}
|
194 |
-
private function remove_dashboard_widget($dashboard_key = false)
|
195 |
-
{
|
196 |
-
if (!$dashboard_key) return false;
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
return !in_array($dashboard_key, $this->excluded_widgets());
|
201 |
}
|
|
|
202 |
private function excluded_widgets()
|
203 |
{
|
204 |
-
return array('wlcms_rss_box');
|
205 |
}
|
206 |
|
207 |
/**
|
@@ -293,7 +326,7 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
293 |
return;
|
294 |
}
|
295 |
|
296 |
-
wlcms_set_css('.
|
297 |
}
|
298 |
|
299 |
/**
|
@@ -440,4 +473,24 @@ class WLCMS_Admin_Dashboard extends WLCMS_Previewable
|
|
440 |
|
441 |
WLCMS_Queue('Welcome dashboard message successfully reset.');
|
442 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
}
|
4 |
{
|
5 |
|
6 |
private $is_dashboard_all_hidden;
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
public function __construct()
|
9 |
{
|
61 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-content > h2',
|
62 |
array(
|
63 |
'width' => '95%',
|
64 |
+
'padding' => '0 21px'
|
65 |
)
|
66 |
);
|
67 |
wlcms_set_css( '.wlcms-welcome-panel .wlcms-welcome-content',
|
72 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-content',
|
73 |
array(
|
74 |
'max-width' => 'none!important',
|
75 |
+
'margin-left' => '0!important',
|
76 |
+
'justify-content' => 'flex-start',
|
77 |
+
'min-height' => 'auto'
|
78 |
)
|
79 |
);
|
80 |
|
85 |
)
|
86 |
);
|
87 |
|
88 |
+
wlcms_set_css( '.wlcms-welcome-panel', array(
|
89 |
+
'position' => 'relative',
|
90 |
+
"border"=>"1px solid #c3c4c7",
|
91 |
+
"box-shadow"=>"0 1px 1px rgb(0 0 0 / 4%)",
|
92 |
+
"background"=>"#fff",
|
93 |
+
"font-size"=>"13px",
|
94 |
+
"line-height"=>"1.7",
|
95 |
+
"margin" => "16px 0"
|
96 |
+
));
|
97 |
+
|
98 |
+
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-close:before', array(
|
99 |
+
"background"=>"0 0",
|
100 |
+
"color"=>"#787c82",
|
101 |
+
"content"=>'"\f153"',
|
102 |
+
"display"=>"block",
|
103 |
+
"font"=>"normal 16px/20px dashicons",
|
104 |
+
"speak"=>"never",
|
105 |
+
"height"=>"20px",
|
106 |
+
"text-align"=>"center",
|
107 |
+
"width"=>"20px",
|
108 |
+
"-webkit-font-smoothing"=>"antialiased",
|
109 |
+
"-moz-osx-font-smoothing"=>"grayscale",
|
110 |
+
"position"=>"absolute",
|
111 |
+
"top"=>"8px",
|
112 |
+
"left"=>"0",
|
113 |
+
"transition"=>"all .1s ease-in-out",
|
114 |
+
));
|
115 |
+
|
116 |
wlcms_set_css( '.wlcms-welcome-panel, .wlcms-welcome-panel .welcome-panel-content', array(
|
117 |
+
'padding' => '0!important',
|
118 |
+
));
|
119 |
+
|
120 |
+
wlcms_set_css( '.wlcms-welcome-panel a', array(
|
121 |
+
"color"=>"#2271b1",
|
122 |
));
|
123 |
wlcms_set_css( '.wlcms-welcome-panel .welcome-panel-close',
|
124 |
array(
|
126 |
'right' => '0!important',
|
127 |
'background' => 'white!important',
|
128 |
'z-index' => '1000',
|
129 |
+
"position"=>"absolute",
|
130 |
+
"top"=>"0",
|
131 |
+
"right"=>"0",
|
132 |
+
"padding"=>"10px 15px 10px 24px",
|
133 |
+
"font-size"=>"13px",
|
134 |
+
"line-height"=>"1.23076923",
|
135 |
+
"text-decoration"=>"none"
|
136 |
)
|
137 |
);
|
138 |
}
|
186 |
{
|
187 |
global $wp_meta_boxes;
|
188 |
|
189 |
+
$wlcms_widgets = $this->get_settings('dashboard_widgets');
|
190 |
+
|
191 |
+
if (!(isset($wp_meta_boxes['dashboard']) && is_array($wp_meta_boxes['dashboard']))) {
|
192 |
+
return;
|
193 |
+
}
|
194 |
+
|
195 |
+
foreach ($wp_meta_boxes['dashboard'] as $section_key => $section) {
|
196 |
+
if (!is_array($section)) {
|
197 |
+
continue;
|
198 |
+
}
|
199 |
+
foreach ( $section as $position_key => $position ) {
|
200 |
+
if (!is_array($position)) {
|
201 |
+
continue;
|
202 |
+
}
|
203 |
+
foreach ( $position as $widget_id => $widget ) {
|
204 |
+
if ($this->is_wlcms_widget($widget_id)) {
|
205 |
+
continue;
|
206 |
+
}elseif (!$this->is_dashboard_all_hidden()) {
|
207 |
+
if($wlcms_widgets && is_array($wlcms_widgets) && count($wlcms_widgets) > 0){
|
208 |
+
if (!in_array($widget_id, $wlcms_widgets)) {
|
209 |
+
continue;
|
210 |
+
}
|
211 |
+
} else {
|
212 |
+
continue;
|
213 |
+
}
|
214 |
}
|
215 |
+
unset($wp_meta_boxes['dashboard'][$section_key][$position_key][$widget_id]);
|
216 |
}
|
217 |
+
|
218 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
+
}
|
221 |
|
222 |
+
private function is_wlcms_widget($dashboard_key = false)
|
223 |
+
{
|
224 |
+
if (!$dashboard_key){
|
225 |
+
return false;
|
226 |
}
|
227 |
|
228 |
+
if (strpos($dashboard_key, 'custom_vum_widget') !== false) {
|
229 |
+
return true;
|
230 |
}
|
|
|
|
|
|
|
|
|
231 |
|
232 |
+
return in_array($dashboard_key, $this->excluded_widgets());
|
|
|
|
|
233 |
}
|
234 |
+
|
235 |
private function excluded_widgets()
|
236 |
{
|
237 |
+
return apply_filters('wlcms_exclude_dashboard_metaboxes', array('wlcms_rss_box'));
|
238 |
}
|
239 |
|
240 |
/**
|
326 |
return;
|
327 |
}
|
328 |
|
329 |
+
wlcms_set_css('body.index-php #dashboard-widgets .postbox-container .empty-container', array('border' => '0', 'visibility' => 'hidden'));
|
330 |
}
|
331 |
|
332 |
/**
|
473 |
|
474 |
WLCMS_Queue('Welcome dashboard message successfully reset.');
|
475 |
}
|
476 |
+
|
477 |
+
public function widgets()
|
478 |
+
{
|
479 |
+
global $wp_meta_boxes;
|
480 |
+
|
481 |
+
if (isset( $wp_meta_boxes['dashboard'] ) && is_array( $wp_meta_boxes['dashboard'])) {
|
482 |
+
return $wp_meta_boxes['dashboard'];
|
483 |
+
}
|
484 |
+
|
485 |
+
require_once ABSPATH . '/wp-admin/includes/dashboard.php';
|
486 |
+
|
487 |
+
set_current_screen( 'dashboard' );
|
488 |
+
//remove wlcms hook
|
489 |
+
remove_action('wp_dashboard_setup', array($this, 'dashboard_setup'), 999);
|
490 |
+
wp_dashboard_setup();
|
491 |
+
//re-apply wlcms hook
|
492 |
+
add_action('wp_dashboard_setup', array($this, 'dashboard_setup'), 999);
|
493 |
+
set_current_screen( get_current_screen() );
|
494 |
+
return $wp_meta_boxes['dashboard'];
|
495 |
+
}
|
496 |
}
|
includes/classes/Admin_Menus.php
CHANGED
@@ -388,6 +388,7 @@ class WLCMS_Admin_Menus
|
|
388 |
{
|
389 |
global $submenu;
|
390 |
|
|
|
391 |
if (!isset($submenu) || !$this->hide_woo_home) {
|
392 |
return false;
|
393 |
}
|
@@ -404,9 +405,14 @@ class WLCMS_Admin_Menus
|
|
404 |
if($count == 0) {
|
405 |
wlcms_set_hidden_css('li.toplevel_page_woocommerce');
|
406 |
}
|
|
|
407 |
|
408 |
$submenu['woocommerce'] = array_values($submenu['woocommerce']);
|
|
|
|
|
409 |
$submenu['woocommerce'][$count] = $home;
|
|
|
|
|
410 |
}
|
411 |
|
412 |
public function fix_yoast($sub)
|
388 |
{
|
389 |
global $submenu;
|
390 |
|
391 |
+
|
392 |
if (!isset($submenu) || !$this->hide_woo_home) {
|
393 |
return false;
|
394 |
}
|
405 |
if($count == 0) {
|
406 |
wlcms_set_hidden_css('li.toplevel_page_woocommerce');
|
407 |
}
|
408 |
+
|
409 |
|
410 |
$submenu['woocommerce'] = array_values($submenu['woocommerce']);
|
411 |
+
$home[0] = '';
|
412 |
+
$home[3] = '';
|
413 |
$submenu['woocommerce'][$count] = $home;
|
414 |
+
|
415 |
+
wlcms_set_hidden_css('li.toplevel_page_woocommerce li > a:empty');
|
416 |
}
|
417 |
|
418 |
public function fix_yoast($sub)
|
includes/classes/Login.php
CHANGED
@@ -9,6 +9,7 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
9 |
$this->check_preview();
|
10 |
|
11 |
add_action('login_footer', array($this, 'scripts'), 1000);
|
|
|
12 |
|
13 |
add_action('wlcms_before_save_preview', array($this, 'save_preview_login'), 10, 2);
|
14 |
add_action('wlcms_save_addtional_settings', array($this, 'save_preview_login'), 10, 2);
|
@@ -19,6 +20,26 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
19 |
add_filter('wlcms_setting_fields', array($this, 'setting_fields'), 11, 1);
|
20 |
}
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
public function save_preview_login($setting, $placeholder)
|
23 |
{
|
24 |
// ignore if it has width or height request
|
@@ -72,7 +93,7 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
72 |
private function get_js()
|
73 |
{
|
74 |
$js = 'jQuery("#login").wrap("<div id=\'wlcms-login-wrapper\'></div>");';
|
75 |
-
if ($this->
|
76 |
$js .= ';jQuery(\'#login h1 a\').attr(\'title\',\'' . get_bloginfo('name') . '\');jQuery(\'#login h1 a\').attr(\'href\',\'' . get_bloginfo('url') . '\');';
|
77 |
}
|
78 |
return $js;
|
@@ -81,12 +102,12 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
81 |
private function set_logo_css()
|
82 |
{
|
83 |
$logo_css = '#login h1 a, .login h1 a { ';
|
84 |
-
if ($login_logo = $this->
|
85 |
$logo_css .= 'background-image: url(' . $login_logo . ');';
|
86 |
}
|
87 |
|
88 |
$has_width = false;
|
89 |
-
if ($logo_width = $this->
|
90 |
$logo_css .= 'width:' . wlcms_css_metrics($logo_width) . ';';
|
91 |
$has_width = true;
|
92 |
} else {
|
@@ -97,7 +118,7 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
97 |
$logo_css .= 'max-width:100%;';
|
98 |
|
99 |
$has_height = false;
|
100 |
-
if ($logo_height = $this->
|
101 |
$has_height = true;
|
102 |
$logo_css .= 'height:' . wlcms_css_metrics($logo_height) . ';';
|
103 |
}
|
@@ -109,13 +130,13 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
109 |
}
|
110 |
$logo_css .= $logo_css_background_size;
|
111 |
|
112 |
-
if ($logo_bottom_margin = $this->
|
113 |
$logo_css .= 'margin-bottom: ' . $logo_bottom_margin . 'px!important;';
|
114 |
}
|
115 |
|
116 |
$logo_css .= '}'; // close #login h1 a, .login h1 a
|
117 |
|
118 |
-
if ($retina_login_logo = $this->
|
119 |
$logo_css .= '@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
120 |
#login h1 a, .login h1 a { background-image: url(' . $retina_login_logo . ');}
|
121 |
}';
|
@@ -129,26 +150,26 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
129 |
{
|
130 |
$body_login = 'body.login{';
|
131 |
|
132 |
-
if ($this->
|
133 |
$body_login .= '-webkit-background-size: cover !important;';
|
134 |
$body_login .= '-moz-background-size: cover !important;';
|
135 |
$body_login .= '-o-background-size: cover !important;';
|
136 |
$body_login .= 'background-size: cover !important;';
|
137 |
}
|
138 |
|
139 |
-
if ($background_color = $this->
|
140 |
$body_login .= 'background-color:' . $background_color . '!important;';
|
141 |
}
|
142 |
|
143 |
-
if ($background_image = $this->
|
144 |
$body_login .= 'background-image: url(' . $background_image . ');';
|
145 |
}
|
146 |
|
147 |
-
if ($background_positions = $this->
|
148 |
$body_login .= 'background-position:' . $background_positions . ';';
|
149 |
}
|
150 |
|
151 |
-
if ($background_repeat = $this->
|
152 |
$body_login .= 'background-repeat:' . $background_repeat . ';';
|
153 |
}
|
154 |
|
@@ -161,19 +182,19 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
161 |
{
|
162 |
$form_css = '';
|
163 |
|
164 |
-
if ($form_label_color = $this->
|
165 |
$form_css .= '#loginform label{ color:' . $form_label_color . '}';
|
166 |
}
|
167 |
|
168 |
-
if ($form_background_color = $this->
|
169 |
$form_css .= '#loginform{ background-color:' . $form_background_color . '}';
|
170 |
}
|
171 |
|
172 |
/**
|
173 |
* Submit Button css
|
174 |
*/
|
175 |
-
$form_button_text_color = $this->
|
176 |
-
$form_button_color = $this->
|
177 |
|
178 |
if ($form_button_text_color || $form_button_color) {
|
179 |
$form_css .= '#loginform input[type=submit],#loginform .submit input[type=button]{ ';
|
@@ -194,8 +215,8 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
194 |
/**
|
195 |
* Submit Button Hover
|
196 |
*/
|
197 |
-
$form_button_text_hover_color = $this->
|
198 |
-
$form_button_hover_color = $this->
|
199 |
|
200 |
if ($form_button_hover_color || $form_button_text_hover_color) {
|
201 |
$form_css .= '#loginform input[type=submit]:hover,#loginform .submit input[type=button]:hover{ ';
|
@@ -216,27 +237,27 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
216 |
private function set_links_css()
|
217 |
{
|
218 |
$form_css = '';
|
219 |
-
if ($this->
|
220 |
$form_css .= 'p#nav{display:none;}';
|
221 |
}
|
222 |
|
223 |
-
if ($this->
|
224 |
$form_css .= 'p#backtoblog{display:none;}';
|
225 |
}
|
226 |
|
227 |
-
if ($back_to_register_link_color = $this->
|
228 |
$form_css .= 'p#backtoblog a, p#nav a{color:' . $back_to_register_link_color . '!important;}';
|
229 |
}
|
230 |
|
231 |
-
if ($back_to_register_link_hover_color = $this->
|
232 |
$form_css .= 'p#backtoblog a:hover, p#nav a:hover{color:' . $back_to_register_link_hover_color . '!important;}';
|
233 |
}
|
234 |
|
235 |
-
if ($privacy_policy_link_color = $this->
|
236 |
$form_css .= 'a.privacy-policy-link{color:' . $privacy_policy_link_color . '!important;text-decoration:none}';
|
237 |
}
|
238 |
|
239 |
-
if ($privacy_policy_link_hover_color = $this->
|
240 |
$form_css .= 'a.privacy-policy-link:hover{color:' . $privacy_policy_link_hover_color . '!important;}';
|
241 |
}
|
242 |
|
@@ -245,7 +266,7 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
245 |
|
246 |
private function set_custom_css()
|
247 |
{
|
248 |
-
$content = $this->
|
249 |
|
250 |
$content = wp_kses( $content, array( '\'', '\"' ) );
|
251 |
$content = str_replace( '>', '>', $content );
|
@@ -254,8 +275,9 @@ class WLCMS_Login extends WLCMS_Previewable
|
|
254 |
|
255 |
private function set_custom_login_js()
|
256 |
{
|
257 |
-
return wlcms_esc_html_e($this->
|
258 |
}
|
|
|
259 |
public function settings()
|
260 |
{
|
261 |
if ($this->saving_preview_section() == 'wizard') {
|
9 |
$this->check_preview();
|
10 |
|
11 |
add_action('login_footer', array($this, 'scripts'), 1000);
|
12 |
+
add_action('init', array($this, 'preview_init'));
|
13 |
|
14 |
add_action('wlcms_before_save_preview', array($this, 'save_preview_login'), 10, 2);
|
15 |
add_action('wlcms_save_addtional_settings', array($this, 'save_preview_login'), 10, 2);
|
20 |
add_filter('wlcms_setting_fields', array($this, 'setting_fields'), 11, 1);
|
21 |
}
|
22 |
|
23 |
+
|
24 |
+
public function preview_init()
|
25 |
+
{
|
26 |
+
|
27 |
+
if (!isset($_GET['wlcms-action'])) {
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
if ($_GET['wlcms-action'] != 'preview') {
|
32 |
+
return;
|
33 |
+
}
|
34 |
+
|
35 |
+
if (current_user_can('manage_options')) {
|
36 |
+
return;
|
37 |
+
}
|
38 |
+
|
39 |
+
wp_die( __( 'Sorry, you are not allowed to do this action.' ) );
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
public function save_preview_login($setting, $placeholder)
|
44 |
{
|
45 |
// ignore if it has width or height request
|
93 |
private function get_js()
|
94 |
{
|
95 |
$js = 'jQuery("#login").wrap("<div id=\'wlcms-login-wrapper\'></div>");';
|
96 |
+
if ($this->get_db_setting('login_logo')) {
|
97 |
$js .= ';jQuery(\'#login h1 a\').attr(\'title\',\'' . get_bloginfo('name') . '\');jQuery(\'#login h1 a\').attr(\'href\',\'' . get_bloginfo('url') . '\');';
|
98 |
}
|
99 |
return $js;
|
102 |
private function set_logo_css()
|
103 |
{
|
104 |
$logo_css = '#login h1 a, .login h1 a { ';
|
105 |
+
if ($login_logo = $this->get_db_setting('login_logo')) {
|
106 |
$logo_css .= 'background-image: url(' . $login_logo . ');';
|
107 |
}
|
108 |
|
109 |
$has_width = false;
|
110 |
+
if ($logo_width = $this->get_db_setting('logo_width')) {
|
111 |
$logo_css .= 'width:' . wlcms_css_metrics($logo_width) . ';';
|
112 |
$has_width = true;
|
113 |
} else {
|
118 |
$logo_css .= 'max-width:100%;';
|
119 |
|
120 |
$has_height = false;
|
121 |
+
if ($logo_height = $this->get_db_setting('logo_height')) {
|
122 |
$has_height = true;
|
123 |
$logo_css .= 'height:' . wlcms_css_metrics($logo_height) . ';';
|
124 |
}
|
130 |
}
|
131 |
$logo_css .= $logo_css_background_size;
|
132 |
|
133 |
+
if ($logo_bottom_margin = $this->get_db_setting('logo_bottom_margin')) {
|
134 |
$logo_css .= 'margin-bottom: ' . $logo_bottom_margin . 'px!important;';
|
135 |
}
|
136 |
|
137 |
$logo_css .= '}'; // close #login h1 a, .login h1 a
|
138 |
|
139 |
+
if ($retina_login_logo = $this->get_db_setting('retina_login_logo')) {
|
140 |
$logo_css .= '@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
141 |
#login h1 a, .login h1 a { background-image: url(' . $retina_login_logo . ');}
|
142 |
}';
|
150 |
{
|
151 |
$body_login = 'body.login{';
|
152 |
|
153 |
+
if ($this->get_db_setting('full_screen_background_image')) {
|
154 |
$body_login .= '-webkit-background-size: cover !important;';
|
155 |
$body_login .= '-moz-background-size: cover !important;';
|
156 |
$body_login .= '-o-background-size: cover !important;';
|
157 |
$body_login .= 'background-size: cover !important;';
|
158 |
}
|
159 |
|
160 |
+
if ($background_color = $this->get_db_setting('background_color')) {
|
161 |
$body_login .= 'background-color:' . $background_color . '!important;';
|
162 |
}
|
163 |
|
164 |
+
if ($background_image = $this->get_db_setting('background_image')) {
|
165 |
$body_login .= 'background-image: url(' . $background_image . ');';
|
166 |
}
|
167 |
|
168 |
+
if ($background_positions = $this->get_db_setting('background_positions')) {
|
169 |
$body_login .= 'background-position:' . $background_positions . ';';
|
170 |
}
|
171 |
|
172 |
+
if ($background_repeat = $this->get_db_setting('background_repeat')) {
|
173 |
$body_login .= 'background-repeat:' . $background_repeat . ';';
|
174 |
}
|
175 |
|
182 |
{
|
183 |
$form_css = '';
|
184 |
|
185 |
+
if ($form_label_color = $this->get_db_setting('form_label_color')) {
|
186 |
$form_css .= '#loginform label{ color:' . $form_label_color . '}';
|
187 |
}
|
188 |
|
189 |
+
if ($form_background_color = $this->get_db_setting('form_background_color')) {
|
190 |
$form_css .= '#loginform{ background-color:' . $form_background_color . '}';
|
191 |
}
|
192 |
|
193 |
/**
|
194 |
* Submit Button css
|
195 |
*/
|
196 |
+
$form_button_text_color = $this->get_db_setting('form_button_text_color');
|
197 |
+
$form_button_color = $this->get_db_setting('form_button_color');
|
198 |
|
199 |
if ($form_button_text_color || $form_button_color) {
|
200 |
$form_css .= '#loginform input[type=submit],#loginform .submit input[type=button]{ ';
|
215 |
/**
|
216 |
* Submit Button Hover
|
217 |
*/
|
218 |
+
$form_button_text_hover_color = $this->get_db_setting('form_button_text_hover_color');
|
219 |
+
$form_button_hover_color = $this->get_db_setting('form_button_hover_color');
|
220 |
|
221 |
if ($form_button_hover_color || $form_button_text_hover_color) {
|
222 |
$form_css .= '#loginform input[type=submit]:hover,#loginform .submit input[type=button]:hover{ ';
|
237 |
private function set_links_css()
|
238 |
{
|
239 |
$form_css = '';
|
240 |
+
if ($this->get_db_setting('hide_register_lost_password')) {
|
241 |
$form_css .= 'p#nav{display:none;}';
|
242 |
}
|
243 |
|
244 |
+
if ($this->get_db_setting('hide_back_to_link')) {
|
245 |
$form_css .= 'p#backtoblog{display:none;}';
|
246 |
}
|
247 |
|
248 |
+
if ($back_to_register_link_color = $this->get_db_setting('back_to_register_link_color')) {
|
249 |
$form_css .= 'p#backtoblog a, p#nav a{color:' . $back_to_register_link_color . '!important;}';
|
250 |
}
|
251 |
|
252 |
+
if ($back_to_register_link_hover_color = $this->get_db_setting('back_to_register_link_hover_color')) {
|
253 |
$form_css .= 'p#backtoblog a:hover, p#nav a:hover{color:' . $back_to_register_link_hover_color . '!important;}';
|
254 |
}
|
255 |
|
256 |
+
if ($privacy_policy_link_color = $this->get_db_setting('privacy_policy_link_color')) {
|
257 |
$form_css .= 'a.privacy-policy-link{color:' . $privacy_policy_link_color . '!important;text-decoration:none}';
|
258 |
}
|
259 |
|
260 |
+
if ($privacy_policy_link_hover_color = $this->get_db_setting('privacy_policy_link_hover_color')) {
|
261 |
$form_css .= 'a.privacy-policy-link:hover{color:' . $privacy_policy_link_hover_color . '!important;}';
|
262 |
}
|
263 |
|
266 |
|
267 |
private function set_custom_css()
|
268 |
{
|
269 |
+
$content = $this->get_db_setting('login_custom_css');
|
270 |
|
271 |
$content = wp_kses( $content, array( '\'', '\"' ) );
|
272 |
$content = str_replace( '>', '>', $content );
|
275 |
|
276 |
private function set_custom_login_js()
|
277 |
{
|
278 |
+
return wlcms_esc_html_e($this->get_db_setting('login_custom_js'));
|
279 |
}
|
280 |
+
|
281 |
public function settings()
|
282 |
{
|
283 |
if ($this->saving_preview_section() == 'wizard') {
|
includes/classes/Previewable.php
CHANGED
@@ -55,13 +55,29 @@ class WLCMS_Previewable
|
|
55 |
return $this->preview_section;
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
58 |
public function get_settings($key)
|
59 |
{
|
60 |
// Prepend "_" placeholder if in preview mode to get the preview login settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
if ($this->is_preview) {
|
62 |
$key = $this->preview_setting_key_placeholder . $key;
|
63 |
}
|
|
|
|
|
|
|
64 |
|
65 |
-
|
|
|
|
|
66 |
}
|
67 |
}
|
55 |
return $this->preview_section;
|
56 |
}
|
57 |
|
58 |
+
public function settings() {
|
59 |
+
return [];
|
60 |
+
}
|
61 |
+
|
62 |
public function get_settings($key)
|
63 |
{
|
64 |
// Prepend "_" placeholder if in preview mode to get the preview login settings
|
65 |
+
$key = $this->setting_key($key);
|
66 |
+
|
67 |
+
return wlcms_field_setting($key);
|
68 |
+
}
|
69 |
+
|
70 |
+
public function setting_key($key)
|
71 |
+
{
|
72 |
if ($this->is_preview) {
|
73 |
$key = $this->preview_setting_key_placeholder . $key;
|
74 |
}
|
75 |
+
|
76 |
+
return $key;
|
77 |
+
}
|
78 |
|
79 |
+
public function get_db_setting($key)
|
80 |
+
{
|
81 |
+
return wlcms_db_field_setting($this->setting_key($key));
|
82 |
}
|
83 |
}
|
includes/classes/Settings.php
CHANGED
@@ -310,7 +310,7 @@ class WLCMS_Settings
|
|
310 |
$settings = $this->default_options();
|
311 |
return isset($settings[$key]) ? $settings[$key] : null;
|
312 |
}
|
313 |
-
|
314 |
public function default_options()
|
315 |
{
|
316 |
|
@@ -342,6 +342,7 @@ class WLCMS_Settings
|
|
342 |
'dashboard_title' => 'Dashboard',
|
343 |
'dashboard_role_stat' => false,
|
344 |
'dashboard_widgets_visibility_roles' => array('administrator', 'editor', 'author', 'contributor', 'subscriber'),
|
|
|
345 |
'hide_all_dashboard_panels' => false,
|
346 |
'hide_at_a_glance' => false,
|
347 |
'hide_activities' => false,
|
310 |
$settings = $this->default_options();
|
311 |
return isset($settings[$key]) ? $settings[$key] : null;
|
312 |
}
|
313 |
+
|
314 |
public function default_options()
|
315 |
{
|
316 |
|
342 |
'dashboard_title' => 'Dashboard',
|
343 |
'dashboard_role_stat' => false,
|
344 |
'dashboard_widgets_visibility_roles' => array('administrator', 'editor', 'author', 'contributor', 'subscriber'),
|
345 |
+
'dashboard_widgets' => array(),
|
346 |
'hide_all_dashboard_panels' => false,
|
347 |
'hide_at_a_glance' => false,
|
348 |
'hide_activities' => false,
|
includes/classes/Upgrade.php
CHANGED
@@ -19,7 +19,51 @@ class WLCMS_Upgrades
|
|
19 |
global $wpdb;
|
20 |
|
21 |
$this->settings = wlcms()->Settings();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
23 |
$legacy_version = get_option('wlcms_o_ver', false);
|
24 |
|
25 |
if (!$legacy_version) {
|
@@ -27,6 +71,8 @@ class WLCMS_Upgrades
|
|
27 |
}
|
28 |
|
29 |
$new_wlcms_options = get_option('wlcms_options', false);
|
|
|
|
|
30 |
if ($legacy_version && $new_wlcms_options) {
|
31 |
return;
|
32 |
}
|
@@ -217,16 +263,6 @@ class WLCMS_Upgrades
|
|
217 |
$url = 'themes.php';
|
218 |
$count_sub_menus = 0;
|
219 |
|
220 |
-
/*
|
221 |
-
'wlcms_o_hide_links', //////
|
222 |
-
'wlcms_o_subtemplate_hide_16', = Hide Header
|
223 |
-
'wlcms_o_subtemplate_hide_15', = Hide Header
|
224 |
-
'wlcms_o_subtemplate_hide_10', = Hide Menus
|
225 |
-
'wlcms_o_subtemplate_hide_7', = Hide Widgets
|
226 |
-
'wlcms_o_subtemplate_hide_6', = Hide Customize
|
227 |
-
'wlcms_o_subtemplate_hide_5', = Hide Themes
|
228 |
-
*/
|
229 |
-
|
230 |
$theme_subs = array(
|
231 |
'wlcms_o_subtemplate_hide_16' => 'custom-header',
|
232 |
'wlcms_o_subtemplate_hide_15' => 'customize-php038autofocus%5bcontrol%5dheader_image',
|
19 |
global $wpdb;
|
20 |
|
21 |
$this->settings = wlcms()->Settings();
|
22 |
+
|
23 |
+
if (version_compare($this->settings->get('version'), '2.3', '<')) {
|
24 |
+
$this->process_upgrade_settings_dashboard();
|
25 |
+
}
|
26 |
+
|
27 |
+
|
28 |
+
$this->process_legacy();
|
29 |
+
}
|
30 |
+
public function process_upgrade_settings_dashboard()
|
31 |
+
{
|
32 |
+
$widgets = [];
|
33 |
+
|
34 |
+
if ($this->settings->get('hide_at_a_glance') || $this->settings->get('hide_all_dashboard_panels')) {
|
35 |
+
$widgets[] = 'dashboard_right_now';
|
36 |
+
$this->settings->remove('hide_at_a_glance');
|
37 |
+
}
|
38 |
+
|
39 |
+
if ($this->settings->get('hide_activities') || $this->settings->get('hide_all_dashboard_panels')) {
|
40 |
+
$widgets[] = 'dashboard_activity';
|
41 |
+
$this->settings->remove('hide_activities');
|
42 |
+
}
|
43 |
+
|
44 |
+
if ($this->settings->get('hide_recent_comments') || $this->settings->get('hide_all_dashboard_panels')) {
|
45 |
+
$widgets[] = 'dashboard_recent_comments';
|
46 |
+
$this->settings->remove('hide_recent_comments');
|
47 |
+
}
|
48 |
+
|
49 |
+
if ($this->settings->get('hide_news_and_events') || $this->settings->get('hide_all_dashboard_panels')) {
|
50 |
+
$widgets[] = 'dashboard_primary';
|
51 |
+
$this->settings->remove('hide_news_and_events');
|
52 |
+
}
|
53 |
+
|
54 |
+
if ($this->settings->get('hide_quick_press')) {
|
55 |
+
$widgets[] = 'dashboard_quick_press';
|
56 |
+
$this->settings->remove('hide_quick_press');
|
57 |
+
}
|
58 |
+
$this->settings->set('dashboard_widgets', $widgets);
|
59 |
+
$this->settings->set('version', WLCMS_VERSION);
|
60 |
+
$this->settings->save();
|
61 |
+
|
62 |
+
}
|
63 |
|
64 |
+
public function process_legacy()
|
65 |
+
{
|
66 |
+
global $wpdb;
|
67 |
$legacy_version = get_option('wlcms_o_ver', false);
|
68 |
|
69 |
if (!$legacy_version) {
|
71 |
}
|
72 |
|
73 |
$new_wlcms_options = get_option('wlcms_options', false);
|
74 |
+
|
75 |
+
|
76 |
if ($legacy_version && $new_wlcms_options) {
|
77 |
return;
|
78 |
}
|
263 |
$url = 'themes.php';
|
264 |
$count_sub_menus = 0;
|
265 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
$theme_subs = array(
|
267 |
'wlcms_o_subtemplate_hide_16' => 'custom-header',
|
268 |
'wlcms_o_subtemplate_hide_15' => 'customize-php038autofocus%5bcontrol%5dheader_image',
|
includes/classes/Welcome_Messages/Welcome_Messages_Beaver_Builder.php
CHANGED
@@ -23,7 +23,7 @@ class Welcome_Messages_Beaver_Builder
|
|
23 |
public function welcome_panel()
|
24 |
{
|
25 |
?>
|
26 |
-
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="
|
27 |
<?php
|
28 |
if(isset($this->settings['dismissible'])):
|
29 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
23 |
public function welcome_panel()
|
24 |
{
|
25 |
?>
|
26 |
+
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="wlcms-welcome-panel" style="display:none">
|
27 |
<?php
|
28 |
if(isset($this->settings['dismissible'])):
|
29 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
includes/classes/Welcome_Messages/Welcome_Messages_Elementor.php
CHANGED
@@ -18,7 +18,7 @@ class Welcome_Messages_Elementor
|
|
18 |
$has_dismissable = isset($this->settings['dismissible']);
|
19 |
$is_show_title = isset($this->settings['page_id_elementor']) && isset($this->settings['show_title']);
|
20 |
?>
|
21 |
-
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="
|
22 |
<?php
|
23 |
if($has_dismissable):
|
24 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
18 |
$has_dismissable = isset($this->settings['dismissible']);
|
19 |
$is_show_title = isset($this->settings['page_id_elementor']) && isset($this->settings['show_title']);
|
20 |
?>
|
21 |
+
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="wlcms-welcome-panel" style="display:none">
|
22 |
<?php
|
23 |
if($has_dismissable):
|
24 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
includes/classes/Welcome_Messages/Welcome_Messages_Html.php
CHANGED
@@ -15,7 +15,7 @@ class Welcome_Messages_Html
|
|
15 |
}
|
16 |
|
17 |
wp_add_dashboard_widget(
|
18 |
-
'
|
19 |
isset($this->settings['title']) ? $this->settings['title'] : ' ',
|
20 |
array($this, 'welcome_description'),
|
21 |
null,
|
@@ -30,7 +30,7 @@ class Welcome_Messages_Html
|
|
30 |
|
31 |
public function welcome_panel()
|
32 |
{?>
|
33 |
-
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="
|
34 |
<?php
|
35 |
if(isset($this->settings['dismissible'])):
|
36 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
@@ -51,6 +51,6 @@ class Welcome_Messages_Html
|
|
51 |
|
52 |
public function template()
|
53 |
{
|
54 |
-
return isset($this->settings['description']) ? $this->settings['description'] : '';
|
55 |
}
|
56 |
}
|
15 |
}
|
16 |
|
17 |
wp_add_dashboard_widget(
|
18 |
+
'custom_vum_widget' . $key,
|
19 |
isset($this->settings['title']) ? $this->settings['title'] : ' ',
|
20 |
array($this, 'welcome_description'),
|
21 |
null,
|
30 |
|
31 |
public function welcome_panel()
|
32 |
{?>
|
33 |
+
<div id="welcome-panel<?php echo $this->key?>" data-welcome_key="<?php echo $this->key?>" class="wlcms-welcome-panel">
|
34 |
<?php
|
35 |
if(isset($this->settings['dismissible'])):
|
36 |
?><a class="welcome-panel-close" href="#" aria-label="Dismiss the welcome panel">Dismiss</a>
|
51 |
|
52 |
public function template()
|
53 |
{
|
54 |
+
return isset($this->settings['description']) ? wpautop($this->settings['description']) : '';
|
55 |
}
|
56 |
}
|
readme.txt
CHANGED
@@ -4,12 +4,12 @@ Contributors: VideoUserManuals
|
|
4 |
Plugin Name: White Label CMS
|
5 |
Plugin URI: https://www.videousermanuals.com/white-label-cms/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
6 |
Tags: cms, custom, admin, branding, dashboard, administration, plugin, login, client, menu, navigation, appearance, menus, widgets, custom login, custom login logo, custom wp-login, login customizer, wp login
|
7 |
-
Author URI:
|
8 |
Author: Video User Manuals
|
9 |
Requires at least: 3.3
|
10 |
Requires PHP: 5.4
|
11 |
-
Tested up to:
|
12 |
-
Stable tag: 2.
|
13 |
|
14 |
Customise dashboard panels and branding, hide menus plus lots more.
|
15 |
|
@@ -66,8 +66,9 @@ There is so much that you can do with White Label CMS, but we want the experienc
|
|
66 |
|
67 |
== Changelog ==
|
68 |
|
69 |
-
= 2.
|
70 |
-
*
|
|
|
71 |
|
72 |
== Frequently Asked Questions ==
|
73 |
= Who is this plugin for?=
|
4 |
Plugin Name: White Label CMS
|
5 |
Plugin URI: https://www.videousermanuals.com/white-label-cms/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
6 |
Tags: cms, custom, admin, branding, dashboard, administration, plugin, login, client, menu, navigation, appearance, menus, widgets, custom login, custom login logo, custom wp-login, login customizer, wp login
|
7 |
+
Author URI: https://www.videousermanuals.com/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
8 |
Author: Video User Manuals
|
9 |
Requires at least: 3.3
|
10 |
Requires PHP: 5.4
|
11 |
+
Tested up to: 6.0
|
12 |
+
Stable tag: 2.3
|
13 |
|
14 |
Customise dashboard panels and branding, hide menus plus lots more.
|
15 |
|
66 |
|
67 |
== Changelog ==
|
68 |
|
69 |
+
= 2.3 =
|
70 |
+
* Improved: Hiding of Dashboard Widgets. Props to @tanohex
|
71 |
+
* Bug Fix: Fixed hiding WooCommerce Home
|
72 |
|
73 |
== Frequently Asked Questions ==
|
74 |
= Who is this plugin for?=
|
view/admin/parts/dashboard-default-panels.php
CHANGED
@@ -2,6 +2,10 @@
|
|
2 |
$default_settings = wlcms()->Settings()->get_default_option('dashboard_widgets_visibility_roles');
|
3 |
$dashboard_role_stat = wlcms_field_setting('dashboard_role_stat');
|
4 |
$dashboard_widgets_visibility_roles = wlcms_field_setting('dashboard_widgets_visibility_roles');
|
|
|
|
|
|
|
|
|
5 |
if( ! $dashboard_role_stat) {
|
6 |
$dashboard_widgets_visibility_roles = $default_settings;
|
7 |
}
|
@@ -38,26 +42,34 @@ if( ! $dashboard_role_stat) {
|
|
38 |
<?php _e('This will hide all the WordPress default dashboard panels. Or you can specify which panels should appear.', 'white-label-cms') ?>
|
39 |
</div>
|
40 |
<ul class="sub-fields">
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
<li>
|
62 |
<input class="wlcms-toggle wlcms-toggle-light" id="remove_empty_dash_panel" name="remove_empty_dash_panel" value="1" type="checkbox" <?php checked(wlcms_field_setting('remove_empty_dash_panel'), 1, true) ?>/>
|
63 |
<label class="wlcms-toggle-btn" for="remove_empty_dash_panel"></label><label class="toggle-label" for="remove_empty_dash_panel"><?php _e('Remove Empty Dashboard Panel', 'white-label-cms')?></label>
|
2 |
$default_settings = wlcms()->Settings()->get_default_option('dashboard_widgets_visibility_roles');
|
3 |
$dashboard_role_stat = wlcms_field_setting('dashboard_role_stat');
|
4 |
$dashboard_widgets_visibility_roles = wlcms_field_setting('dashboard_widgets_visibility_roles');
|
5 |
+
$dashboard_widget = wlcms_field_setting('dashboard_widgets');
|
6 |
+
|
7 |
+
$widgets = wlcms()->Admin_Dashboard()->widgets();
|
8 |
+
|
9 |
if( ! $dashboard_role_stat) {
|
10 |
$dashboard_widgets_visibility_roles = $default_settings;
|
11 |
}
|
42 |
<?php _e('This will hide all the WordPress default dashboard panels. Or you can specify which panels should appear.', 'white-label-cms') ?>
|
43 |
</div>
|
44 |
<ul class="sub-fields">
|
45 |
+
<?php
|
46 |
+
if (is_array($widgets)) {
|
47 |
+
foreach ( $widgets as $context => $section ) {
|
48 |
+
if (is_array($section)) {
|
49 |
+
foreach ( $section as $position ) {
|
50 |
+
if (is_array($position)) {
|
51 |
+
foreach ( $position as $widget_id => $widget ) {
|
52 |
+
if (false !== $widget && strpos($widget_id, 'custom_vum_widget') === false) {
|
53 |
+
$selected = false;
|
54 |
+
if(wlcms_field_setting('hide_all_dashboard_panels')) {
|
55 |
+
$selected = true;
|
56 |
+
}elseif($dashboard_widget && is_array($dashboard_widget)) {
|
57 |
+
$selected = in_array($widget_id,$dashboard_widget);
|
58 |
+
}
|
59 |
+
?>
|
60 |
+
<li>
|
61 |
+
<input class="wlcms-toggle wlcms-toggle-light" id="<?php echo $widget_id ?>" name="dashboard_widgets[]" value="<?php echo $widget_id ?>" type="checkbox" <?php checked($selected, true, true) ?>/>
|
62 |
+
<label class="wlcms-toggle-btn" for="<?php echo $widget_id ?>"></label><label class="toggle-label" for="<?php echo $widget_id ?>"><?php echo wp_strip_all_tags( stripslashes($widget['title']) )?></label>
|
63 |
+
</li>
|
64 |
+
<?php
|
65 |
+
}
|
66 |
+
}
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
}
|
71 |
+
}
|
72 |
+
?>
|
73 |
<li>
|
74 |
<input class="wlcms-toggle wlcms-toggle-light" id="remove_empty_dash_panel" name="remove_empty_dash_panel" value="1" type="checkbox" <?php checked(wlcms_field_setting('remove_empty_dash_panel'), 1, true) ?>/>
|
75 |
<label class="wlcms-toggle-btn" for="remove_empty_dash_panel"></label><label class="toggle-label" for="remove_empty_dash_panel"><?php _e('Remove Empty Dashboard Panel', 'white-label-cms')?></label>
|
wlcms-plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: White Label CMS
|
4 |
Plugin URI: https://www.videousermanuals.com/white-label-cms/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
5 |
Description: A plugin that allows you to brand WordPress CMS as your own
|
6 |
-
Version: 2.
|
7 |
Author: www.videousermanuals.com
|
8 |
Author URI: https://www.videousermanuals.com/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
9 |
Text Domain: white-label-cms
|
@@ -13,7 +13,7 @@ Domain Path: /languages
|
|
13 |
|
14 |
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
15 |
|
16 |
-
define('WLCMS_VERSION', '2.
|
17 |
define("WLCMS_DIR", plugin_dir_path(__FILE__));
|
18 |
define("WLCMS_ASSETS_URL", plugin_dir_url(__FILE__) . 'assets/');
|
19 |
define("WLCMS_BASENAME", plugin_basename(__FILE__));
|
3 |
Plugin Name: White Label CMS
|
4 |
Plugin URI: https://www.videousermanuals.com/white-label-cms/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
5 |
Description: A plugin that allows you to brand WordPress CMS as your own
|
6 |
+
Version: 2.3
|
7 |
Author: www.videousermanuals.com
|
8 |
Author URI: https://www.videousermanuals.com/?utm_campaign=wlcms&utm_medium=plugin&utm_source=readme-txt
|
9 |
Text Domain: white-label-cms
|
13 |
|
14 |
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
15 |
|
16 |
+
define('WLCMS_VERSION', '2.3');
|
17 |
define("WLCMS_DIR", plugin_dir_path(__FILE__));
|
18 |
define("WLCMS_ASSETS_URL", plugin_dir_url(__FILE__) . 'assets/');
|
19 |
define("WLCMS_BASENAME", plugin_basename(__FILE__));
|