Version Description
- Improvement: Hardened the security of plugin
- Improvement: Compatibility with latest WordPress PHP_CodeSniffer rules
v1.1.1 - Fix: Fixes a fatal error on Sidebar list page.
v1.1.0 - New: Target rules appearing in Display Rules column for sidebars. - Improvement: White Label can be set from wp-config.php file.
v1.0.2 - Improvement: Update target rules with support for targeting all posts inside taxonomies and terms. - Fix: If a taxonomy is used for multiple post types, it was not displayed in target rules. - Fix: Load correct textdomain and allow the plugin to be translated from translate.W.org
v1.0.1 - White Label support added from the Astra Pro plugin. - Optimized target rules query to be even more lightweight.
v1.0.0 - Initial release
Download this release
Release Info
Developer | brainstormworg |
Plugin | Lightweight Sidebar Manager |
Version | 1.1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.1.2
- classes/class-bsf-sb-loader.php +1 -1
- classes/class-bsf-sb-metabox.php +4 -5
- classes/class-bsf-sb-post-type.php +8 -6
- classes/class-bsf-sb-sidebar.php +1 -1
- classes/class-bsf-sb-white-label.php +2 -2
- classes/modules/target-rule/class-bsf-sb-target-rules-fields.php +23 -16
- classes/modules/target-rule/target-rule.js +3 -2
- includes/white-label.php +4 -4
- readme.txt +6 -2
- sidebar-manager.php +2 -2
classes/class-bsf-sb-loader.php
CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists( 'BSF_SB_Loader' ) ) {
|
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
-
self::$instance = new self;
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
+
self::$instance = new self();
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
classes/class-bsf-sb-metabox.php
CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists( 'BSF_SB_Metabox' ) ) {
|
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
-
self::$instance = new self;
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
@@ -171,9 +171,8 @@ if ( ! class_exists( 'BSF_SB_Metabox' ) ) {
|
|
171 |
$out .= '</td>';
|
172 |
$out .= '<td class="bsf-sb-row-content">';
|
173 |
$out .= '<input type="text" rows="1" name="excerpt" value="' . $post->post_excerpt . '">';
|
174 |
-
|
175 |
-
|
176 |
-
$out .= '</tr>';
|
177 |
|
178 |
$out .= '<tr class="bsf-sb-row">';
|
179 |
$out .= '<td class="bsf-sb-row-heading">';
|
@@ -243,7 +242,7 @@ if ( ! class_exists( 'BSF_SB_Metabox' ) ) {
|
|
243 |
$out .= '</tbody>';
|
244 |
$out .= '</table>';
|
245 |
|
246 |
-
echo $out;
|
247 |
}
|
248 |
|
249 |
/**
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
+
self::$instance = new self();
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
171 |
$out .= '</td>';
|
172 |
$out .= '<td class="bsf-sb-row-content">';
|
173 |
$out .= '<input type="text" rows="1" name="excerpt" value="' . $post->post_excerpt . '">';
|
174 |
+
$out .= '</td>';
|
175 |
+
$out .= '</tr>';
|
|
|
176 |
|
177 |
$out .= '<tr class="bsf-sb-row">';
|
178 |
$out .= '<td class="bsf-sb-row-heading">';
|
242 |
$out .= '</tbody>';
|
243 |
$out .= '</table>';
|
244 |
|
245 |
+
echo $out; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
246 |
}
|
247 |
|
248 |
/**
|
classes/class-bsf-sb-post-type.php
CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists( 'BSF_SB_Post_Type' ) ) {
|
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
-
self::$instance = new self;
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
@@ -62,7 +62,7 @@ if ( ! class_exists( 'BSF_SB_Post_Type' ) ) {
|
|
62 |
* @param array $columns Array of columns.
|
63 |
* @return array
|
64 |
*/
|
65 |
-
static
|
66 |
|
67 |
unset( $columns['date'] );
|
68 |
|
@@ -111,7 +111,8 @@ if ( ! class_exists( 'BSF_SB_Post_Type' ) ) {
|
|
111 |
|
112 |
echo '<div class="ast-advanced-headers-users-wrap">';
|
113 |
echo '<strong>Users: </strong>';
|
114 |
-
|
|
|
115 |
echo '</div>';
|
116 |
}
|
117 |
}
|
@@ -143,7 +144,8 @@ if ( ! class_exists( 'BSF_SB_Post_Type' ) ) {
|
|
143 |
}
|
144 |
}
|
145 |
|
146 |
-
|
|
|
147 |
|
148 |
}
|
149 |
|
@@ -156,8 +158,8 @@ if ( ! class_exists( 'BSF_SB_Post_Type' ) ) {
|
|
156 |
public function menu_highlight() {
|
157 |
global $parent_file, $submenu_file, $post_type;
|
158 |
if ( BSF_SB_POST_TYPE == $post_type ) {
|
159 |
-
$parent_file = 'themes.php';
|
160 |
-
$submenu_file = 'edit.php?post_type=' . BSF_SB_POST_TYPE;
|
161 |
}
|
162 |
}
|
163 |
|
26 |
*/
|
27 |
public static function get_instance() {
|
28 |
if ( ! isset( self::$instance ) ) {
|
29 |
+
self::$instance = new self();
|
30 |
}
|
31 |
return self::$instance;
|
32 |
}
|
62 |
* @param array $columns Array of columns.
|
63 |
* @return array
|
64 |
*/
|
65 |
+
public static function column_headings( $columns ) {
|
66 |
|
67 |
unset( $columns['date'] );
|
68 |
|
111 |
|
112 |
echo '<div class="ast-advanced-headers-users-wrap">';
|
113 |
echo '<strong>Users: </strong>';
|
114 |
+
$usr_label = join( ', ', $user_label );
|
115 |
+
echo esc_html( $usr_label );
|
116 |
echo '</div>';
|
117 |
}
|
118 |
}
|
144 |
}
|
145 |
}
|
146 |
|
147 |
+
$lct = join( ', ', $location_label );
|
148 |
+
echo esc_html( $lct );
|
149 |
|
150 |
}
|
151 |
|
158 |
public function menu_highlight() {
|
159 |
global $parent_file, $submenu_file, $post_type;
|
160 |
if ( BSF_SB_POST_TYPE == $post_type ) {
|
161 |
+
$parent_file = 'themes.php'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
|
162 |
+
$submenu_file = 'edit.php?post_type=' . BSF_SB_POST_TYPE; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
|
163 |
}
|
164 |
}
|
165 |
|
classes/class-bsf-sb-sidebar.php
CHANGED
@@ -33,7 +33,7 @@ if ( ! class_exists( 'BSF_SB_Sidebar' ) ) {
|
|
33 |
*/
|
34 |
public static function get_instance() {
|
35 |
if ( ! isset( self::$instance ) ) {
|
36 |
-
self::$instance = new self;
|
37 |
}
|
38 |
return self::$instance;
|
39 |
}
|
33 |
*/
|
34 |
public static function get_instance() {
|
35 |
if ( ! isset( self::$instance ) ) {
|
36 |
+
self::$instance = new self();
|
37 |
}
|
38 |
return self::$instance;
|
39 |
}
|
classes/class-bsf-sb-white-label.php
CHANGED
@@ -41,7 +41,7 @@ if ( ! class_exists( 'Bsf_Sb_White_Label' ) ) :
|
|
41 |
*/
|
42 |
public static function set_instance() {
|
43 |
if ( ! isset( self::$instance ) ) {
|
44 |
-
self::$instance = new self;
|
45 |
}
|
46 |
return self::$instance;
|
47 |
}
|
@@ -69,7 +69,7 @@ if ( ! class_exists( 'Bsf_Sb_White_Label' ) ) :
|
|
69 |
* @param array $plugins Plugins Array.
|
70 |
* @return array
|
71 |
*/
|
72 |
-
function plugins_page( $plugins ) {
|
73 |
|
74 |
if ( ! is_callable( 'Astra_Ext_White_Label_Markup::get_whitelabel_string' ) ) {
|
75 |
return $plugins;
|
41 |
*/
|
42 |
public static function set_instance() {
|
43 |
if ( ! isset( self::$instance ) ) {
|
44 |
+
self::$instance = new self();
|
45 |
}
|
46 |
return self::$instance;
|
47 |
}
|
69 |
* @param array $plugins Plugins Array.
|
70 |
* @return array
|
71 |
*/
|
72 |
+
public function plugins_page( $plugins ) {
|
73 |
|
74 |
if ( ! is_callable( 'Astra_Ext_White_Label_Markup::get_whitelabel_string' ) ) {
|
75 |
return $plugins;
|
classes/modules/target-rule/class-bsf-sb-target-rules-fields.php
CHANGED
@@ -77,7 +77,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
77 |
*/
|
78 |
public static function get_instance() {
|
79 |
if ( ! isset( self::$instance ) ) {
|
80 |
-
self::$instance = new self;
|
81 |
}
|
82 |
|
83 |
return self::$instance;
|
@@ -320,8 +320,9 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
320 |
*
|
321 |
* @since 1.0.0
|
322 |
*/
|
323 |
-
function get_posts_by_query() {
|
324 |
|
|
|
325 |
$search_string = isset( $_POST['q'] ) ? sanitize_text_field( $_POST['q'] ) : '';
|
326 |
$data = array();
|
327 |
$result = array();
|
@@ -331,8 +332,9 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
331 |
'_builtin' => false,
|
332 |
);
|
333 |
|
334 |
-
|
335 |
-
$
|
|
|
336 |
$post_types = get_post_types( $args, $output, $operator );
|
337 |
|
338 |
$post_types['Posts'] = 'post';
|
@@ -382,7 +384,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
382 |
);
|
383 |
|
384 |
$output = 'objects'; // names or objects, note names is the default.
|
385 |
-
$operator = 'and';
|
386 |
$taxonomies = get_taxonomies( $args, $output, $operator );
|
387 |
|
388 |
foreach ( $taxonomies as $taxonomy ) {
|
@@ -439,7 +441,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
439 |
*
|
440 |
* @return (string) The Modified Search SQL for WHERE clause.
|
441 |
*/
|
442 |
-
function search_only_titles( $search, $wp_query ) {
|
443 |
if ( ! empty( $search ) && ! empty( $wp_query->query_vars['search_terms'] ) ) {
|
444 |
global $wpdb;
|
445 |
|
@@ -484,6 +486,11 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
484 |
BSF_SB_VER,
|
485 |
true
|
486 |
);
|
|
|
|
|
|
|
|
|
|
|
487 |
wp_enqueue_script(
|
488 |
'bsf-sb-user-role',
|
489 |
BSF_SB_URL . 'classes/modules/target-rule/user-role.js',
|
@@ -562,7 +569,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
562 |
/* Wrapper end */
|
563 |
$output .= '</div>';
|
564 |
|
565 |
-
echo $output;
|
566 |
}
|
567 |
|
568 |
/**
|
@@ -993,7 +1000,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
993 |
$output .= '</div>';
|
994 |
$output .= '</div>';
|
995 |
|
996 |
-
echo $output;
|
997 |
}
|
998 |
|
999 |
/**
|
@@ -1221,7 +1228,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1221 |
self::$current_page_data[ $post_type ][ $local_post->ID ] = array(
|
1222 |
'id' => $local_post->ID,
|
1223 |
'post_name' => $local_post->post_name,
|
1224 |
-
'location' =>
|
1225 |
);
|
1226 |
}
|
1227 |
|
@@ -1287,7 +1294,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1287 |
* @param int $post_type Post Type.
|
1288 |
* @param array $option meta option name.
|
1289 |
*/
|
1290 |
-
static
|
1291 |
global $wpdb;
|
1292 |
global $post;
|
1293 |
|
@@ -1310,7 +1317,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1310 |
|
1311 |
foreach ( $all_headers as $header ) {
|
1312 |
|
1313 |
-
$location_rules =
|
1314 |
|
1315 |
if ( is_array( $location_rules ) && isset( $location_rules['rule'] ) ) {
|
1316 |
|
@@ -1390,7 +1397,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1390 |
$notice = sprintf( __( 'The same display setting is already exist in %s post/s.', 'sidebar-manager' ), $rule_set_titles );
|
1391 |
|
1392 |
echo '<div class="error">';
|
1393 |
-
echo '<p>' . $notice . '</p>';
|
1394 |
echo '</div>';
|
1395 |
|
1396 |
}
|
@@ -1407,7 +1414,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1407 |
*
|
1408 |
* @return false | object
|
1409 |
*/
|
1410 |
-
static
|
1411 |
$page_meta = ( isset( $option['page_meta'] ) && '' != $option['page_meta'] ) ? $option['page_meta'] : false;
|
1412 |
|
1413 |
if ( false !== $page_meta ) {
|
@@ -1435,7 +1442,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1435 |
*
|
1436 |
* @return object Posts.
|
1437 |
*/
|
1438 |
-
static
|
1439 |
$query_args = array(
|
1440 |
'post_type' => $post_type,
|
1441 |
'posts_per_page' => -1,
|
@@ -1468,7 +1475,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1468 |
*
|
1469 |
* @return array Rule data.
|
1470 |
*/
|
1471 |
-
static
|
1472 |
$meta_value = array();
|
1473 |
|
1474 |
if ( isset( $save_data[ $key ]['rule'] ) ) {
|
@@ -1509,7 +1516,7 @@ if ( ! class_exists( 'BSF_SB_Target_Rules_Fields' ) ) {
|
|
1509 |
return $meta_value;
|
1510 |
}
|
1511 |
}
|
1512 |
-
}
|
1513 |
|
1514 |
/**
|
1515 |
* Kicking this off by calling 'get_instance()' method
|
77 |
*/
|
78 |
public static function get_instance() {
|
79 |
if ( ! isset( self::$instance ) ) {
|
80 |
+
self::$instance = new self();
|
81 |
}
|
82 |
|
83 |
return self::$instance;
|
320 |
*
|
321 |
* @since 1.0.0
|
322 |
*/
|
323 |
+
public function get_posts_by_query() {
|
324 |
|
325 |
+
check_ajax_referer( 'ajax_target_url_nonce', 'security' );
|
326 |
$search_string = isset( $_POST['q'] ) ? sanitize_text_field( $_POST['q'] ) : '';
|
327 |
$data = array();
|
328 |
$result = array();
|
332 |
'_builtin' => false,
|
333 |
);
|
334 |
|
335 |
+
// names or objects, note names is the default.
|
336 |
+
$output = 'names';
|
337 |
+
$operator = 'and';
|
338 |
$post_types = get_post_types( $args, $output, $operator );
|
339 |
|
340 |
$post_types['Posts'] = 'post';
|
384 |
);
|
385 |
|
386 |
$output = 'objects'; // names or objects, note names is the default.
|
387 |
+
$operator = 'and';
|
388 |
$taxonomies = get_taxonomies( $args, $output, $operator );
|
389 |
|
390 |
foreach ( $taxonomies as $taxonomy ) {
|
441 |
*
|
442 |
* @return (string) The Modified Search SQL for WHERE clause.
|
443 |
*/
|
444 |
+
public function search_only_titles( $search, $wp_query ) {
|
445 |
if ( ! empty( $search ) && ! empty( $wp_query->query_vars['search_terms'] ) ) {
|
446 |
global $wpdb;
|
447 |
|
486 |
BSF_SB_VER,
|
487 |
true
|
488 |
);
|
489 |
+
$params = array(
|
490 |
+
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
491 |
+
'ajax_nonce' => wp_create_nonce( 'ajax_target_url_nonce' ),
|
492 |
+
);
|
493 |
+
wp_localize_script( 'bsf-sb-target-rule', 'sb_ajax_object', $params );
|
494 |
wp_enqueue_script(
|
495 |
'bsf-sb-user-role',
|
496 |
BSF_SB_URL . 'classes/modules/target-rule/user-role.js',
|
569 |
/* Wrapper end */
|
570 |
$output .= '</div>';
|
571 |
|
572 |
+
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
573 |
}
|
574 |
|
575 |
/**
|
1000 |
$output .= '</div>';
|
1001 |
$output .= '</div>';
|
1002 |
|
1003 |
+
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
1004 |
}
|
1005 |
|
1006 |
/**
|
1228 |
self::$current_page_data[ $post_type ][ $local_post->ID ] = array(
|
1229 |
'id' => $local_post->ID,
|
1230 |
'post_name' => $local_post->post_name,
|
1231 |
+
'location' => maybe_unserialize( $local_post->meta_value ),
|
1232 |
);
|
1233 |
}
|
1234 |
|
1294 |
* @param int $post_type Post Type.
|
1295 |
* @param array $option meta option name.
|
1296 |
*/
|
1297 |
+
public static function same_display_on_notice( $post_type, $option ) {
|
1298 |
global $wpdb;
|
1299 |
global $post;
|
1300 |
|
1317 |
|
1318 |
foreach ( $all_headers as $header ) {
|
1319 |
|
1320 |
+
$location_rules = maybe_unserialize( $header->meta_value );
|
1321 |
|
1322 |
if ( is_array( $location_rules ) && isset( $location_rules['rule'] ) ) {
|
1323 |
|
1397 |
$notice = sprintf( __( 'The same display setting is already exist in %s post/s.', 'sidebar-manager' ), $rule_set_titles );
|
1398 |
|
1399 |
echo '<div class="error">';
|
1400 |
+
echo '<p>' . esc_html( $notice ) . '</p>';
|
1401 |
echo '</div>';
|
1402 |
|
1403 |
}
|
1414 |
*
|
1415 |
* @return false | object
|
1416 |
*/
|
1417 |
+
public static function get_meta_option_post( $post_type, $option ) {
|
1418 |
$page_meta = ( isset( $option['page_meta'] ) && '' != $option['page_meta'] ) ? $option['page_meta'] : false;
|
1419 |
|
1420 |
if ( false !== $page_meta ) {
|
1442 |
*
|
1443 |
* @return object Posts.
|
1444 |
*/
|
1445 |
+
public static function get_post_selection( $post_type ) {
|
1446 |
$query_args = array(
|
1447 |
'post_type' => $post_type,
|
1448 |
'posts_per_page' => -1,
|
1475 |
*
|
1476 |
* @return array Rule data.
|
1477 |
*/
|
1478 |
+
public static function get_format_rule_value( $save_data, $key ) {
|
1479 |
$meta_value = array();
|
1480 |
|
1481 |
if ( isset( $save_data[ $key ]['rule'] ) ) {
|
1516 |
return $meta_value;
|
1517 |
}
|
1518 |
}
|
1519 |
+
}
|
1520 |
|
1521 |
/**
|
1522 |
* Kicking this off by calling 'get_instance()' method
|
classes/modules/target-rule/target-rule.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
;(function ( $, window, undefined ) {
|
2 |
|
3 |
var init_target_rule_select2 = function( selector ) {
|
4 |
-
|
5 |
$(selector).select2({
|
6 |
|
7 |
placeholder: "Search pages / post / categories",
|
8 |
|
9 |
ajax: {
|
10 |
-
url:
|
11 |
dataType: 'json',
|
12 |
method: 'post',
|
13 |
delay: 250,
|
@@ -15,6 +15,7 @@
|
|
15 |
return {
|
16 |
q: params.term, // search term
|
17 |
page: params.page,
|
|
|
18 |
action: 'bsf_sb_get_posts_by_query'
|
19 |
};
|
20 |
},
|
1 |
;(function ( $, window, undefined ) {
|
2 |
|
3 |
var init_target_rule_select2 = function( selector ) {
|
4 |
+
var admin_url = sb_ajax_object.ajaxurl;
|
5 |
$(selector).select2({
|
6 |
|
7 |
placeholder: "Search pages / post / categories",
|
8 |
|
9 |
ajax: {
|
10 |
+
url: admin_url,
|
11 |
dataType: 'json',
|
12 |
method: 'post',
|
13 |
delay: 250,
|
15 |
return {
|
16 |
q: params.term, // search term
|
17 |
page: params.page,
|
18 |
+
security: sb_ajax_object.ajax_nonce,
|
19 |
action: 'bsf_sb_get_posts_by_query'
|
20 |
};
|
21 |
},
|
includes/white-label.php
CHANGED
@@ -15,21 +15,21 @@ if ( ! is_callable( 'Astra_Ext_White_Label_Markup::branding_key_to_constant' ) )
|
|
15 |
<li>
|
16 |
<div class="branding-form postbox">
|
17 |
<button type="button" class="handlediv button-link" aria-expanded="true">
|
18 |
-
<span class="screen-reader-text"><?php
|
19 |
<span class="toggle-indicator" aria-hidden="true"></span>
|
20 |
</button>
|
21 |
<h2 class="hndle ui-sortable-handle">
|
22 |
-
<span><?php
|
23 |
</h2>
|
24 |
<div class="inside">
|
25 |
<div class="form-wrap">
|
26 |
<div class="form-field">
|
27 |
-
<label><?php
|
28 |
<input type="text" name="ast_white_label[bsf-lw-sb][name]" class="placeholder placeholder-active" <?php disabled( defined( Astra_Ext_White_Label_Markup::branding_key_to_constant( 'bsf-lw-sb', 'name' ) ), true, true ); ?> value="<?php echo esc_attr( Astra_Ext_White_Label_Markup::get_whitelabel_string( 'bsf-lw-sb', 'name' ) ); ?>">
|
29 |
</label>
|
30 |
</div>
|
31 |
<div class="form-field">
|
32 |
-
<label><?php
|
33 |
<textarea name="ast_white_label[bsf-lw-sb][description]" class="placeholder placeholder-active" <?php disabled( defined( Astra_Ext_White_Label_Markup::branding_key_to_constant( 'bsf-lw-sb', 'description' ) ), true, true ); ?> rows="2"><?php echo esc_attr( Astra_Ext_White_Label_Markup::get_whitelabel_string( 'bsf-lw-sb', 'description' ) ); ?></textarea>
|
34 |
</label>
|
35 |
</div>
|
15 |
<li>
|
16 |
<div class="branding-form postbox">
|
17 |
<button type="button" class="handlediv button-link" aria-expanded="true">
|
18 |
+
<span class="screen-reader-text"><?php esc_html_e( 'Sidebar Manager', 'sidebar-manager' ); ?></span>
|
19 |
<span class="toggle-indicator" aria-hidden="true"></span>
|
20 |
</button>
|
21 |
<h2 class="hndle ui-sortable-handle">
|
22 |
+
<span><?php esc_html_e( 'Astra SideBar Branding', 'sidebar-manager' ); ?></span>
|
23 |
</h2>
|
24 |
<div class="inside">
|
25 |
<div class="form-wrap">
|
26 |
<div class="form-field">
|
27 |
+
<label><?php esc_html_e( 'Plugin Name:', 'sidebar-manager' ); ?>
|
28 |
<input type="text" name="ast_white_label[bsf-lw-sb][name]" class="placeholder placeholder-active" <?php disabled( defined( Astra_Ext_White_Label_Markup::branding_key_to_constant( 'bsf-lw-sb', 'name' ) ), true, true ); ?> value="<?php echo esc_attr( Astra_Ext_White_Label_Markup::get_whitelabel_string( 'bsf-lw-sb', 'name' ) ); ?>">
|
29 |
</label>
|
30 |
</div>
|
31 |
<div class="form-field">
|
32 |
+
<label><?php esc_html_e( 'Plugin Description:', 'sidebar-manager' ); ?>
|
33 |
<textarea name="ast_white_label[bsf-lw-sb][description]" class="placeholder placeholder-active" <?php disabled( defined( Astra_Ext_White_Label_Markup::branding_key_to_constant( 'bsf-lw-sb', 'description' ) ), true, true ); ?> rows="2"><?php echo esc_attr( Astra_Ext_White_Label_Markup::get_whitelabel_string( 'bsf-lw-sb', 'description' ) ); ?></textarea>
|
34 |
</label>
|
35 |
</div>
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: BrainstormForce
|
|
3 |
Donate link: https://www.paypal.me/BrainstormForce
|
4 |
Tags: custom sidebar, sidebar manager, custom widget areas, widgets, conditional sidebar
|
5 |
Requires at least: 4.0
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 1.1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -51,6 +51,10 @@ Other plugins we found are heavy with ugly interface, non supported, developed o
|
|
51 |
|
52 |
== Changelog ==
|
53 |
|
|
|
|
|
|
|
|
|
54 |
v1.1.1
|
55 |
- Fix: Fixes a fatal error on Sidebar list page.
|
56 |
|
3 |
Donate link: https://www.paypal.me/BrainstormForce
|
4 |
Tags: custom sidebar, sidebar manager, custom widget areas, widgets, conditional sidebar
|
5 |
Requires at least: 4.0
|
6 |
+
Tested up to: 5.4
|
7 |
+
Stable tag: 1.1.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
51 |
|
52 |
== Changelog ==
|
53 |
|
54 |
+
= 1.1.2 =
|
55 |
+
- Improvement: Hardened the security of plugin
|
56 |
+
- Improvement: Compatibility with latest WordPress PHP_CodeSniffer rules
|
57 |
+
|
58 |
v1.1.1
|
59 |
- Fix: Fixes a fatal error on Sidebar list page.
|
60 |
|
sidebar-manager.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Sidebar Manager
|
4 |
* Plugin URI: http://www.brainstormforce.com
|
5 |
* Description: This is the plugin to create custom siderbars to your site.
|
6 |
-
* Version: 1.1.
|
7 |
* Author: Brainstorm Force
|
8 |
* Author URI: https://www.brainstormforce.com/
|
9 |
* Text Domain: bsfsidebars
|
@@ -25,7 +25,7 @@ define( 'BSF_SB_FILE', __FILE__ );
|
|
25 |
define( 'BSF_SB_BASE', plugin_basename( BSF_SB_FILE ) );
|
26 |
define( 'BSF_SB_DIR', plugin_dir_path( BSF_SB_FILE ) );
|
27 |
define( 'BSF_SB_URL', plugins_url( '/', BSF_SB_FILE ) );
|
28 |
-
define( 'BSF_SB_VER', '1.1.
|
29 |
define( 'BSF_SB_PREFIX', 'bsf-sb' );
|
30 |
define( 'BSF_SB_POST_TYPE', 'bsf-sidebar' );
|
31 |
|
3 |
* Plugin Name: Sidebar Manager
|
4 |
* Plugin URI: http://www.brainstormforce.com
|
5 |
* Description: This is the plugin to create custom siderbars to your site.
|
6 |
+
* Version: 1.1.2
|
7 |
* Author: Brainstorm Force
|
8 |
* Author URI: https://www.brainstormforce.com/
|
9 |
* Text Domain: bsfsidebars
|
25 |
define( 'BSF_SB_BASE', plugin_basename( BSF_SB_FILE ) );
|
26 |
define( 'BSF_SB_DIR', plugin_dir_path( BSF_SB_FILE ) );
|
27 |
define( 'BSF_SB_URL', plugins_url( '/', BSF_SB_FILE ) );
|
28 |
+
define( 'BSF_SB_VER', '1.1.2' );
|
29 |
define( 'BSF_SB_PREFIX', 'bsf-sb' );
|
30 |
define( 'BSF_SB_POST_TYPE', 'bsf-sidebar' );
|
31 |
|