Version Description
- 2022-11-26
- Minor security fixes
Download this release
Release Info
Developer | WebFactory |
Plugin | Custom Sidebars – Dynamic Widget Area Manager |
Version | 3.36 |
Comparing to | |
See all releases |
Code changes from version 3.35 to 3.36
- customsidebars.php +1 -1
- inc/class-custom-sidebars-checkup-notification.php +7 -26
- inc/class-custom-sidebars-cloning.php +2 -2
- inc/class-custom-sidebars-editor.php +18 -15
- inc/class-custom-sidebars-explain.php +1 -1
- inc/class-custom-sidebars-export.php +9 -12
- inc/class-custom-sidebars-replacer.php +2 -2
- inc/class-custom-sidebars-visibility.php +35 -52
- inc/class-custom-sidebars.php +308 -21
- inc/external/wdev-frash/module.php +16 -16
- inc/external/wpmu-lib/css/wpmu-ui.3.css +2 -7
- inc/external/wpmu-lib/css/wpmu-ui.3.min.css +1 -1
- inc/external/wpmu-lib/inc/class-thelib-array.php +6 -3
- inc/external/wpmu-lib/inc/class-thelib-core.php +0 -83
- inc/external/wpmu-lib/inc/class-thelib-debug.php +12 -11
- inc/external/wpmu-lib/inc/class-thelib-html.php +61 -59
- inc/external/wpmu-lib/inc/class-thelib-net.php +1 -29
- inc/external/wpmu-lib/inc/class-thelib-ui.php +3 -3
- inc/external/wpmu-lib/inc/class-thelib-updates.php +4 -3
- inc/external/wpmu-lib/view/list.php +6 -6
- inc/external/wpmu-lib/view/pointer.php +3 -3
- readme.txt +5 -2
- views/bulk-edit.php +2 -2
- views/col-sidebars.php +1 -1
- views/import.php +24 -24
- views/metabox.php +2 -2
- views/widgets-delete.php +4 -4
- views/widgets-editor.php +15 -15
- views/widgets-export.php +7 -7
- views/widgets-location.php +21 -21
- views/widgets.php +23 -23
customsidebars.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Custom Sidebars
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-sidebars/
|
5 |
* Description: Allows you to create widgetized areas and custom sidebars. Replace whole sidebars or single widgets for specific posts and pages.
|
6 |
-
* Version: 3.
|
7 |
* Author: WebFactory Ltd
|
8 |
* Author URI: https://www.webfactoryltd.com/
|
9 |
* Textdomain: custom-sidebars
|
3 |
* Plugin Name: Custom Sidebars
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-sidebars/
|
5 |
* Description: Allows you to create widgetized areas and custom sidebars. Replace whole sidebars or single widgets for specific posts and pages.
|
6 |
+
* Version: 3.36
|
7 |
* Author: WebFactory Ltd
|
8 |
* Author URI: https://www.webfactoryltd.com/
|
9 |
* Textdomain: custom-sidebars
|
inc/class-custom-sidebars-checkup-notification.php
CHANGED
@@ -62,16 +62,16 @@ class CustomSidebarsCheckupNotification extends CustomSidebars {
|
|
62 |
/**
|
63 |
* Check: nonce
|
64 |
*/
|
65 |
-
$nonce_name = $this->nonce_name . $_GET['user_id'];
|
66 |
if ( ! wp_verify_nonce( $_GET['_wpnonce'], $nonce_name ) ) {
|
67 |
die;
|
68 |
}
|
69 |
/**
|
70 |
* save result
|
71 |
*/
|
72 |
-
$result = add_user_meta( $_GET['user_id'], $this->dismiss_name, true, true );
|
73 |
if ( false == $result ) {
|
74 |
-
update_user_meta( $_GET['user_id'], $this->dismiss_name, true );
|
75 |
}
|
76 |
die;
|
77 |
}
|
@@ -119,12 +119,12 @@ class CustomSidebarsCheckupNotification extends CustomSidebars {
|
|
119 |
<script type="text/javascript">
|
120 |
jQuery(document).ready( function() {
|
121 |
setTimeout( function() {
|
122 |
-
var template = wp.template('custom-sidebars-<?php
|
123 |
jQuery(".sidebars-column-1 .inner").append( template() );
|
124 |
}, 1000);
|
125 |
});
|
126 |
</script>
|
127 |
-
<script type="text/html" id="tmpl-custom-sidebars-<?php
|
128 |
<?php
|
129 |
$this->$method();
|
130 |
?>
|
@@ -145,7 +145,7 @@ if (!defined('WPFSSL_OPTIONS_KEY')) {
|
|
145 |
?>
|
146 |
<div class="cs-inner cs-wpfssl">
|
147 |
<h4 class="textcenter">Having problems with SSL?<br>Generate a free certificate & properly redirect to HTTPS with a few clicks</h4>
|
148 |
-
<div class="wpfssl-logo"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20force%20ssl&tab=search&type=term'); ?>"><img src="<?php echo CSB_IMG_URL; ?>wp-force-ssl.png" alt="WP Force SSL" title="WP Force SSL"></a></div>
|
149 |
<div class="textcenter"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20force%20ssl&tab=search&type=term'); ?>" class="button">Install the <b>free WP Force SSL plugin</b></a></div>
|
150 |
</div>
|
151 |
<?php
|
@@ -155,32 +155,13 @@ if (!function_exists('sticky_anything_activate')) {
|
|
155 |
?>
|
156 |
<div class="cs-inner">
|
157 |
<h4 class="textcenter">Need to make any element on your site sticky?<br>Header menu, a widget, or an image?</h4>
|
158 |
-
<div class="sticky-logo"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20sticky&tab=search&type=term'); ?>"><img src="<?php echo CSB_IMG_URL; ?>wp-sticky.png" alt="WP Sticky Anything" title="WP Sticky Anything"></a></div>
|
159 |
<div class="textcenter"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20sticky&tab=search&type=term'); ?>" class="button-primary">Install the free WP Sticky plugin</a></div>
|
160 |
</div>
|
161 |
<?php
|
162 |
}
|
163 |
?>
|
164 |
</div>
|
165 |
-
<?php
|
166 |
-
}
|
167 |
-
|
168 |
-
private function show_box_upfront() {
|
169 |
-
$url = add_query_arg(
|
170 |
-
array(
|
171 |
-
'utm_source' => 'custom_sidebar_uf_ad',
|
172 |
-
'utm_campaign' => 'custom_sidebar_plugin_uf_ad',
|
173 |
-
'utm_medium' => 'Custom Sidebars Plugin',
|
174 |
-
),
|
175 |
-
'https://premium.wpmudev.org/projects/category/themes/'
|
176 |
-
);
|
177 |
-
?>
|
178 |
-
<div class="custom-sidebars-box custom-sidebars-upfront">
|
179 |
-
<div class="cs-inner">
|
180 |
-
<p><?php esc_html_e( 'Don’t just replace sidebars. Add new sidebars and footers anywhere with Upfront.', 'custom-sidebars' ); ?></p>
|
181 |
-
<p><a class="button" href="<?php echo esc_url( $url ); ?>"><?php esc_html_e( 'get Upfront free', 'custom-sidebars' ); ?></a></p>
|
182 |
-
</div>
|
183 |
-
</div>
|
184 |
<?php
|
185 |
}
|
186 |
};
|
62 |
/**
|
63 |
* Check: nonce
|
64 |
*/
|
65 |
+
$nonce_name = $this->nonce_name . sanitize_key($_GET['user_id']);
|
66 |
if ( ! wp_verify_nonce( $_GET['_wpnonce'], $nonce_name ) ) {
|
67 |
die;
|
68 |
}
|
69 |
/**
|
70 |
* save result
|
71 |
*/
|
72 |
+
$result = add_user_meta( sanitize_key($_GET['user_id']), $this->dismiss_name, true, true );
|
73 |
if ( false == $result ) {
|
74 |
+
update_user_meta( sanitize_key($_GET['user_id']), $this->dismiss_name, true );
|
75 |
}
|
76 |
die;
|
77 |
}
|
119 |
<script type="text/javascript">
|
120 |
jQuery(document).ready( function() {
|
121 |
setTimeout( function() {
|
122 |
+
var template = wp.template('custom-sidebars-<?php esc_attr_e($template_name); ?>');
|
123 |
jQuery(".sidebars-column-1 .inner").append( template() );
|
124 |
}, 1000);
|
125 |
});
|
126 |
</script>
|
127 |
+
<script type="text/html" id="tmpl-custom-sidebars-<?php esc_attr_e($template_name); ?>">
|
128 |
<?php
|
129 |
$this->$method();
|
130 |
?>
|
145 |
?>
|
146 |
<div class="cs-inner cs-wpfssl">
|
147 |
<h4 class="textcenter">Having problems with SSL?<br>Generate a free certificate & properly redirect to HTTPS with a few clicks</h4>
|
148 |
+
<div class="wpfssl-logo"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20force%20ssl&tab=search&type=term'); ?>"><img src="<?php echo esc_url(CSB_IMG_URL); ?>wp-force-ssl.png" alt="WP Force SSL" title="WP Force SSL"></a></div>
|
149 |
<div class="textcenter"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20force%20ssl&tab=search&type=term'); ?>" class="button">Install the <b>free WP Force SSL plugin</b></a></div>
|
150 |
</div>
|
151 |
<?php
|
155 |
?>
|
156 |
<div class="cs-inner">
|
157 |
<h4 class="textcenter">Need to make any element on your site sticky?<br>Header menu, a widget, or an image?</h4>
|
158 |
+
<div class="sticky-logo"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20sticky&tab=search&type=term'); ?>"><img src="<?php echo esc_url(CSB_IMG_URL); ?>wp-sticky.png" alt="WP Sticky Anything" title="WP Sticky Anything"></a></div>
|
159 |
<div class="textcenter"><a target="_blank" href="<?php echo admin_url('plugin-install.php?s=webfactory%20sticky&tab=search&type=term'); ?>" class="button-primary">Install the free WP Sticky plugin</a></div>
|
160 |
</div>
|
161 |
<?php
|
162 |
}
|
163 |
?>
|
164 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
<?php
|
166 |
}
|
167 |
};
|
inc/class-custom-sidebars-cloning.php
CHANGED
@@ -203,9 +203,9 @@ class CustomSidebarsCloning {
|
|
203 |
<input type="hidden" name="csb_clone[group]" class="csb-clone-group" value="<?php echo esc_attr( $data['group'] ); ?>" />
|
204 |
<input type="hidden" name="csb_clone[state]" class="csb-clone-state" value="<?php echo esc_attr( $data['state'] ); ?>" />
|
205 |
<?php if ( ! isset( $_POST['csb-clone-button'] ) && ( 'widgets' === get_current_screen()->id ) ) : ?>
|
206 |
-
<a href="#" class="button csb-clone-button"><?php
|
207 |
<?php else : ?>
|
208 |
-
<script>jQuery(function() { jQuery('.csb-clone-<?php
|
209 |
<?php endif; ?>
|
210 |
|
211 |
</div>
|
203 |
<input type="hidden" name="csb_clone[group]" class="csb-clone-group" value="<?php echo esc_attr( $data['group'] ); ?>" />
|
204 |
<input type="hidden" name="csb_clone[state]" class="csb-clone-state" value="<?php echo esc_attr( $data['state'] ); ?>" />
|
205 |
<?php if ( ! isset( $_POST['csb-clone-button'] ) && ( 'widgets' === get_current_screen()->id ) ) : ?>
|
206 |
+
<a href="#" class="button csb-clone-button"><?php esc_html_e( 'Clone', 'custom-sidebars' ); ?></a>
|
207 |
<?php else : ?>
|
208 |
+
<script>jQuery(function() { jQuery('.csb-clone-<?php esc_attr_e( $widget->id ); ?>').closest('.widget').trigger('csb:update'); }); </script>
|
209 |
<?php endif; ?>
|
210 |
|
211 |
</div>
|
inc/class-custom-sidebars-editor.php
CHANGED
@@ -120,7 +120,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
120 |
$view_file = '';
|
121 |
$sb_id = '';
|
122 |
if ( isset( $_POST['sb'] ) ) {
|
123 |
-
$sb_id = $_POST['sb'];
|
124 |
}
|
125 |
switch ( $action ) {
|
126 |
case 'get':
|
@@ -146,6 +146,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
146 |
__( 'You do not have permission for this', 'custom-sidebars' )
|
147 |
);
|
148 |
} else {
|
|
|
149 |
switch ( $action ) {
|
150 |
// Return details for the specified sidebar.
|
151 |
case 'get':
|
@@ -153,8 +154,8 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
153 |
* check nonce
|
154 |
*/
|
155 |
if (
|
156 |
-
! isset( $
|
157 |
-
|| ! wp_verify_nonce( $
|
158 |
) {
|
159 |
$req = self::req_err(
|
160 |
$req,
|
@@ -174,12 +175,12 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
174 |
break;
|
175 |
// Save or insert the specified sidebar.
|
176 |
case 'save':
|
177 |
-
$req = $this->save_item( $req, $
|
178 |
break;
|
179 |
// Delete the specified sidebar.
|
180 |
case 'delete':
|
181 |
$req->sidebar = $sb_data;
|
182 |
-
$req = $this->delete_item( $req, $
|
183 |
break;
|
184 |
// Get the location data.
|
185 |
case 'get-location':
|
@@ -293,7 +294,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
293 |
$name = sprintf( '%s_%s', $prefix, $sufix );
|
294 |
$sidebar[ $name ] = '';
|
295 |
if ( isset( $_POST[ $name ] ) ) {
|
296 |
-
$sidebar[ $name ] = stripslashes( trim( $_POST[ $name ] ) );
|
297 |
}
|
298 |
}
|
299 |
}
|
@@ -411,7 +412,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
411 |
* @return object Updated response object.
|
412 |
*/
|
413 |
private function set_replaceable( $req ) {
|
414 |
-
$state =
|
415 |
$options = self::get_options();
|
416 |
if ( 'true' === $state ) {
|
417 |
$req->status = true;
|
@@ -495,7 +496,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
495 |
array(
|
496 |
'order_by' => 'display_name',
|
497 |
'fields' => array( 'ID', 'display_name' ),
|
498 |
-
'
|
499 |
)
|
500 |
);
|
501 |
// Collect required data for all posttypes.
|
@@ -666,9 +667,11 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
666 |
/**
|
667 |
* check nonce
|
668 |
*/
|
|
|
|
|
669 |
if (
|
670 |
-
! isset( $
|
671 |
-
|| ! wp_verify_nonce( $
|
672 |
) {
|
673 |
return self::req_err(
|
674 |
$req,
|
@@ -683,7 +686,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
683 |
$raw_taxonomies = array(
|
684 |
'custom' => self::get_taxonomies( 'names', false ),
|
685 |
);
|
686 |
-
foreach ( $
|
687 |
if ( strlen( $key ) > 8 && '___cs___' == substr( $key, 0, 8 ) ) {
|
688 |
list( $prefix, $id ) = explode( '___', substr( $key, 8 ) );
|
689 |
if ( ! isset( $data[ $prefix ] ) ) {
|
@@ -705,7 +708,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
705 |
array(
|
706 |
'order_by' => 'display_name',
|
707 |
'fields' => array( 'ID', 'display_name' ),
|
708 |
-
'
|
709 |
)
|
710 |
);
|
711 |
// == Update the options
|
@@ -866,7 +869,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
866 |
&& is_array( $_POST['cs-screen']['minmax'] )
|
867 |
&& is_array( $_POST['cs-screen']['size'] )
|
868 |
) {
|
869 |
-
|
870 |
for ( $i = 0; $i < count( $screen_size['size'] ); $i++ ) {
|
871 |
if ( ! empty( $screen_size['size'][ $i ] ) ) {
|
872 |
$size[ $screen_size['size'][ $i ] ][ $screen_size['minmax'][ $i ] ] = $screen_size['mode'][ $i ];
|
@@ -1034,7 +1037,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
1034 |
if ( ! empty( $sidebars ) ) {
|
1035 |
foreach ( $sidebars as $sb_id ) {
|
1036 |
if ( isset( $_POST[ 'cs_replacement_' . $sb_id ] ) ) {
|
1037 |
-
|
1038 |
if ( ! empty( $replacement ) ) {
|
1039 |
$data[ $sb_id ] = $replacement;
|
1040 |
}
|
@@ -1329,7 +1332,7 @@ class CustomSidebarsEditor extends CustomSidebars {
|
|
1329 |
$data = CustomSidebars::get_post_meta( $post_id );
|
1330 |
foreach ( $this->modifiable as $key ) {
|
1331 |
$k = sprintf( 'cs_replacement_%s', $key );
|
1332 |
-
$value = isset( $_REQUEST[ $k ] )? $_REQUEST[ $k ]:'-';
|
1333 |
if ( '-' != $value ) {
|
1334 |
$update = true;
|
1335 |
$data[ $key ] = $value;
|
120 |
$view_file = '';
|
121 |
$sb_id = '';
|
122 |
if ( isset( $_POST['sb'] ) ) {
|
123 |
+
$sb_id = sanitize_key($_POST['sb']);
|
124 |
}
|
125 |
switch ( $action ) {
|
126 |
case 'get':
|
146 |
__( 'You do not have permission for this', 'custom-sidebars' )
|
147 |
);
|
148 |
} else {
|
149 |
+
$sidebar_data = map_deep( $_POST, 'sanitize_text_field' );
|
150 |
switch ( $action ) {
|
151 |
// Return details for the specified sidebar.
|
152 |
case 'get':
|
154 |
* check nonce
|
155 |
*/
|
156 |
if (
|
157 |
+
! isset( $sidebar_data['_wpnonce'] )
|
158 |
+
|| ! wp_verify_nonce( $sidebar_data['_wpnonce'], 'custom-sidebars-get' )
|
159 |
) {
|
160 |
$req = self::req_err(
|
161 |
$req,
|
175 |
break;
|
176 |
// Save or insert the specified sidebar.
|
177 |
case 'save':
|
178 |
+
$req = $this->save_item( $req, $sidebar_data );
|
179 |
break;
|
180 |
// Delete the specified sidebar.
|
181 |
case 'delete':
|
182 |
$req->sidebar = $sb_data;
|
183 |
+
$req = $this->delete_item( $req, $sidebar_data );
|
184 |
break;
|
185 |
// Get the location data.
|
186 |
case 'get-location':
|
294 |
$name = sprintf( '%s_%s', $prefix, $sufix );
|
295 |
$sidebar[ $name ] = '';
|
296 |
if ( isset( $_POST[ $name ] ) ) {
|
297 |
+
$sidebar[ $name ] = stripslashes( trim( sanitize_text_field($_POST[ $name ]) ) );
|
298 |
}
|
299 |
}
|
300 |
}
|
412 |
* @return object Updated response object.
|
413 |
*/
|
414 |
private function set_replaceable( $req ) {
|
415 |
+
$state = @sanitize_text_field($_POST['state']);
|
416 |
$options = self::get_options();
|
417 |
if ( 'true' === $state ) {
|
418 |
$req->status = true;
|
496 |
array(
|
497 |
'order_by' => 'display_name',
|
498 |
'fields' => array( 'ID', 'display_name' ),
|
499 |
+
'role' => 'author',
|
500 |
)
|
501 |
);
|
502 |
// Collect required data for all posttypes.
|
667 |
/**
|
668 |
* check nonce
|
669 |
*/
|
670 |
+
$sidebar_data = map_deep( $_POST, 'sanitize_text_field' );
|
671 |
+
|
672 |
if (
|
673 |
+
! isset( $sidebar_data['_wpnonce'] )
|
674 |
+
|| ! wp_verify_nonce( $sidebar_data['_wpnonce'], 'custom-sidebars-set-location' )
|
675 |
) {
|
676 |
return self::req_err(
|
677 |
$req,
|
686 |
$raw_taxonomies = array(
|
687 |
'custom' => self::get_taxonomies( 'names', false ),
|
688 |
);
|
689 |
+
foreach ( $sidebar_data as $key => $value ) {
|
690 |
if ( strlen( $key ) > 8 && '___cs___' == substr( $key, 0, 8 ) ) {
|
691 |
list( $prefix, $id ) = explode( '___', substr( $key, 8 ) );
|
692 |
if ( ! isset( $data[ $prefix ] ) ) {
|
708 |
array(
|
709 |
'order_by' => 'display_name',
|
710 |
'fields' => array( 'ID', 'display_name' ),
|
711 |
+
'role' => 'author',
|
712 |
)
|
713 |
);
|
714 |
// == Update the options
|
869 |
&& is_array( $_POST['cs-screen']['minmax'] )
|
870 |
&& is_array( $_POST['cs-screen']['size'] )
|
871 |
) {
|
872 |
+
$screen_size = map_deep( $_POST['cs-screen'], 'sanitize_text_field' );
|
873 |
for ( $i = 0; $i < count( $screen_size['size'] ); $i++ ) {
|
874 |
if ( ! empty( $screen_size['size'][ $i ] ) ) {
|
875 |
$size[ $screen_size['size'][ $i ] ][ $screen_size['minmax'][ $i ] ] = $screen_size['mode'][ $i ];
|
1037 |
if ( ! empty( $sidebars ) ) {
|
1038 |
foreach ( $sidebars as $sb_id ) {
|
1039 |
if ( isset( $_POST[ 'cs_replacement_' . $sb_id ] ) ) {
|
1040 |
+
$replacement = map_deep( $_POST[ 'cs_replacement_' . $sb_id], 'sanitize_text_field' );
|
1041 |
if ( ! empty( $replacement ) ) {
|
1042 |
$data[ $sb_id ] = $replacement;
|
1043 |
}
|
1332 |
$data = CustomSidebars::get_post_meta( $post_id );
|
1333 |
foreach ( $this->modifiable as $key ) {
|
1334 |
$k = sprintf( 'cs_replacement_%s', $key );
|
1335 |
+
$value = isset( $_REQUEST[ $k ] )? map_deep($_REQUEST[ $k ],'sanitize_text_field'):'-';
|
1336 |
if ( '-' != $value ) {
|
1337 |
$update = true;
|
1338 |
$data[ $key ] = $value;
|
inc/class-custom-sidebars-explain.php
CHANGED
@@ -152,7 +152,7 @@ class CustomSidebarsExplain extends CustomSidebars {
|
|
152 |
<h3>Sidebar Infos</h3>
|
153 |
<ul>
|
154 |
<?php foreach ( $this->infos as $info ) : ?>
|
155 |
-
<li><?php
|
156 |
<?php endforeach; ?>
|
157 |
</ul>
|
158 |
</div>
|
152 |
<h3>Sidebar Infos</h3>
|
153 |
<ul>
|
154 |
<?php foreach ( $this->infos as $info ) : ?>
|
155 |
+
<li><?php CustomSidebars::wp_kses_wf($info); ?></li>
|
156 |
<?php endforeach; ?>
|
157 |
</ul>
|
158 |
</div>
|
inc/class-custom-sidebars-export.php
CHANGED
@@ -63,7 +63,7 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
63 |
*/
|
64 |
public function widget_header() {
|
65 |
?>
|
66 |
-
<a href="#" class="cs-action btn-export"><?php
|
67 |
<?php
|
68 |
}
|
69 |
|
@@ -162,7 +162,7 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
162 |
'csb_version' => $csb_info['Version'],
|
163 |
'theme_name' => $theme->get( 'Name' ),
|
164 |
'theme_version' => $theme->get( 'Version' ),
|
165 |
-
'description' =>
|
166 |
);
|
167 |
|
168 |
// Export the custom sidebars.
|
@@ -303,12 +303,7 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
303 |
*/
|
304 |
$version = phpversion();
|
305 |
$compare = version_compare( $version, '5.3', '<' );
|
306 |
-
|
307 |
-
$content = json_encode( $data );
|
308 |
-
} else {
|
309 |
-
$option = defined( 'JSON_PRETTY_PRINT' )? JSON_PRETTY_PRINT : null;
|
310 |
-
$content = json_encode( $data, $option );
|
311 |
-
}
|
312 |
// Send the download headers.
|
313 |
header( 'Pragma: public' );
|
314 |
header( 'Expires: 0' );
|
@@ -317,11 +312,11 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
317 |
header( 'Content-type: application/json' );
|
318 |
header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
|
319 |
header( 'Content-Transfer-Encoding: binary' );
|
320 |
-
header( 'Content-Length: ' . strlen( $
|
321 |
/**
|
322 |
* Finally send the export-file content.
|
323 |
*/
|
324 |
-
echo $
|
325 |
exit;
|
326 |
}
|
327 |
|
@@ -476,7 +471,7 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
476 |
self::json_response( $req );
|
477 |
}
|
478 |
|
479 |
-
$data = json_decode( base64_decode(
|
480 |
|
481 |
if (
|
482 |
is_array( $data['meta'] ) &&
|
@@ -750,7 +745,9 @@ class CustomSidebarsExport extends CustomSidebars {
|
|
750 |
// =====================================================================
|
751 |
// Import widgets
|
752 |
$widget_count = 0;
|
753 |
-
$def_sidebars =
|
|
|
|
|
754 |
$widget_list = array();
|
755 |
$orig_POST = $_POST;
|
756 |
/**
|
63 |
*/
|
64 |
public function widget_header() {
|
65 |
?>
|
66 |
+
<a href="#" class="cs-action btn-export"><?php esc_html_e( 'Import / Export Sidebars', 'custom-sidebars' ); ?></a>
|
67 |
<?php
|
68 |
}
|
69 |
|
162 |
'csb_version' => $csb_info['Version'],
|
163 |
'theme_name' => $theme->get( 'Name' ),
|
164 |
'theme_version' => $theme->get( 'Version' ),
|
165 |
+
'description' => sanitize_text_field( @$_POST['export-description'] ),
|
166 |
);
|
167 |
|
168 |
// Export the custom sidebars.
|
303 |
*/
|
304 |
$version = phpversion();
|
305 |
$compare = version_compare( $version, '5.3', '<' );
|
306 |
+
|
|
|
|
|
|
|
|
|
|
|
307 |
// Send the download headers.
|
308 |
header( 'Pragma: public' );
|
309 |
header( 'Expires: 0' );
|
312 |
header( 'Content-type: application/json' );
|
313 |
header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
|
314 |
header( 'Content-Transfer-Encoding: binary' );
|
315 |
+
header( 'Content-Length: ' . strlen( wp_json_encode($data) ) );
|
316 |
/**
|
317 |
* Finally send the export-file content.
|
318 |
*/
|
319 |
+
echo wp_json_encode($data);
|
320 |
exit;
|
321 |
}
|
322 |
|
471 |
self::json_response( $req );
|
472 |
}
|
473 |
|
474 |
+
$data = json_decode( base64_decode( @sanitize_textarea_field($_POST['import_data']) ), true );
|
475 |
|
476 |
if (
|
477 |
is_array( $data['meta'] ) &&
|
745 |
// =====================================================================
|
746 |
// Import widgets
|
747 |
$widget_count = 0;
|
748 |
+
$def_sidebars = get_option( 'sidebars_widgets', array() );
|
749 |
+
|
750 |
+
|
751 |
$widget_list = array();
|
752 |
$orig_POST = $_POST;
|
753 |
/**
|
inc/class-custom-sidebars-replacer.php
CHANGED
@@ -119,9 +119,9 @@ class CustomSidebarsReplacer extends CustomSidebars {
|
|
119 |
$css_before = array_unique( $css_before );
|
120 |
echo '<style type="text/css" media="screen">';
|
121 |
echo PHP_EOL;
|
122 |
-
|
123 |
echo PHP_EOL;
|
124 |
-
|
125 |
echo '</style>';
|
126 |
echo PHP_EOL;
|
127 |
|
119 |
$css_before = array_unique( $css_before );
|
120 |
echo '<style type="text/css" media="screen">';
|
121 |
echo PHP_EOL;
|
122 |
+
CustomSidebars::wp_kses_wf(implode( PHP_EOL, $css_before ));
|
123 |
echo PHP_EOL;
|
124 |
+
CustomSidebars::wp_kses_wf( $css );
|
125 |
echo '</style>';
|
126 |
echo PHP_EOL;
|
127 |
|
inc/class-custom-sidebars-visibility.php
CHANGED
@@ -197,59 +197,59 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
197 |
?>
|
198 |
<input type="hidden" name="csb-visibility-button" value="0" />
|
199 |
<?php if ( ! isset( $_POST['csb-visibility-button'] ) ) : ?>
|
200 |
-
<a href="#" class="button csb-visibility-button"><span class="dashicons dashicons-visibility"></span> <?php
|
201 |
<?php else : ?>
|
202 |
-
<script>jQuery(function() { jQuery('.csb-visibility-<?php
|
203 |
<?php endif; ?>
|
204 |
|
205 |
<div class="csb-visibility-inner" <?php if ( ! $is_visible ) : ?>style="display:none"<?php endif; ?>>
|
206 |
<input type="hidden" name="csb_visible" class="csb-visible-flag" value="<?php echo esc_attr( $is_visible ); ?>" />
|
207 |
|
208 |
<div class="csb-option-row csb-action">
|
209 |
-
<label for="<?php echo esc_attr( $widget->id ); ?>-action" class="lbl-show-if toggle-action" <?php if ( ! $action_show ) : ?>style="display:none"<?php endif; ?>><?php
|
210 |
-
<label for="<?php echo esc_attr( $widget->id ); ?>-action" class="lbl-hide-if toggle-action" <?php if ( $action_show ) : ?>style="display:none"<?php endif; ?>><?php
|
211 |
<input type="hidden" id="<?php echo esc_attr( $widget->id ); ?>-action" name="csb_visibility[action]" value="<?php echo esc_attr( $data['action'] ); ?>" />
|
212 |
<i class="dashicons dashicons-plus choose-filters show-on-hover action"></i>
|
213 |
<ul class="dropdown" style="display:none">
|
214 |
-
<li class="csb-group"><?php
|
215 |
<li class="add-filter"
|
216 |
data-for=".csb-date"
|
217 |
style="display:none">
|
218 |
-
<?php
|
219 |
</li>
|
220 |
<li class="add-filter"
|
221 |
data-for=".csb-guest"
|
222 |
<?php if ( ! empty( $cond['guest'] ) ) : ?>style="display:none"<?php endif; ?>>
|
223 |
-
<?php
|
224 |
</li>
|
225 |
<li class="add-filter"
|
226 |
data-for=".csb-roles"
|
227 |
<?php if ( ! empty( $cond['roles'] ) ) : ?>style="display:none"<?php endif; ?>>
|
228 |
-
<?php
|
229 |
</li>
|
230 |
<?php if ( false != $membership_levels ) : ?>
|
231 |
<li class="add-filter"
|
232 |
data-for=".csb-membership">
|
233 |
-
<?php
|
234 |
</li>
|
235 |
<?php endif; ?>
|
236 |
<?php if ( false != $membership2_items ) : ?>
|
237 |
<li class="add-filter"
|
238 |
data-for=".csb-membership2">
|
239 |
-
<?php
|
240 |
</li>
|
241 |
<?php endif; ?>
|
242 |
<li class="add-filter"
|
243 |
data-for=".csb-pagetypes"
|
244 |
<?php if ( ! empty( $cond['pagetypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
245 |
-
<?php
|
246 |
</li>
|
247 |
<li class="add-filter"
|
248 |
data-for=".csb-posttypes"
|
249 |
<?php if ( ! empty( $cond['posttypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
250 |
-
<?php
|
251 |
</li>
|
252 |
-
<li class="csb-group"><?php
|
253 |
<?php foreach ( $tax_list as $tax_item ) :
|
254 |
$row_id = 'tax-' . $tax_item->name;
|
255 |
?>
|
@@ -266,38 +266,20 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
266 |
<?php $block_name = 'csb_visibility[conditions]'; ?>
|
267 |
|
268 |
<div class="csb-option-row csb-always" <?php if ( ! $data['always'] ) : ?>style="display:none"<?php endif; ?>>
|
269 |
-
<label><?php
|
270 |
</div>
|
271 |
|
272 |
-
<?php /* DATE */ /* ?>
|
273 |
-
<div class="csb-option-row csb-date" style="display:none">
|
274 |
-
<label for="<?php echo esc_attr( $widget->id ); ?>-date">
|
275 |
-
<span class="csb-and" style="display:none"><?php _e( 'AND', 'custom-sidebars' ); ?></span>
|
276 |
-
<?php _e( 'On these dates', 'custom-sidebars' ); ?>
|
277 |
-
</label>
|
278 |
-
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
279 |
-
<input type="text"
|
280 |
-
id="<?php echo esc_attr( $widget->id ); ?>-date"
|
281 |
-
name="<?php echo esc_attr( $block_name ); ?>[date][from]"
|
282 |
-
value="<?php echo esc_attr( @$cond['date']['from'] ); ?>" />
|
283 |
-
<input type="text"
|
284 |
-
id="<?php echo esc_attr( $widget->id ); ?>-date-to"
|
285 |
-
name="<?php echo esc_attr( $block_name ); ?>[date][to]"
|
286 |
-
value="<?php echo esc_attr( @$cond['date']['to'] ); ?>" />
|
287 |
-
</div>
|
288 |
-
<?php */ ?>
|
289 |
-
|
290 |
<?php /* GUEST */ ?>
|
291 |
<div class="csb-option-row csb-guest" <?php if ( empty( $cond['guest'] ) ) : ?>style="display:none"<?php endif; ?>>
|
292 |
<label for="<?php echo esc_attr( $widget->id ); ?>-guest1" style="padding-top:10px;margin-bottom:0">
|
293 |
<input id="<?php echo esc_attr( $widget->id ); ?>-guest1" type="radio" name="<?php echo esc_attr( $block_name ); ?>[guest][]" value="guest" <?php checked( in_array( 'guest', $cond['guest'] ) ); ?> />
|
294 |
-
<span class="csb-and" style="display:none"><?php
|
295 |
-
<?php
|
296 |
</label>
|
297 |
<label for="<?php echo esc_attr( $widget->id ); ?>-guest2" style="border:0;margin-bottom:0">
|
298 |
<input id="<?php echo esc_attr( $widget->id ); ?>-guest2" type="radio" name="<?php echo esc_attr( $block_name ); ?>[guest][]" value="member" <?php checked( in_array( 'member', $cond['guest'] ) ); ?> />
|
299 |
-
<span class="csb-and" style="display:none"><?php
|
300 |
-
<?php
|
301 |
</label>
|
302 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
303 |
</div>
|
@@ -305,8 +287,8 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
305 |
<?php /* ROLES */ ?>
|
306 |
<div class="csb-option-row csb-roles" <?php if ( empty( $cond['roles'] ) ) : ?>style="display:none"<?php endif; ?>>
|
307 |
<label for="<?php echo esc_attr( $widget->id ); ?>-roles">
|
308 |
-
<span class="csb-and" style="display:none"><?php
|
309 |
-
<?php
|
310 |
</label>
|
311 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
312 |
<select id="<?php echo esc_attr( $widget->id ); ?>-roles" name="<?php echo esc_attr( $block_name ); ?>[roles][]" multiple="multiple">
|
@@ -324,8 +306,8 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
324 |
<?php if ( is_array( $membership_levels ) ) : ?>
|
325 |
<div class="csb-option-row csb-membership" <?php if ( empty( $cond['membership'] ) ) : ?>style="display:none"<?php endif; ?>>
|
326 |
<label for="<?php echo esc_attr( $widget->id ); ?>-membership">
|
327 |
-
<span class="csb-and" style="display:none"><?php
|
328 |
-
<?php
|
329 |
</label>
|
330 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
331 |
<select id="<?php echo esc_attr( $widget->id ); ?>-membership" name="<?php echo esc_attr( $block_name ); ?>[membership][]" multiple="multiple">
|
@@ -333,7 +315,7 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
333 |
<?php $is_selected = in_array( $level['id'], $cond['membership'] ); ?>
|
334 |
<option <?php selected( $is_selected ); ?> value="<?php echo esc_attr( $level['id'] ); ?>">
|
335 |
<?php echo esc_html( $level['level_title'] ); ?>
|
336 |
-
<?php if ( ! $level['level_active'] ) {
|
337 |
</option>
|
338 |
<?php endforeach; ?>
|
339 |
</select>
|
@@ -344,8 +326,8 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
344 |
<?php if ( is_array( $membership2_items ) ) : ?>
|
345 |
<div class="csb-option-row csb-membership2" <?php if ( empty( $cond['membership2'] ) ) : ?>style="display:none"<?php endif; ?>>
|
346 |
<label for="<?php echo esc_attr( $widget->id ); ?>-membership2">
|
347 |
-
<span class="csb-and" style="display:none"><?php
|
348 |
-
<?php
|
349 |
</label>
|
350 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
351 |
<select id="<?php echo esc_attr( $widget->id ); ?>-membership2" name="<?php echo esc_attr( $block_name ); ?>[membership2][]" multiple="multiple">
|
@@ -353,7 +335,7 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
353 |
<?php $is_selected = in_array( $item->id, $cond['membership2'] ); ?>
|
354 |
<option <?php selected( $is_selected ); ?> value="<?php echo esc_attr( $item->id ); ?>">
|
355 |
<?php echo esc_html( $item->name ); ?>
|
356 |
-
<?php if ( ! $item->active ) {
|
357 |
</option>
|
358 |
<?php endforeach; ?>
|
359 |
</select>
|
@@ -363,8 +345,8 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
363 |
<?php /* PAGE TYPES */ ?>
|
364 |
<div class="csb-option-row csb-pagetypes" <?php if ( empty( $cond['pagetypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
365 |
<label for="<?php echo esc_attr( $widget->id ); ?>-pagetypes">
|
366 |
-
<span class="csb-and" style="display:none"><?php
|
367 |
-
<?php
|
368 |
</label>
|
369 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
370 |
<select id="<?php echo esc_attr( $widget->id ); ?>-pagetypes" name="<?php echo esc_attr( $block_name ); ?>[pagetypes][]" multiple="multiple">
|
@@ -382,8 +364,8 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
382 |
<?php if ( empty( $cond['posttypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
383 |
|
384 |
<label for="<?php echo esc_attr( $widget->id ); ?>-posttypes">
|
385 |
-
<span class="csb-and" style="display:none"><?php
|
386 |
-
<?php
|
387 |
</label>
|
388 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
389 |
<select class="posttype"
|
@@ -466,7 +448,7 @@ class CustomSidebarsVisibility extends CustomSidebars {
|
|
466 |
<div class="csb-option-row csb-<?php echo esc_attr( $row_id ); ?>"
|
467 |
<?php if ( empty( $cond[ $row_id ] ) ) : ?>style="display:none"<?php endif; ?>>
|
468 |
<label for="<?php echo esc_attr( $widget->id ); ?>-<?php echo esc_attr( $row_id ); ?>">
|
469 |
-
<span class="csb-and" style="display:none"><?php
|
470 |
<?php echo esc_html( $tax_item->labels->name ); ?>
|
471 |
</label>
|
472 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
@@ -560,7 +542,8 @@ foreach ( $tags as $one ) {
|
|
560 |
* @return array Modified settings.
|
561 |
*/
|
562 |
public function admin_widget_update( $instance, $new_instance, $old_instance ) {
|
563 |
-
|
|
|
564 |
foreach ( $data['conditions'] as $key => $list ) {
|
565 |
if ( ! is_array( $list ) ) {
|
566 |
$list = explode( ',', $list );
|
@@ -965,9 +948,9 @@ foreach ( $tags as $one ) {
|
|
965 |
|
966 |
$data = array();
|
967 |
if ( isset( $_GET['tag'] ) ) {
|
968 |
-
$data = $this->ajax_data_terms(
|
969 |
} elseif ( isset( $_GET['posttype'] ) ) {
|
970 |
-
$data = $this->ajax_data_posts(
|
971 |
}
|
972 |
|
973 |
self::json_response( array( 'items' => $data ) );
|
197 |
?>
|
198 |
<input type="hidden" name="csb-visibility-button" value="0" />
|
199 |
<?php if ( ! isset( $_POST['csb-visibility-button'] ) ) : ?>
|
200 |
+
<a href="#" class="button csb-visibility-button"><span class="dashicons dashicons-visibility"></span> <?php esc_html_e( 'Visibility', 'custom-sidebars' ); ?></a>
|
201 |
<?php else : ?>
|
202 |
+
<script>jQuery(function() { jQuery('.csb-visibility-<?php esc_attr_e( $widget->id ); ?>').closest('.widget').trigger('csb:update'); }); </script>
|
203 |
<?php endif; ?>
|
204 |
|
205 |
<div class="csb-visibility-inner" <?php if ( ! $is_visible ) : ?>style="display:none"<?php endif; ?>>
|
206 |
<input type="hidden" name="csb_visible" class="csb-visible-flag" value="<?php echo esc_attr( $is_visible ); ?>" />
|
207 |
|
208 |
<div class="csb-option-row csb-action">
|
209 |
+
<label for="<?php echo esc_attr( $widget->id ); ?>-action" class="lbl-show-if toggle-action" <?php if ( ! $action_show ) : ?>style="display:none"<?php endif; ?>><?php CustomSidebars::wp_kses_wf(__( '<b>Show</b> widget if:', 'custom-sidebars' )); ?></label>
|
210 |
+
<label for="<?php echo esc_attr( $widget->id ); ?>-action" class="lbl-hide-if toggle-action" <?php if ( $action_show ) : ?>style="display:none"<?php endif; ?>><?php CustomSidebars::wp_kses_wf(__( '<b>Hide</b> widget if:', 'custom-sidebars' )); ?></label>
|
211 |
<input type="hidden" id="<?php echo esc_attr( $widget->id ); ?>-action" name="csb_visibility[action]" value="<?php echo esc_attr( $data['action'] ); ?>" />
|
212 |
<i class="dashicons dashicons-plus choose-filters show-on-hover action"></i>
|
213 |
<ul class="dropdown" style="display:none">
|
214 |
+
<li class="csb-group"><?php esc_html_e( 'Filters', 'custom-sidebars' ); ?></li>
|
215 |
<li class="add-filter"
|
216 |
data-for=".csb-date"
|
217 |
style="display:none">
|
218 |
+
<?php esc_html_e( 'Date', 'custom-sidebars' ); ?>
|
219 |
</li>
|
220 |
<li class="add-filter"
|
221 |
data-for=".csb-guest"
|
222 |
<?php if ( ! empty( $cond['guest'] ) ) : ?>style="display:none"<?php endif; ?>>
|
223 |
+
<?php esc_html_e( 'Guests', 'custom-sidebars' ); ?>
|
224 |
</li>
|
225 |
<li class="add-filter"
|
226 |
data-for=".csb-roles"
|
227 |
<?php if ( ! empty( $cond['roles'] ) ) : ?>style="display:none"<?php endif; ?>>
|
228 |
+
<?php esc_html_e( 'Roles', 'custom-sidebars' ); ?>
|
229 |
</li>
|
230 |
<?php if ( false != $membership_levels ) : ?>
|
231 |
<li class="add-filter"
|
232 |
data-for=".csb-membership">
|
233 |
+
<?php esc_html_e( 'Membership', 'custom-sidebars' ); ?>
|
234 |
</li>
|
235 |
<?php endif; ?>
|
236 |
<?php if ( false != $membership2_items ) : ?>
|
237 |
<li class="add-filter"
|
238 |
data-for=".csb-membership2">
|
239 |
+
<?php esc_html_e( 'Membership2', 'custom-sidebars' ); ?>
|
240 |
</li>
|
241 |
<?php endif; ?>
|
242 |
<li class="add-filter"
|
243 |
data-for=".csb-pagetypes"
|
244 |
<?php if ( ! empty( $cond['pagetypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
245 |
+
<?php esc_html_e( 'Special Pages', 'custom-sidebars' ); ?>
|
246 |
</li>
|
247 |
<li class="add-filter"
|
248 |
data-for=".csb-posttypes"
|
249 |
<?php if ( ! empty( $cond['posttypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
250 |
+
<?php esc_html_e( 'For Post Type', 'custom-sidebars' ); ?>
|
251 |
</li>
|
252 |
+
<li class="csb-group"><?php esc_html_e( 'Taxonomy', 'custom-sidebars' ); ?></li>
|
253 |
<?php foreach ( $tax_list as $tax_item ) :
|
254 |
$row_id = 'tax-' . $tax_item->name;
|
255 |
?>
|
266 |
<?php $block_name = 'csb_visibility[conditions]'; ?>
|
267 |
|
268 |
<div class="csb-option-row csb-always" <?php if ( ! $data['always'] ) : ?>style="display:none"<?php endif; ?>>
|
269 |
+
<label><?php esc_html_e( 'Always', 'custom-sidebars' ); ?></label>
|
270 |
</div>
|
271 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
<?php /* GUEST */ ?>
|
273 |
<div class="csb-option-row csb-guest" <?php if ( empty( $cond['guest'] ) ) : ?>style="display:none"<?php endif; ?>>
|
274 |
<label for="<?php echo esc_attr( $widget->id ); ?>-guest1" style="padding-top:10px;margin-bottom:0">
|
275 |
<input id="<?php echo esc_attr( $widget->id ); ?>-guest1" type="radio" name="<?php echo esc_attr( $block_name ); ?>[guest][]" value="guest" <?php checked( in_array( 'guest', $cond['guest'] ) ); ?> />
|
276 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
277 |
+
<?php esc_html_e( 'User is not logged-in (Guest)', 'custom-sidebars' ); ?><br />
|
278 |
</label>
|
279 |
<label for="<?php echo esc_attr( $widget->id ); ?>-guest2" style="border:0;margin-bottom:0">
|
280 |
<input id="<?php echo esc_attr( $widget->id ); ?>-guest2" type="radio" name="<?php echo esc_attr( $block_name ); ?>[guest][]" value="member" <?php checked( in_array( 'member', $cond['guest'] ) ); ?> />
|
281 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
282 |
+
<?php esc_html_e( 'User is logged-in (Member)', 'custom-sidebars' ); ?>
|
283 |
</label>
|
284 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
285 |
</div>
|
287 |
<?php /* ROLES */ ?>
|
288 |
<div class="csb-option-row csb-roles" <?php if ( empty( $cond['roles'] ) ) : ?>style="display:none"<?php endif; ?>>
|
289 |
<label for="<?php echo esc_attr( $widget->id ); ?>-roles">
|
290 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
291 |
+
<?php esc_html_e( 'User has role', 'custom-sidebars' ); ?>
|
292 |
</label>
|
293 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
294 |
<select id="<?php echo esc_attr( $widget->id ); ?>-roles" name="<?php echo esc_attr( $block_name ); ?>[roles][]" multiple="multiple">
|
306 |
<?php if ( is_array( $membership_levels ) ) : ?>
|
307 |
<div class="csb-option-row csb-membership" <?php if ( empty( $cond['membership'] ) ) : ?>style="display:none"<?php endif; ?>>
|
308 |
<label for="<?php echo esc_attr( $widget->id ); ?>-membership">
|
309 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
310 |
+
<?php esc_html_e( 'User has Membership Level', 'custom-sidebars' ); ?>
|
311 |
</label>
|
312 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
313 |
<select id="<?php echo esc_attr( $widget->id ); ?>-membership" name="<?php echo esc_attr( $block_name ); ?>[membership][]" multiple="multiple">
|
315 |
<?php $is_selected = in_array( $level['id'], $cond['membership'] ); ?>
|
316 |
<option <?php selected( $is_selected ); ?> value="<?php echo esc_attr( $level['id'] ); ?>">
|
317 |
<?php echo esc_html( $level['level_title'] ); ?>
|
318 |
+
<?php if ( ! $level['level_active'] ) { esc_html_e( '(inactive)', 'custom-sidebars' ); } ?>
|
319 |
</option>
|
320 |
<?php endforeach; ?>
|
321 |
</select>
|
326 |
<?php if ( is_array( $membership2_items ) ) : ?>
|
327 |
<div class="csb-option-row csb-membership2" <?php if ( empty( $cond['membership2'] ) ) : ?>style="display:none"<?php endif; ?>>
|
328 |
<label for="<?php echo esc_attr( $widget->id ); ?>-membership2">
|
329 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
330 |
+
<?php esc_html_e( 'User has Membership', 'custom-sidebars' ); ?>
|
331 |
</label>
|
332 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
333 |
<select id="<?php echo esc_attr( $widget->id ); ?>-membership2" name="<?php echo esc_attr( $block_name ); ?>[membership2][]" multiple="multiple">
|
335 |
<?php $is_selected = in_array( $item->id, $cond['membership2'] ); ?>
|
336 |
<option <?php selected( $is_selected ); ?> value="<?php echo esc_attr( $item->id ); ?>">
|
337 |
<?php echo esc_html( $item->name ); ?>
|
338 |
+
<?php if ( ! $item->active ) { esc_html_e( '(inactive)', 'custom-sidebars' ); } ?>
|
339 |
</option>
|
340 |
<?php endforeach; ?>
|
341 |
</select>
|
345 |
<?php /* PAGE TYPES */ ?>
|
346 |
<div class="csb-option-row csb-pagetypes" <?php if ( empty( $cond['pagetypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
347 |
<label for="<?php echo esc_attr( $widget->id ); ?>-pagetypes">
|
348 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
349 |
+
<?php esc_html_e( 'On these special pages', 'custom-sidebars' ); ?>
|
350 |
</label>
|
351 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
352 |
<select id="<?php echo esc_attr( $widget->id ); ?>-pagetypes" name="<?php echo esc_attr( $block_name ); ?>[pagetypes][]" multiple="multiple">
|
364 |
<?php if ( empty( $cond['posttypes'] ) ) : ?>style="display:none"<?php endif; ?>>
|
365 |
|
366 |
<label for="<?php echo esc_attr( $widget->id ); ?>-posttypes">
|
367 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
368 |
+
<?php esc_html_e( 'On any page of these types', 'custom-sidebars' ); ?>
|
369 |
</label>
|
370 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
371 |
<select class="posttype"
|
448 |
<div class="csb-option-row csb-<?php echo esc_attr( $row_id ); ?>"
|
449 |
<?php if ( empty( $cond[ $row_id ] ) ) : ?>style="display:none"<?php endif; ?>>
|
450 |
<label for="<?php echo esc_attr( $widget->id ); ?>-<?php echo esc_attr( $row_id ); ?>">
|
451 |
+
<span class="csb-and" style="display:none"><?php esc_html_e( 'AND', 'custom-sidebars' ); ?></span>
|
452 |
<?php echo esc_html( $tax_item->labels->name ); ?>
|
453 |
</label>
|
454 |
<i class="dashicons dashicons-trash clear-filter show-on-hover action"></i>
|
542 |
* @return array Modified settings.
|
543 |
*/
|
544 |
public function admin_widget_update( $instance, $new_instance, $old_instance ) {
|
545 |
+
$widget_data = map_deep( $_POST, 'sanitize_text_field' );
|
546 |
+
$data = $this->get_widget_data( $widget_data );
|
547 |
foreach ( $data['conditions'] as $key => $list ) {
|
548 |
if ( ! is_array( $list ) ) {
|
549 |
$list = explode( ',', $list );
|
948 |
|
949 |
$data = array();
|
950 |
if ( isset( $_GET['tag'] ) ) {
|
951 |
+
$data = $this->ajax_data_terms( @sanitize_text_field($_GET['tag']), @sanitize_text_field($_REQUEST['q']) );
|
952 |
} elseif ( isset( $_GET['posttype'] ) ) {
|
953 |
+
$data = $this->ajax_data_posts( @sanitize_text_field($_GET['posttype']), @sanitize_text_field($_REQUEST['q']) );
|
954 |
}
|
955 |
|
956 |
self::json_response( array( 'items' => $data ) );
|
inc/class-custom-sidebars.php
CHANGED
@@ -33,13 +33,6 @@ class CustomSidebars {
|
|
33 |
*/
|
34 |
protected static $cap_required = 'edit_theme_options';
|
35 |
|
36 |
-
/**
|
37 |
-
* URL to the documentation/info page of the pro plugin
|
38 |
-
*
|
39 |
-
* @var string
|
40 |
-
*/
|
41 |
-
public static $pro_url = 'https://premium.wpmudev.org/project/custom-sidebars-pro/';
|
42 |
-
|
43 |
/**
|
44 |
* Flag that specifies if the page is loaded in accessibility mode.
|
45 |
* This plugin does not support accessibility mode!
|
@@ -125,7 +118,7 @@ class CustomSidebars {
|
|
125 |
'<strong>',
|
126 |
'</strong><br />',
|
127 |
"<code>remove_theme_support( 'widgets-block-editor' );</code>",
|
128 |
-
"<a href=\"$post_link\" target=\"_blank\">",
|
129 |
'</a>'
|
130 |
);
|
131 |
?>
|
@@ -276,7 +269,7 @@ class CustomSidebars {
|
|
276 |
}
|
277 |
|
278 |
// Find out if the page is loaded in accessibility mode.
|
279 |
-
$flag = isset( $_GET['widgets-access'] ) ? $_GET['widgets-access'] : get_user_setting( 'widgets_access' );
|
280 |
self::$accessibility_mode = ( 'on' == $flag );
|
281 |
|
282 |
// We don't support accessibility mode. Display a note to the user.
|
@@ -315,7 +308,7 @@ class CustomSidebars {
|
|
315 |
|
316 |
// Display a message after import.
|
317 |
if ( ! empty( $_GET['cs-msg'] ) ) {
|
318 |
-
$msg = base64_decode( $_GET['cs-msg'] );
|
319 |
|
320 |
// Prevent XSS attacks...
|
321 |
$kses_args = array(
|
@@ -983,7 +976,7 @@ class CustomSidebars {
|
|
983 |
ob_end_clean(); }
|
984 |
|
985 |
header( 'Content-Type: text/plain' );
|
986 |
-
|
987 |
die();
|
988 |
}
|
989 |
|
@@ -1032,8 +1025,8 @@ class CustomSidebars {
|
|
1032 |
// Catch any unexpected output via output buffering.
|
1033 |
ob_start();
|
1034 |
|
1035 |
-
$action = isset( $_POST['do'] ) ? $_POST['do'] : null;
|
1036 |
-
$get_action = isset( $_GET['do'] ) ? $_GET['do'] : null;
|
1037 |
|
1038 |
/**
|
1039 |
* Notify all extensions about the ajax call.
|
@@ -1116,14 +1109,6 @@ class CustomSidebars {
|
|
1116 |
array_unshift($actions, $widgets);
|
1117 |
}
|
1118 |
|
1119 |
-
/*
|
1120 |
-
$url = 'https://wordpress.org/support/plugin/custom-sidebars';
|
1121 |
-
$actions['support'] = sprintf(
|
1122 |
-
'<a href="%s">%s</a>',
|
1123 |
-
esc_url( $url ),
|
1124 |
-
__( 'Support', 'custom-sidebars' )
|
1125 |
-
);
|
1126 |
-
*/
|
1127 |
return $actions;
|
1128 |
}
|
1129 |
|
@@ -1251,4 +1236,306 @@ class CustomSidebars {
|
|
1251 |
private static function sort_by_label( $a, $b ) {
|
1252 |
return strcmp( $a->label, $b->label );
|
1253 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1254 |
};
|
33 |
*/
|
34 |
protected static $cap_required = 'edit_theme_options';
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Flag that specifies if the page is loaded in accessibility mode.
|
38 |
* This plugin does not support accessibility mode!
|
118 |
'<strong>',
|
119 |
'</strong><br />',
|
120 |
"<code>remove_theme_support( 'widgets-block-editor' );</code>",
|
121 |
+
"<a href=\"" . esc_url($post_link) . "\" target=\"_blank\">",
|
122 |
'</a>'
|
123 |
);
|
124 |
?>
|
269 |
}
|
270 |
|
271 |
// Find out if the page is loaded in accessibility mode.
|
272 |
+
$flag = isset( $_GET['widgets-access'] ) ? sanitize_text_field($_GET['widgets-access']) : get_user_setting( 'widgets_access' );
|
273 |
self::$accessibility_mode = ( 'on' == $flag );
|
274 |
|
275 |
// We don't support accessibility mode. Display a note to the user.
|
308 |
|
309 |
// Display a message after import.
|
310 |
if ( ! empty( $_GET['cs-msg'] ) ) {
|
311 |
+
$msg = base64_decode( sanitize_text_field($_GET['cs-msg']) );
|
312 |
|
313 |
// Prevent XSS attacks...
|
314 |
$kses_args = array(
|
976 |
ob_end_clean(); }
|
977 |
|
978 |
header( 'Content-Type: text/plain' );
|
979 |
+
CustomSidebars::wp_kses_wf('' . $data);
|
980 |
die();
|
981 |
}
|
982 |
|
1025 |
// Catch any unexpected output via output buffering.
|
1026 |
ob_start();
|
1027 |
|
1028 |
+
$action = isset( $_POST['do'] ) ? sanitize_key($_POST['do']) : null;
|
1029 |
+
$get_action = isset( $_GET['do'] ) ? sanitize_key($_GET['do']) : null;
|
1030 |
|
1031 |
/**
|
1032 |
* Notify all extensions about the ajax call.
|
1109 |
array_unshift($actions, $widgets);
|
1110 |
}
|
1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1112 |
return $actions;
|
1113 |
}
|
1114 |
|
1236 |
private static function sort_by_label( $a, $b ) {
|
1237 |
return strcmp( $a->label, $b->label );
|
1238 |
}
|
1239 |
+
|
1240 |
+
public static function wp_kses_wf($html)
|
1241 |
+
{
|
1242 |
+
add_filter('safe_style_css', function ($styles) {
|
1243 |
+
$styles_wf = array(
|
1244 |
+
'text-align',
|
1245 |
+
'margin',
|
1246 |
+
'color',
|
1247 |
+
'float',
|
1248 |
+
'border',
|
1249 |
+
'background',
|
1250 |
+
'background-color',
|
1251 |
+
'border-bottom',
|
1252 |
+
'border-bottom-color',
|
1253 |
+
'border-bottom-style',
|
1254 |
+
'border-bottom-width',
|
1255 |
+
'border-collapse',
|
1256 |
+
'border-color',
|
1257 |
+
'border-left',
|
1258 |
+
'border-left-color',
|
1259 |
+
'border-left-style',
|
1260 |
+
'border-left-width',
|
1261 |
+
'border-right',
|
1262 |
+
'border-right-color',
|
1263 |
+
'border-right-style',
|
1264 |
+
'border-right-width',
|
1265 |
+
'border-spacing',
|
1266 |
+
'border-style',
|
1267 |
+
'border-top',
|
1268 |
+
'border-top-color',
|
1269 |
+
'border-top-style',
|
1270 |
+
'border-top-width',
|
1271 |
+
'border-width',
|
1272 |
+
'caption-side',
|
1273 |
+
'clear',
|
1274 |
+
'cursor',
|
1275 |
+
'direction',
|
1276 |
+
'font',
|
1277 |
+
'font-family',
|
1278 |
+
'font-size',
|
1279 |
+
'font-style',
|
1280 |
+
'font-variant',
|
1281 |
+
'font-weight',
|
1282 |
+
'height',
|
1283 |
+
'letter-spacing',
|
1284 |
+
'line-height',
|
1285 |
+
'margin-bottom',
|
1286 |
+
'margin-left',
|
1287 |
+
'margin-right',
|
1288 |
+
'margin-top',
|
1289 |
+
'overflow',
|
1290 |
+
'padding',
|
1291 |
+
'padding-bottom',
|
1292 |
+
'padding-left',
|
1293 |
+
'padding-right',
|
1294 |
+
'padding-top',
|
1295 |
+
'text-decoration',
|
1296 |
+
'text-indent',
|
1297 |
+
'vertical-align',
|
1298 |
+
'width',
|
1299 |
+
'display',
|
1300 |
+
);
|
1301 |
+
|
1302 |
+
foreach ($styles_wf as $style_wf) {
|
1303 |
+
$styles[] = $style_wf;
|
1304 |
+
}
|
1305 |
+
return $styles;
|
1306 |
+
});
|
1307 |
+
|
1308 |
+
$allowed_tags = wp_kses_allowed_html('post');
|
1309 |
+
$allowed_tags['input'] = array(
|
1310 |
+
'type' => true,
|
1311 |
+
'style' => true,
|
1312 |
+
'class' => true,
|
1313 |
+
'id' => true,
|
1314 |
+
'checked' => true,
|
1315 |
+
'disabled' => true,
|
1316 |
+
'name' => true,
|
1317 |
+
'size' => true,
|
1318 |
+
'placeholder' => true,
|
1319 |
+
'value' => true,
|
1320 |
+
'data-*' => true,
|
1321 |
+
'size' => true,
|
1322 |
+
'disabled' => true
|
1323 |
+
);
|
1324 |
+
|
1325 |
+
$allowed_tags['textarea'] = array(
|
1326 |
+
'type' => true,
|
1327 |
+
'style' => true,
|
1328 |
+
'class' => true,
|
1329 |
+
'id' => true,
|
1330 |
+
'checked' => true,
|
1331 |
+
'disabled' => true,
|
1332 |
+
'name' => true,
|
1333 |
+
'size' => true,
|
1334 |
+
'placeholder' => true,
|
1335 |
+
'value' => true,
|
1336 |
+
'data-*' => true,
|
1337 |
+
'cols' => true,
|
1338 |
+
'rows' => true,
|
1339 |
+
'disabled' => true,
|
1340 |
+
'autocomplete' => true
|
1341 |
+
);
|
1342 |
+
|
1343 |
+
$allowed_tags['select'] = array(
|
1344 |
+
'type' => true,
|
1345 |
+
'style' => true,
|
1346 |
+
'class' => true,
|
1347 |
+
'id' => true,
|
1348 |
+
'checked' => true,
|
1349 |
+
'disabled' => true,
|
1350 |
+
'name' => true,
|
1351 |
+
'size' => true,
|
1352 |
+
'placeholder' => true,
|
1353 |
+
'value' => true,
|
1354 |
+
'data-*' => true,
|
1355 |
+
'multiple' => true,
|
1356 |
+
'disabled' => true
|
1357 |
+
);
|
1358 |
+
|
1359 |
+
$allowed_tags['option'] = array(
|
1360 |
+
'type' => true,
|
1361 |
+
'style' => true,
|
1362 |
+
'class' => true,
|
1363 |
+
'id' => true,
|
1364 |
+
'checked' => true,
|
1365 |
+
'disabled' => true,
|
1366 |
+
'name' => true,
|
1367 |
+
'size' => true,
|
1368 |
+
'placeholder' => true,
|
1369 |
+
'value' => true,
|
1370 |
+
'selected' => true,
|
1371 |
+
'data-*' => true
|
1372 |
+
);
|
1373 |
+
$allowed_tags['optgroup'] = array(
|
1374 |
+
'type' => true,
|
1375 |
+
'style' => true,
|
1376 |
+
'class' => true,
|
1377 |
+
'id' => true,
|
1378 |
+
'checked' => true,
|
1379 |
+
'disabled' => true,
|
1380 |
+
'name' => true,
|
1381 |
+
'size' => true,
|
1382 |
+
'placeholder' => true,
|
1383 |
+
'value' => true,
|
1384 |
+
'selected' => true,
|
1385 |
+
'data-*' => true,
|
1386 |
+
'label' => true
|
1387 |
+
);
|
1388 |
+
|
1389 |
+
$allowed_tags['a'] = array(
|
1390 |
+
'href' => true,
|
1391 |
+
'data-*' => true,
|
1392 |
+
'class' => true,
|
1393 |
+
'style' => true,
|
1394 |
+
'id' => true,
|
1395 |
+
'target' => true,
|
1396 |
+
'data-*' => true,
|
1397 |
+
'role' => true,
|
1398 |
+
'aria-controls' => true,
|
1399 |
+
'aria-selected' => true,
|
1400 |
+
'disabled' => true
|
1401 |
+
);
|
1402 |
+
|
1403 |
+
$allowed_tags['div'] = array(
|
1404 |
+
'style' => true,
|
1405 |
+
'class' => true,
|
1406 |
+
'id' => true,
|
1407 |
+
'data-*' => true,
|
1408 |
+
'role' => true,
|
1409 |
+
'aria-labelledby' => true,
|
1410 |
+
'value' => true,
|
1411 |
+
'aria-modal' => true,
|
1412 |
+
'tabindex' => true
|
1413 |
+
);
|
1414 |
+
|
1415 |
+
$allowed_tags['li'] = array(
|
1416 |
+
'style' => true,
|
1417 |
+
'class' => true,
|
1418 |
+
'id' => true,
|
1419 |
+
'data-*' => true,
|
1420 |
+
'role' => true,
|
1421 |
+
'aria-labelledby' => true,
|
1422 |
+
'value' => true,
|
1423 |
+
'aria-modal' => true,
|
1424 |
+
'tabindex' => true
|
1425 |
+
);
|
1426 |
+
|
1427 |
+
$allowed_tags['span'] = array(
|
1428 |
+
'style' => true,
|
1429 |
+
'class' => true,
|
1430 |
+
'id' => true,
|
1431 |
+
'data-*' => true,
|
1432 |
+
'aria-hidden' => true
|
1433 |
+
);
|
1434 |
+
|
1435 |
+
$allowed_tags['style'] = array(
|
1436 |
+
'class' => true,
|
1437 |
+
'id' => true,
|
1438 |
+
'type' => true
|
1439 |
+
);
|
1440 |
+
|
1441 |
+
$allowed_tags['fieldset'] = array(
|
1442 |
+
'class' => true,
|
1443 |
+
'id' => true,
|
1444 |
+
'type' => true
|
1445 |
+
);
|
1446 |
+
|
1447 |
+
$allowed_tags['link'] = array(
|
1448 |
+
'class' => true,
|
1449 |
+
'id' => true,
|
1450 |
+
'type' => true,
|
1451 |
+
'rel' => true,
|
1452 |
+
'href' => true,
|
1453 |
+
'media' => true
|
1454 |
+
);
|
1455 |
+
|
1456 |
+
$allowed_tags['form'] = array(
|
1457 |
+
'style' => true,
|
1458 |
+
'class' => true,
|
1459 |
+
'id' => true,
|
1460 |
+
'method' => true,
|
1461 |
+
'action' => true,
|
1462 |
+
'data-*' => true
|
1463 |
+
);
|
1464 |
+
|
1465 |
+
$allowed_tags['script'] = array(
|
1466 |
+
'class' => true,
|
1467 |
+
'id' => true,
|
1468 |
+
'type' => true,
|
1469 |
+
'src' => true
|
1470 |
+
);
|
1471 |
+
|
1472 |
+
echo wp_kses($html, $allowed_tags);
|
1473 |
+
|
1474 |
+
add_filter('safe_style_css', function ($styles) {
|
1475 |
+
$styles_wf = array(
|
1476 |
+
'text-align',
|
1477 |
+
'margin',
|
1478 |
+
'color',
|
1479 |
+
'float',
|
1480 |
+
'border',
|
1481 |
+
'background',
|
1482 |
+
'background-color',
|
1483 |
+
'border-bottom',
|
1484 |
+
'border-bottom-color',
|
1485 |
+
'border-bottom-style',
|
1486 |
+
'border-bottom-width',
|
1487 |
+
'border-collapse',
|
1488 |
+
'border-color',
|
1489 |
+
'border-left',
|
1490 |
+
'border-left-color',
|
1491 |
+
'border-left-style',
|
1492 |
+
'border-left-width',
|
1493 |
+
'border-right',
|
1494 |
+
'border-right-color',
|
1495 |
+
'border-right-style',
|
1496 |
+
'border-right-width',
|
1497 |
+
'border-spacing',
|
1498 |
+
'border-style',
|
1499 |
+
'border-top',
|
1500 |
+
'border-top-color',
|
1501 |
+
'border-top-style',
|
1502 |
+
'border-top-width',
|
1503 |
+
'border-width',
|
1504 |
+
'caption-side',
|
1505 |
+
'clear',
|
1506 |
+
'cursor',
|
1507 |
+
'direction',
|
1508 |
+
'font',
|
1509 |
+
'font-family',
|
1510 |
+
'font-size',
|
1511 |
+
'font-style',
|
1512 |
+
'font-variant',
|
1513 |
+
'font-weight',
|
1514 |
+
'height',
|
1515 |
+
'letter-spacing',
|
1516 |
+
'line-height',
|
1517 |
+
'margin-bottom',
|
1518 |
+
'margin-left',
|
1519 |
+
'margin-right',
|
1520 |
+
'margin-top',
|
1521 |
+
'overflow',
|
1522 |
+
'padding',
|
1523 |
+
'padding-bottom',
|
1524 |
+
'padding-left',
|
1525 |
+
'padding-right',
|
1526 |
+
'padding-top',
|
1527 |
+
'text-decoration',
|
1528 |
+
'text-indent',
|
1529 |
+
'vertical-align',
|
1530 |
+
'width'
|
1531 |
+
);
|
1532 |
+
|
1533 |
+
foreach ($styles_wf as $style_wf) {
|
1534 |
+
if (($key = array_search($style_wf, $styles)) !== false) {
|
1535 |
+
unset($styles[$key]);
|
1536 |
+
}
|
1537 |
+
}
|
1538 |
+
return $styles;
|
1539 |
+
});
|
1540 |
+
}
|
1541 |
};
|
inc/external/wdev-frash/module.php
CHANGED
@@ -161,8 +161,8 @@ if ( ! class_exists( 'WDev_Frash' ) ) {
|
|
161 |
* @since 1.0.0
|
162 |
*/
|
163 |
public function wp_ajax_frash_act() {
|
164 |
-
$plugin = $_POST['plugin_id'];
|
165 |
-
$type = $_POST['type'];
|
166 |
|
167 |
$this->mark_as_done( $plugin, $type, 'ok' );
|
168 |
|
@@ -176,8 +176,8 @@ if ( ! class_exists( 'WDev_Frash' ) ) {
|
|
176 |
* @since 1.0.0
|
177 |
*/
|
178 |
public function wp_ajax_frash_dismiss() {
|
179 |
-
$plugin = $_POST['plugin_id'];
|
180 |
-
$type = $_POST['type'];
|
181 |
|
182 |
$this->mark_as_done( $plugin, $type, 'ignore' );
|
183 |
|
@@ -231,7 +231,7 @@ if ( ! class_exists( 'WDev_Frash' ) ) {
|
|
231 |
|
232 |
// The "current" time can be changed via $_GET to test the module.
|
233 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG && ! empty( $_GET['time'] ) ) {
|
234 |
-
$custom_time = $_GET['time'];
|
235 |
if ( ' ' == $custom_time[0] ) { $custom_time[0] = '+'; }
|
236 |
if ( $custom_time ) { $now = strtotime( $custom_time ); }
|
237 |
if ( ! $now ) { $now = time(); }
|
@@ -382,18 +382,18 @@ if ( ! class_exists( 'WDev_Frash' ) ) {
|
|
382 |
<div class="frash-notice-message">
|
383 |
<?php
|
384 |
printf(
|
385 |
-
$msg,
|
386 |
-
'<strong>' . $plugin->title . '</strong>'
|
387 |
);
|
388 |
?>
|
389 |
</div>
|
390 |
<div class="frash-notice-cta">
|
391 |
<input type="email" name="email" value="<?php echo esc_attr( $admin_email ); ?>" />
|
392 |
-
<button class="frash-notice-act button-primary" data-msg="<?php
|
393 |
<?php echo esc_html( $plugin->cta_email ); ?>
|
394 |
</button>
|
395 |
-
<button class="frash-notice-dismiss" data-msg="<?php
|
396 |
-
<?php
|
397 |
</button>
|
398 |
</div>
|
399 |
<?php
|
@@ -417,22 +417,22 @@ if ( ! class_exists( 'WDev_Frash' ) ) {
|
|
417 |
<div class="frash-notice-message">
|
418 |
<?php
|
419 |
printf(
|
420 |
-
$msg,
|
421 |
-
'<strong>' . $user_name . '</strong>',
|
422 |
-
'<strong>' . $plugin->title . '</strong>'
|
423 |
);
|
424 |
?>
|
425 |
</div>
|
426 |
<div class="frash-notice-cta">
|
427 |
-
<button class="frash-notice-act button-primary" data-msg="<?php
|
428 |
<?php
|
429 |
printf(
|
430 |
__( 'Rate %s', 'wdev_frash' ),
|
431 |
esc_html( $plugin->title )
|
432 |
); ?>
|
433 |
</button>
|
434 |
-
<button class="frash-notice-dismiss" data-msg="<?php
|
435 |
-
<?php
|
436 |
</button>
|
437 |
</div>
|
438 |
<?php
|
161 |
* @since 1.0.0
|
162 |
*/
|
163 |
public function wp_ajax_frash_act() {
|
164 |
+
$plugin = sanitize_key($_POST['plugin_id']);
|
165 |
+
$type = sanitize_key($_POST['type']);
|
166 |
|
167 |
$this->mark_as_done( $plugin, $type, 'ok' );
|
168 |
|
176 |
* @since 1.0.0
|
177 |
*/
|
178 |
public function wp_ajax_frash_dismiss() {
|
179 |
+
$plugin = sanitize_key($_POST['plugin_id']);
|
180 |
+
$type = sanitize_key($_POST['type']);
|
181 |
|
182 |
$this->mark_as_done( $plugin, $type, 'ignore' );
|
183 |
|
231 |
|
232 |
// The "current" time can be changed via $_GET to test the module.
|
233 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG && ! empty( $_GET['time'] ) ) {
|
234 |
+
$custom_time = sanitize_text_field($_GET['time']);
|
235 |
if ( ' ' == $custom_time[0] ) { $custom_time[0] = '+'; }
|
236 |
if ( $custom_time ) { $now = strtotime( $custom_time ); }
|
237 |
if ( ! $now ) { $now = time(); }
|
382 |
<div class="frash-notice-message">
|
383 |
<?php
|
384 |
printf(
|
385 |
+
esc_html($msg),
|
386 |
+
'<strong>' . esc_html($plugin->title) . '</strong>'
|
387 |
);
|
388 |
?>
|
389 |
</div>
|
390 |
<div class="frash-notice-cta">
|
391 |
<input type="email" name="email" value="<?php echo esc_attr( $admin_email ); ?>" />
|
392 |
+
<button class="frash-notice-act button-primary" data-msg="<?php esc_html_e( 'Thanks :)', 'wdev_frash' ); ?>">
|
393 |
<?php echo esc_html( $plugin->cta_email ); ?>
|
394 |
</button>
|
395 |
+
<button class="frash-notice-dismiss" data-msg="<?php esc_html_e( 'Saving', 'wdev_frash' ); ?>">
|
396 |
+
<?php esc_html_e( 'No thanks', 'wdev_frash' ); ?>
|
397 |
</button>
|
398 |
</div>
|
399 |
<?php
|
417 |
<div class="frash-notice-message">
|
418 |
<?php
|
419 |
printf(
|
420 |
+
esc_html($msg),
|
421 |
+
'<strong>' . esc_html($user_name) . '</strong>',
|
422 |
+
'<strong>' . esc_html($plugin->title) . '</strong>'
|
423 |
);
|
424 |
?>
|
425 |
</div>
|
426 |
<div class="frash-notice-cta">
|
427 |
+
<button class="frash-notice-act button-primary" data-msg="<?php esc_html_e( 'Thanks :)', 'wdev_frash' ); ?>">
|
428 |
<?php
|
429 |
printf(
|
430 |
__( 'Rate %s', 'wdev_frash' ),
|
431 |
esc_html( $plugin->title )
|
432 |
); ?>
|
433 |
</button>
|
434 |
+
<button class="frash-notice-dismiss" data-msg="<?php esc_html_e( 'Saving', 'wdev_frash' ); ?>">
|
435 |
+
<?php esc_html_e( 'No thanks', 'wdev_frash' ); ?>
|
436 |
</button>
|
437 |
</div>
|
438 |
<?php
|
inc/external/wpmu-lib/css/wpmu-ui.3.css
CHANGED
@@ -77,12 +77,7 @@
|
|
77 |
.wpmui-has-overlay .wpmui-overlay.light {
|
78 |
opacity: .25;
|
79 |
}
|
80 |
-
|
81 |
-
-webkit-filter: grayscale(75%);
|
82 |
-
-moz-filter: grayscale(75%);
|
83 |
-
filter: gray;
|
84 |
-
filter: grayscale(75%);
|
85 |
-
}
|
86 |
.wpmui-has-overlay #wpbody {
|
87 |
-webkit-filter: blur(3px);
|
88 |
-moz-filter: blur(3px);
|
@@ -638,7 +633,7 @@
|
|
638 |
*
|
639 |
* <div class="wpmui-box">
|
640 |
* <h3>
|
641 |
-
* <a href="#" class="toggle" title="<?php
|
642 |
* <span>Title</span>
|
643 |
* </h3>
|
644 |
* <div class="inside">
|
77 |
.wpmui-has-overlay .wpmui-overlay.light {
|
78 |
opacity: .25;
|
79 |
}
|
80 |
+
|
|
|
|
|
|
|
|
|
|
|
81 |
.wpmui-has-overlay #wpbody {
|
82 |
-webkit-filter: blur(3px);
|
83 |
-moz-filter: blur(3px);
|
633 |
*
|
634 |
* <div class="wpmui-box">
|
635 |
* <h3>
|
636 |
+
* <a href="#" class="toggle" title="<?php esc_html_e( 'Click to toggle' ); ?>"><br></a>
|
637 |
* <span>Title</span>
|
638 |
* </h3>
|
639 |
* <div class="inside">
|
inc/external/wpmu-lib/css/wpmu-ui.3.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wpmui-loading{position:relative}.wpmui-loading:after{content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;background:rgba(255,255,255,.8) url(../img/spinner.gif) center no-repeat;z-index:1000;cursor:default;min-width:20px;min-height:20px}.wpmui-loading-icon{display:inline-block;width:20px;height:20px;line-height:20px;vertical-align:middle;background:transparent url(../img/spinner.gif) center no-repeat}.wpmui-overlay{background:#000;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:0;transition:opacity .3s,z-index .3s step-end}.wpmui-has-overlay .wpmui-overlay{z-index:9999;opacity:.7;transition:opacity .3s,z-index .3s step-start}.wpmui-has-overlay .wpmui-overlay.light{opacity:.25}.wpmui-has-overlay #wpwrap{-webkit-filter:grayscale(75%);-moz-filter:grayscale(75%);filter:gray;filter:grayscale(75%)}.wpmui-has-overlay #wpbody{-webkit-filter:blur(3px);-moz-filter:blur(3px);filter:blur(3px)}.wpmui-has-overlay.no-blur #wpbody{-webkit-filter:blur(0);-moz-filter:blur(0);filter:blur(0)}.wpmui-no-scroll{overflow:hidden}.wpmui-blur{-webkit-filter:blur(3px) grayscale(75%);-moz-filter:blur(3px) grayscale(75%);filter:blur(3px) grayscale(75%);position:relative}.wpmui-blur:before{content:'';position:absolute;left:0;top:0;right:0;bottom:0;z-index:10}.wpmui-popup{background:#f5f5f5;position:fixed;box-shadow:0 2px 20px rgba(0,0,0,.4);z-index:10000;top:50%;left:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-popup .popup-title{position:absolute;left:0;top:0;right:0;line-height:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 70px 0 20px;border-bottom:1px solid #e5e5e5;background:#f8f8f8;min-height:50px;display:block;font-size:23px;font-weight:100;z-index:5}.wpmui-popup .popup-title .the-title{display:inline-block;padding-right:71px}.wpmui-popup.slidein.slidein-down .popup-title{top:auto;bottom:0;border-top:1px solid #e5e5e5;border-bottom:0}.wpmui-popup.slidein .popup-title{cursor:pointer}.wpmui-popup .only-slidein{display:none}.wpmui-popup.slideing .only-slidein{display:block}.wpmui-popup .popup-close{position:absolute;top:0;right:0;width:50px;line-height:50px;height:50px;text-align:center;text-decoration:none;color:#666;border-left:1px solid #e5e5e5;cursor:pointer;z-index:10}.wpmui-popup .popup-close:active,.wpmui-popup .popup-close:focus,.wpmui-popup .popup-close:hover{background:#fcfcfc;color:#333}.wpmui-popup .popup-close .dashicons{line-height:50px}.wpmui-popup .popup-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;padding:20px 20px 20px 20px;z-index:1}.wpmui-popup .popup-content:after{content:'';display:block;clear:both;padding:50px 0 0 0}.wpmui-popup.no-buttons .popup-content:after{padding-top:0}.wpmui-popup.no-close .popup-title{padding:0 20px}.wpmui-popup.no-close .popup-close{display:none}.wpmui-popup hr{margin:15px -20px;border:0;border-top:1px solid #e5e5e5}.wpmui-popup .buttons{text-align:right;position:absolute;bottom:0;right:0;background:rgba(245,245,245,.8);padding:10px 20px 10px;left:0;height:50px;border-top:1px solid #e5e5e5;margin:0;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.popup.wdev-slidein,.popup.wdev-window{position:fixed;z-index:10000;top:50%;left:50%;background:#fff;box-sizing:border-box}.popup.wdev-slidein.slidein .popup-title,.popup.wdev-window.slidein .popup-title{cursor:pointer}.wpmui-msg{position:relative;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg .wpmui-close{float:right;margin-top:8px;width:20px;height:20px;line-height:20px;text-align:center;cursor:pointer;text-decoration:none;font-size:16px;padding:0;color:#ccc}.wpmui-msg .wpmui-close:active,.wpmui-msg .wpmui-close:focus,.wpmui-msg .wpmui-close:hover{color:#333}.wpmui-msg .debug{padding:5px;color:#666;font-size:12px;font-family:monospace;margin-bottom:.5em;background:#f8f8f8}.wpmui-tip-box{position:relative}.wpmui-tip{position:absolute;display:none;padding:8px;z-index:100;background:#333;color:#eee;box-shadow:0 1px 8px rgba(0,0,0,.4);border-radius:2px}.wpmui-tip.wpmui-visible{display:block}.wpmui-tip:before{content:'';position:absolute;border:5px solid transparent;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.wpmui-tip.top:before{border-top-color:#333;bottom:-10px;top:auto}.wpmui-tip.bottom:before{border-bottom-color:#333;top:-5px}.wpmui-tip.left:before{border-left-color:#333;right:-10px;left:auto}.wpmui-tip.right:before{border-right-color:#333;left:-5px}.wpmui-pointer.wp-pointer-left{margin-top:30px}.wpmui-pointer.wp-pointer-left h3{background:0 0;color:#333;border:0;margin:0;padding:13px 20px 5px;font-size:13px}.wpmui-pointer.wp-pointer-left h3:before{content:'';display:none}.wpmui-pointer.wp-pointer-left p{padding:0 20px;margin:2px 0;font-size:12px}.wpmui-pointer.wp-pointer-left .wp-pointer-content{background:#fafdff;border-radius:4px;border:1px solid #ccc;box-shadow:0 1px 8px -2px rgba(0,0,0,.35);padding:0 0 15px}.wpmui-pointer.wp-pointer-left.no-title{margin-top:13px}.wpmui-pointer.wp-pointer-left.no-title .wp-pointer-content{padding-top:17px}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons{position:absolute;top:0;right:0;white-space:nowrap;padding:5px 10px}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons a.close{font-size:1px;color:transparent;width:10px;padding:0}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons a.close:before{position:static;float:right;line-height:14px;margin:3px 0 1px 5px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow{border:0;position:absolute;top:50%;left:0;margin:-6px 0 0}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:after,.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:before{content:'';border:6px solid transparent;margin:0;left:-10px;position:absolute;top:0}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:before{border-right-color:#ccc;left:-11px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:after{border-right-color:#fafdff}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow-inner{display:none}.wpmui-pointer.wp-pointer-left.wp-pointer-left{padding-left:8px;margin-left:-12px}.wpmui-pointer.wp-pointer-left.wp-pointer-left .wp-pointer-arrow{left:8px}.wpmui-form label{display:block;line-height:26px;font-size:14px;font-weight:500}.wpmui-form input[type=password],.wpmui-form input[type=text],.wpmui-form select,.wpmui-form textarea{width:100%;margin:0;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-form .hint{color:#666;font-size:12px}.wpmui-form .button-link,.wpmui-popup .button-link{display:inline-block;text-decoration:underline;font-size:13px;line-height:26px;height:28px;padding:0 10px 1px;cursor:pointer;white-space:nowrap;color:#0074a2;background:0 0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpmui-form .button-link:active,.wpmui-form .button-link:focus,.wpmui-form .button-link:hover,.wpmui-popup .button-link:active,.wpmui-popup .button-link:focus,.wpmui-popup .button-link:hover{color:#2ea2cc}.wpmui-grid-12 *,.wpmui-grid-12 :after,.wpmui-grid-12 :before,.wpmui-grid-8 *,.wpmui-grid-8 :after,.wpmui-grid-8 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-grid-12 [class*=col-],.wpmui-grid-8 [class*=col-]{float:left;padding-right:20px;position:relative}.wpmui-grid-12 [class*=col-]:last-of-type,.wpmui-grid-8 [class*=col-]:last-of-type{padding-right:0}.wpmui-grid-12,.wpmui-grid-8{width:100%;margin:0;overflow:hidden;padding:10px 0 0}.wpmui-grid-12:after,.wpmui-grid-8:after{content:'';display:table;clear:both}.wpmui-grid-12 .col-12,.wpmui-grid-8 .col-8{width:100%}.wpmui-grid-12 .col-11{width:91.66%}.wpmui-grid-8 .col-7{width:87.5%}.wpmui-grid-12 .col-10{width:83.333%}.wpmui-grid-12 .col-9,.wpmui-grid-8 .col-6{width:75%}.wpmui-grid-12 .col-8{width:66.66%}.wpmui-grid-8 .col-5{width:62.5%}.wpmui-grid-12 .col-7{width:58.33%}.wpmui-grid-12 .col-6,.wpmui-grid-8 .col-4{width:50%}.wpmui-grid-12 .col-5{width:41.66%}.wpmui-grid-8 .col-3{width:37.5%}.wpmui-grid-12 .col-4{width:33.33%}.wpmui-grid-12 .col-3,.wpmui-grid-8 .col-2{width:25%}.wpmui-grid-12 .col-2{width:16.667%}.wpmui-grid-8 .col-1{width:12.5%}.wpmui-grid-12 .col-1{width:8.33%}@media handheld,only screen and (max-width:767px){.wpmui-grid-12,.wpmui-grid-8{width:100%;min-width:0;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.wpmui-grid-12 [class*=col-],.wpmui-grid-8 [class*=col-]{width:auto;float:none;margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px;padding-left:20px;padding-right:20px}}.wpmui-box{margin-bottom:10px;padding:0;line-height:1;position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.wpmui-box>h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;border-bottom:1px solid #eee;cursor:pointer}.wpmui-box>h3 .toggle{cursor:pointer;float:right;width:36px;height:36px;color:#aaa;text-decoration:none;margin:-8px -12px;text-align:center;position:relative;line-height:36px}.wpmui-box .toggle:active,.wpmui-box .toggle:focus,.wpmui-box .toggle:hover,.wpmui-box>h3:hover .toggle{color:#777}.wpmui-box>h3 .toggle:before{content:'\f142';font:400 20px/36px dashicons;speak:none;display:inline-block;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;width:100%;height:100%;top:0;right:0}.wpmui-box>.inside{margin:6px 0 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}.wpmui-box>.inside:after{content:'';display:table;clear:both}.wpmui-box.closed>h3 .toggle:before{content:'\f140'}.wpmui-box.closed>.inside{display:none}.wpmui-box.static>h3{cursor:default}.wpmui-box.static>h3 .toggle{display:none}.wpmui-box.static>.inside{display:block}.wpmui-tabs{border-bottom:1px solid #eee;padding-bottom:0;padding-left:10px;list-style:none;margin:20px 0 0}.wpmui-tabs .tab{border:1px solid #eee;background:#f0f0f0;color:#999;display:inline-block;text-decoration:none;margin:0 4px -1px 0;padding:0 12px;font-weight:600;font-size:13px;line-height:34px}.wpmui-tabs .tab:active,.wpmui-tabs .tab:focus,.wpmui-tabs .tab:hover{background:#f4f4f4;color:#777}.wpmui-tabs .tab.active{border-bottom:1px solid #fff;background:#fff;color:#444}.wpmui-tab-contents{padding:12px}.wpmui-tab-contents .tab{display:none}.wpmui-tab-contents .tab.active{display:block}.wpmui-box>.inside>.wpmui-tabs{margin-left:-12px;margin-right:-12px;padding-left:22px}.wpmui-box>.inside>.wpmui-tab-contents{margin-left:-12px;margin-right:-12px;margin-bottom:-12px}.select2-container .wpmui-select2.select2-selection--single{height:28px}.select2-container .wpmui-select2.select2-selection--multiple,.select2-container .wpmui-select2.select2-selection--single{min-height:28px;line-height:27px;font-size:14px;border-radius:2px;border-color:#ccc}.select2-container .wpmui-select2.select2-selection--multiple .select2-selection__arrow b,.select2-container .wpmui-select2.select2-selection--single .select2-selection__arrow b{border-top-color:#aaa}.select2-container .wpmui-select2.select2-selection--multiple .select2-selection__rendered,.select2-container .wpmui-select2.select2-selection--single .select2-selection__rendered{display:block;margin-bottom:-1px}.select2-container .wpmui-select2 .select2-search--inline{margin:0;width:auto}.select2-container .wpmui-select2 .select2-search--inline .select2-search__field{margin:1px;background-image:none!important}.select2-container.select2-container--focus .wpmui-select2{border-color:#5897fb}.select2-container.select2-container--disabled .wpmui-select2{background:#ddd;font-weight:200;opacity:.5}.select2-container .select2-dropdown.wpmui-select2{overflow:hidden;z-index:1000500!important;margin-top:-1px;box-shadow:0 0 0 1px #5897fb inset;border:0;border-radius:0}.select2-container .select2-dropdown.wpmui-select2 .select2-search{margin-bottom:-1px;padding:1px}.select2-container .select2-dropdown.wpmui-select2 .select2-search .select2-search__field{margin:0;border:0;font-size:13px;border-bottom:1px solid #5897fb;background-color:#fafdff}.select2-container .select2-dropdown.wpmui-select2 .select2-results{padding:0;margin:0;font-size:13px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option{margin:0;white-space:nowrap;padding-left:20px;position:relative}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option:before{content:'';background-color:transparent;background-position:center center;background-repeat:no-repeat;position:absolute;left:1px;top:1px;width:20px;height:28px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option[aria-selected=true]{color:#5897fb;background-color:#f5f9ff;margin:1px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTIgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNC4wMDAwMDAsIC0xMC4wMDAwMDApIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM1ODk3ZmIiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzUwMDAwLCAxMC41MDAwMDApIj4KICAgICAgICAgICAgPHBhdGggZD0iTTguNzUsMCBMNC4zNzUsNC4zNzUgTDEuNzUsMS43NSBMMCwzLjUgTDQuMzc1LDcuODc1IEwxMC41LDEuNzUgTDguNzUsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted,.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted[aria-selected=true]{background-color:#5897fb;color:#fff}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted:before,.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTIgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNC4wMDAwMDAsIC0xMC4wMDAwMDApIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzUwMDAwLCAxMC41MDAwMDApIj4KICAgICAgICAgICAgPHBhdGggZD0iTTguNzUsMCBMNC4zNzUsNC4zNzUgTDEuNzUsMS43NSBMMCwzLjUgTDQuMzc1LDcuODc1IEwxMC41LDEuNzUgTDguNzUsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)}.select2-container .select2-dropdown.wpmui-select2 .select2-results [aria-multiselectable=true] .select2-results__option--highlighted[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEwcHgiIGhlaWdodD0iMTBweCIgdmlld0JveD0iMCAwIDEwIDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9Imljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01LjAwMDAwMCwgLTEwLjAwMDAwMCkiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgPHBhdGggZD0iTTEyLjc0MDAwMTcsMTAuMzAwMDAwMiBMMTAuMTI1LDEyLjkyNSBMNy41LDEwLjMgTDUuNzUsMTIuMDUgTDguMzcwMDAwODQsMTQuNjgwMDAwMyBMNS43NSwxNy4zMTk5OTk3IEw3LjUsMTkuMDY5OTk5NyBMMTAuMTE5OTk4OSwxNi40Mzk5OTk2IEwxMi43NDAwMDE3LDE5LjA2OTk5OTcgTDE0LjQ5MDAwMTcsMTcuMzE5OTk5NyBMMTEuODY5OTk4OSwxNC42ODAwMDAzIEwxNC40OTAwMDE3LDEyLjA1MDAwMDIgTDEyLjc0MDAwMTcsMTAuMzAwMDAwMiBaIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==)}.wpmui-toggle{position:relative;width:26px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wpmui-toggle-checkbox{display:none!important}.wpmui-toggle-label{display:block;overflow:hidden;cursor:pointer;border:1px solid #ccc;border-radius:50px}.wpmui-toggle-inner{display:block;width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.wpmui-toggle-inner:after,.wpmui-toggle-inner:before{display:block;float:left;width:50%;height:5px;padding:0;line-height:5px;font-size:10px;color:#fff;font-family:Trebuchet,Arial,sans-serif;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;box-shadow:0 1px 0 rgba(0,0,0,.2) inset}.wpmui-toggle-inner:before{content:"";padding-left:5px;background-color:#0074a2}.wpmui-toggle-inner:after{content:"";padding-right:5px;background-color:#eee;text-align:right}.wpmui-toggle-switch{display:block;width:14px;margin:-3.5px;background:#f8f8f8;border:1px solid #ccc;border-radius:15px;position:absolute;top:0;bottom:0;right:20px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-inner{margin-left:0}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0}.wpmui-confirm-modal{left:0;top:0;right:0;bottom:0;z-index:99998;background:#000;opacity:.4}.wpmui-confirm-box{top:25%;width:580px;padding:20px 20px 0;left:50%;margin-left:-310px;z-index:99999;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.4)}.wpmui-confirm-box .wpmui-confirm-btn{margin:10px -20px 0;padding:10px 20px;text-align:right;background:#fafafa;border-top:1px solid #e5e5e5}.wpmui-confirm-box .wpmui-confirm-btn button{margin-left:10px}.wpmui-progress-wrap{position:relative;width:100%}.wpmui-progress-wrap .wpmui-progress-full{background:rgba(255,255,255,.7);width:100%;border-radius:2px;box-shadow:1px 1px 2px 0 rgba(0,0,0,.1)}.wpmui-progress-wrap .wpmui-progress{background:#369;border-radius:2px;height:28px;transition:width .25s}.wpmui-progress-wrap .wpmui-progress-percent{position:absolute;left:0;right:0;top:0;line-height:28px;font-size:13px;text-align:center;color:#fff;text-shadow:0 0 5px #264d73}.wpmui-progress-wrap .wpmui-progress-percent:before{content:'';position:absolute;left:50%;width:30px;height:10px;top:50%;border-radius:5px;margin-top:-5px;margin-left:-15px;box-shadow:0 0 8px 4px #264d73;background:#264d73;z-index:-1;opacity:.5}.wpmui-progress-wrap .wpmui-progress-label{font-size:12px;margin-top:6px;color:#888;text-align:right}.no-pad-top{padding-top:0!important;margin-top:0!important}.no-pad-bottom{padding-bottom:0!important;margin-bottom:0!important}.no-pad{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}.dashicons.light{opacity:.5}.cf:after,.cf:before{content:'';display:table}.cf:after{clear:both}.wpmui-left{float:left}.wpmui-right{float:right}.button .dashicons,.button-primary .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}
|
1 |
+
.wpmui-loading{position:relative}.wpmui-loading:after{content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;background:rgba(255,255,255,.8) url(../img/spinner.gif) center no-repeat;z-index:1000;cursor:default;min-width:20px;min-height:20px}.wpmui-loading-icon{display:inline-block;width:20px;height:20px;line-height:20px;vertical-align:middle;background:transparent url(../img/spinner.gif) center no-repeat}.wpmui-overlay{background:#000;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:0;transition:opacity .3s,z-index .3s step-end}.wpmui-has-overlay .wpmui-overlay{z-index:9999;opacity:.7;transition:opacity .3s,z-index .3s step-start}.wpmui-has-overlay .wpmui-overlay.light{opacity:.25}.wpmui-has-overlay #wpbody{-webkit-filter:blur(3px);-moz-filter:blur(3px);filter:blur(3px)}.wpmui-has-overlay.no-blur #wpbody{-webkit-filter:blur(0);-moz-filter:blur(0);filter:blur(0)}.wpmui-no-scroll{overflow:hidden}.wpmui-blur{-webkit-filter:blur(3px) grayscale(75%);-moz-filter:blur(3px) grayscale(75%);filter:blur(3px) grayscale(75%);position:relative}.wpmui-blur:before{content:'';position:absolute;left:0;top:0;right:0;bottom:0;z-index:10}.wpmui-popup{background:#f5f5f5;position:fixed;box-shadow:0 2px 20px rgba(0,0,0,.4);z-index:10000;top:50%;left:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-popup .popup-title{position:absolute;left:0;top:0;right:0;line-height:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 70px 0 20px;border-bottom:1px solid #e5e5e5;background:#f8f8f8;min-height:50px;display:block;font-size:23px;font-weight:100;z-index:5}.wpmui-popup .popup-title .the-title{display:inline-block;padding-right:71px}.wpmui-popup.slidein.slidein-down .popup-title{top:auto;bottom:0;border-top:1px solid #e5e5e5;border-bottom:0}.wpmui-popup.slidein .popup-title{cursor:pointer}.wpmui-popup .only-slidein{display:none}.wpmui-popup.slideing .only-slidein{display:block}.wpmui-popup .popup-close{position:absolute;top:0;right:0;width:50px;line-height:50px;height:50px;text-align:center;text-decoration:none;color:#666;border-left:1px solid #e5e5e5;cursor:pointer;z-index:10}.wpmui-popup .popup-close:active,.wpmui-popup .popup-close:focus,.wpmui-popup .popup-close:hover{background:#fcfcfc;color:#333}.wpmui-popup .popup-close .dashicons{line-height:50px}.wpmui-popup .popup-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;padding:20px 20px 20px 20px;z-index:1}.wpmui-popup .popup-content:after{content:'';display:block;clear:both;padding:50px 0 0 0}.wpmui-popup.no-buttons .popup-content:after{padding-top:0}.wpmui-popup.no-close .popup-title{padding:0 20px}.wpmui-popup.no-close .popup-close{display:none}.wpmui-popup hr{margin:15px -20px;border:0;border-top:1px solid #e5e5e5}.wpmui-popup .buttons{text-align:right;position:absolute;bottom:0;right:0;background:rgba(245,245,245,.8);padding:10px 20px 10px;left:0;height:50px;border-top:1px solid #e5e5e5;margin:0;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.popup.wdev-slidein,.popup.wdev-window{position:fixed;z-index:10000;top:50%;left:50%;background:#fff;box-sizing:border-box}.popup.wdev-slidein.slidein .popup-title,.popup.wdev-window.slidein .popup-title{cursor:pointer}.wpmui-msg{position:relative;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg .wpmui-close{float:right;margin-top:8px;width:20px;height:20px;line-height:20px;text-align:center;cursor:pointer;text-decoration:none;font-size:16px;padding:0;color:#ccc}.wpmui-msg .wpmui-close:active,.wpmui-msg .wpmui-close:focus,.wpmui-msg .wpmui-close:hover{color:#333}.wpmui-msg .debug{padding:5px;color:#666;font-size:12px;font-family:monospace;margin-bottom:.5em;background:#f8f8f8}.wpmui-tip-box{position:relative}.wpmui-tip{position:absolute;display:none;padding:8px;z-index:100;background:#333;color:#eee;box-shadow:0 1px 8px rgba(0,0,0,.4);border-radius:2px}.wpmui-tip.wpmui-visible{display:block}.wpmui-tip:before{content:'';position:absolute;border:5px solid transparent;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.wpmui-tip.top:before{border-top-color:#333;bottom:-10px;top:auto}.wpmui-tip.bottom:before{border-bottom-color:#333;top:-5px}.wpmui-tip.left:before{border-left-color:#333;right:-10px;left:auto}.wpmui-tip.right:before{border-right-color:#333;left:-5px}.wpmui-pointer.wp-pointer-left{margin-top:30px}.wpmui-pointer.wp-pointer-left h3{background:0 0;color:#333;border:0;margin:0;padding:13px 20px 5px;font-size:13px}.wpmui-pointer.wp-pointer-left h3:before{content:'';display:none}.wpmui-pointer.wp-pointer-left p{padding:0 20px;margin:2px 0;font-size:12px}.wpmui-pointer.wp-pointer-left .wp-pointer-content{background:#fafdff;border-radius:4px;border:1px solid #ccc;box-shadow:0 1px 8px -2px rgba(0,0,0,.35);padding:0 0 15px}.wpmui-pointer.wp-pointer-left.no-title{margin-top:13px}.wpmui-pointer.wp-pointer-left.no-title .wp-pointer-content{padding-top:17px}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons{position:absolute;top:0;right:0;white-space:nowrap;padding:5px 10px}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons a.close{font-size:1px;color:transparent;width:10px;padding:0}.wpmui-pointer.wp-pointer-left .wp-pointer-buttons a.close:before{position:static;float:right;line-height:14px;margin:3px 0 1px 5px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow{border:0;position:absolute;top:50%;left:0;margin:-6px 0 0}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:after,.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:before{content:'';border:6px solid transparent;margin:0;left:-10px;position:absolute;top:0}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:before{border-right-color:#ccc;left:-11px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow:after{border-right-color:#fafdff}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow-inner{display:none}.wpmui-pointer.wp-pointer-left.wp-pointer-left{padding-left:8px;margin-left:-12px}.wpmui-pointer.wp-pointer-left.wp-pointer-left .wp-pointer-arrow{left:8px}.wpmui-form label{display:block;line-height:26px;font-size:14px;font-weight:500}.wpmui-form input[type=password],.wpmui-form input[type=text],.wpmui-form select,.wpmui-form textarea{width:100%;margin:0;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-form .hint{color:#666;font-size:12px}.wpmui-form .button-link,.wpmui-popup .button-link{display:inline-block;text-decoration:underline;font-size:13px;line-height:26px;height:28px;padding:0 10px 1px;cursor:pointer;white-space:nowrap;color:#0074a2;background:0 0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpmui-form .button-link:active,.wpmui-form .button-link:focus,.wpmui-form .button-link:hover,.wpmui-popup .button-link:active,.wpmui-popup .button-link:focus,.wpmui-popup .button-link:hover{color:#2ea2cc}.wpmui-grid-12 *,.wpmui-grid-12 :after,.wpmui-grid-12 :before,.wpmui-grid-8 *,.wpmui-grid-8 :after,.wpmui-grid-8 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-grid-12 [class*=col-],.wpmui-grid-8 [class*=col-]{float:left;padding-right:20px;position:relative}.wpmui-grid-12 [class*=col-]:last-of-type,.wpmui-grid-8 [class*=col-]:last-of-type{padding-right:0}.wpmui-grid-12,.wpmui-grid-8{width:100%;margin:0;overflow:hidden;padding:10px 0 0}.wpmui-grid-12:after,.wpmui-grid-8:after{content:'';display:table;clear:both}.wpmui-grid-12 .col-12,.wpmui-grid-8 .col-8{width:100%}.wpmui-grid-12 .col-11{width:91.66%}.wpmui-grid-8 .col-7{width:87.5%}.wpmui-grid-12 .col-10{width:83.333%}.wpmui-grid-12 .col-9,.wpmui-grid-8 .col-6{width:75%}.wpmui-grid-12 .col-8{width:66.66%}.wpmui-grid-8 .col-5{width:62.5%}.wpmui-grid-12 .col-7{width:58.33%}.wpmui-grid-12 .col-6,.wpmui-grid-8 .col-4{width:50%}.wpmui-grid-12 .col-5{width:41.66%}.wpmui-grid-8 .col-3{width:37.5%}.wpmui-grid-12 .col-4{width:33.33%}.wpmui-grid-12 .col-3,.wpmui-grid-8 .col-2{width:25%}.wpmui-grid-12 .col-2{width:16.667%}.wpmui-grid-8 .col-1{width:12.5%}.wpmui-grid-12 .col-1{width:8.33%}@media handheld,only screen and (max-width:767px){.wpmui-grid-12,.wpmui-grid-8{width:100%;min-width:0;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.wpmui-grid-12 [class*=col-],.wpmui-grid-8 [class*=col-]{width:auto;float:none;margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px;padding-left:20px;padding-right:20px}}.wpmui-box{margin-bottom:10px;padding:0;line-height:1;position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.wpmui-box>h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;border-bottom:1px solid #eee;cursor:pointer}.wpmui-box>h3 .toggle{cursor:pointer;float:right;width:36px;height:36px;color:#aaa;text-decoration:none;margin:-8px -12px;text-align:center;position:relative;line-height:36px}.wpmui-box .toggle:active,.wpmui-box .toggle:focus,.wpmui-box .toggle:hover,.wpmui-box>h3:hover .toggle{color:#777}.wpmui-box>h3 .toggle:before{content:'\f142';font:400 20px/36px dashicons;speak:none;display:inline-block;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;width:100%;height:100%;top:0;right:0}.wpmui-box>.inside{margin:6px 0 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}.wpmui-box>.inside:after{content:'';display:table;clear:both}.wpmui-box.closed>h3 .toggle:before{content:'\f140'}.wpmui-box.closed>.inside{display:none}.wpmui-box.static>h3{cursor:default}.wpmui-box.static>h3 .toggle{display:none}.wpmui-box.static>.inside{display:block}.wpmui-tabs{border-bottom:1px solid #eee;padding-bottom:0;padding-left:10px;list-style:none;margin:20px 0 0}.wpmui-tabs .tab{border:1px solid #eee;background:#f0f0f0;color:#999;display:inline-block;text-decoration:none;margin:0 4px -1px 0;padding:0 12px;font-weight:600;font-size:13px;line-height:34px}.wpmui-tabs .tab:active,.wpmui-tabs .tab:focus,.wpmui-tabs .tab:hover{background:#f4f4f4;color:#777}.wpmui-tabs .tab.active{border-bottom:1px solid #fff;background:#fff;color:#444}.wpmui-tab-contents{padding:12px}.wpmui-tab-contents .tab{display:none}.wpmui-tab-contents .tab.active{display:block}.wpmui-box>.inside>.wpmui-tabs{margin-left:-12px;margin-right:-12px;padding-left:22px}.wpmui-box>.inside>.wpmui-tab-contents{margin-left:-12px;margin-right:-12px;margin-bottom:-12px}.select2-container .wpmui-select2.select2-selection--single{height:28px}.select2-container .wpmui-select2.select2-selection--multiple,.select2-container .wpmui-select2.select2-selection--single{min-height:28px;line-height:27px;font-size:14px;border-radius:2px;border-color:#ccc}.select2-container .wpmui-select2.select2-selection--multiple .select2-selection__arrow b,.select2-container .wpmui-select2.select2-selection--single .select2-selection__arrow b{border-top-color:#aaa}.select2-container .wpmui-select2.select2-selection--multiple .select2-selection__rendered,.select2-container .wpmui-select2.select2-selection--single .select2-selection__rendered{display:block;margin-bottom:-1px}.select2-container .wpmui-select2 .select2-search--inline{margin:0;width:auto}.select2-container .wpmui-select2 .select2-search--inline .select2-search__field{margin:1px;background-image:none!important}.select2-container.select2-container--focus .wpmui-select2{border-color:#5897fb}.select2-container.select2-container--disabled .wpmui-select2{background:#ddd;font-weight:200;opacity:.5}.select2-container .select2-dropdown.wpmui-select2{overflow:hidden;z-index:1000500!important;margin-top:-1px;box-shadow:0 0 0 1px #5897fb inset;border:0;border-radius:0}.select2-container .select2-dropdown.wpmui-select2 .select2-search{margin-bottom:-1px;padding:1px}.select2-container .select2-dropdown.wpmui-select2 .select2-search .select2-search__field{margin:0;border:0;font-size:13px;border-bottom:1px solid #5897fb;background-color:#fafdff}.select2-container .select2-dropdown.wpmui-select2 .select2-results{padding:0;margin:0;font-size:13px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option{margin:0;white-space:nowrap;padding-left:20px;position:relative}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option:before{content:'';background-color:transparent;background-position:center center;background-repeat:no-repeat;position:absolute;left:1px;top:1px;width:20px;height:28px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option[aria-selected=true]{color:#5897fb;background-color:#f5f9ff;margin:1px}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTIgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNC4wMDAwMDAsIC0xMC4wMDAwMDApIiBzdHJva2U9Im5vbmUiIGZpbGw9IiM1ODk3ZmIiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzUwMDAwLCAxMC41MDAwMDApIj4KICAgICAgICAgICAgPHBhdGggZD0iTTguNzUsMCBMNC4zNzUsNC4zNzUgTDEuNzUsMS43NSBMMCwzLjUgTDQuMzc1LDcuODc1IEwxMC41LDEuNzUgTDguNzUsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted,.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted[aria-selected=true]{background-color:#5897fb;color:#fff}.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted:before,.select2-container .select2-dropdown.wpmui-select2 .select2-results .select2-results__option--highlighted[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTIgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNC4wMDAwMDAsIC0xMC4wMDAwMDApIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzUwMDAwLCAxMC41MDAwMDApIj4KICAgICAgICAgICAgPHBhdGggZD0iTTguNzUsMCBMNC4zNzUsNC4zNzUgTDEuNzUsMS43NSBMMCwzLjUgTDQuMzc1LDcuODc1IEwxMC41LDEuNzUgTDguNzUsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)}.select2-container .select2-dropdown.wpmui-select2 .select2-results [aria-multiselectable=true] .select2-results__option--highlighted[aria-selected=true]:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEwcHgiIGhlaWdodD0iMTBweCIgdmlld0JveD0iMCAwIDEwIDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9Imljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01LjAwMDAwMCwgLTEwLjAwMDAwMCkiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgPHBhdGggZD0iTTEyLjc0MDAwMTcsMTAuMzAwMDAwMiBMMTAuMTI1LDEyLjkyNSBMNy41LDEwLjMgTDUuNzUsMTIuMDUgTDguMzcwMDAwODQsMTQuNjgwMDAwMyBMNS43NSwxNy4zMTk5OTk3IEw3LjUsMTkuMDY5OTk5NyBMMTAuMTE5OTk4OSwxNi40Mzk5OTk2IEwxMi43NDAwMDE3LDE5LjA2OTk5OTcgTDE0LjQ5MDAwMTcsMTcuMzE5OTk5NyBMMTEuODY5OTk4OSwxNC42ODAwMDAzIEwxNC40OTAwMDE3LDEyLjA1MDAwMDIgTDEyLjc0MDAwMTcsMTAuMzAwMDAwMiBaIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==)}.wpmui-toggle{position:relative;width:26px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wpmui-toggle-checkbox{display:none!important}.wpmui-toggle-label{display:block;overflow:hidden;cursor:pointer;border:1px solid #ccc;border-radius:50px}.wpmui-toggle-inner{display:block;width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.wpmui-toggle-inner:after,.wpmui-toggle-inner:before{display:block;float:left;width:50%;height:5px;padding:0;line-height:5px;font-size:10px;color:#fff;font-family:Trebuchet,Arial,sans-serif;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;box-shadow:0 1px 0 rgba(0,0,0,.2) inset}.wpmui-toggle-inner:before{content:"";padding-left:5px;background-color:#0074a2}.wpmui-toggle-inner:after{content:"";padding-right:5px;background-color:#eee;text-align:right}.wpmui-toggle-switch{display:block;width:14px;margin:-3.5px;background:#f8f8f8;border:1px solid #ccc;border-radius:15px;position:absolute;top:0;bottom:0;right:20px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-inner{margin-left:0}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0}.wpmui-confirm-modal{left:0;top:0;right:0;bottom:0;z-index:99998;background:#000;opacity:.4}.wpmui-confirm-box{top:25%;width:580px;padding:20px 20px 0;left:50%;margin-left:-310px;z-index:99999;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.4)}.wpmui-confirm-box .wpmui-confirm-btn{margin:10px -20px 0;padding:10px 20px;text-align:right;background:#fafafa;border-top:1px solid #e5e5e5}.wpmui-confirm-box .wpmui-confirm-btn button{margin-left:10px}.wpmui-progress-wrap{position:relative;width:100%}.wpmui-progress-wrap .wpmui-progress-full{background:rgba(255,255,255,.7);width:100%;border-radius:2px;box-shadow:1px 1px 2px 0 rgba(0,0,0,.1)}.wpmui-progress-wrap .wpmui-progress{background:#369;border-radius:2px;height:28px;transition:width .25s}.wpmui-progress-wrap .wpmui-progress-percent{position:absolute;left:0;right:0;top:0;line-height:28px;font-size:13px;text-align:center;color:#fff;text-shadow:0 0 5px #264d73}.wpmui-progress-wrap .wpmui-progress-percent:before{content:'';position:absolute;left:50%;width:30px;height:10px;top:50%;border-radius:5px;margin-top:-5px;margin-left:-15px;box-shadow:0 0 8px 4px #264d73;background:#264d73;z-index:-1;opacity:.5}.wpmui-progress-wrap .wpmui-progress-label{font-size:12px;margin-top:6px;color:#888;text-align:right}.no-pad-top{padding-top:0!important;margin-top:0!important}.no-pad-bottom{padding-bottom:0!important;margin-bottom:0!important}.no-pad{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}.dashicons.light{opacity:.5}.cf:after,.cf:before{content:'';display:table}.cf:after{clear:both}.wpmui-left{float:left}.wpmui-right{float:right}.button .dashicons,.button-primary .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}
|
inc/external/wpmu-lib/inc/class-thelib-array.php
CHANGED
@@ -201,7 +201,8 @@ class TheLib_Array extends TheLib {
|
|
201 |
*/
|
202 |
public function equip_post( $fields ) {
|
203 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
204 |
-
|
|
|
205 |
}
|
206 |
|
207 |
/**
|
@@ -216,7 +217,8 @@ class TheLib_Array extends TheLib {
|
|
216 |
*/
|
217 |
public function equip_request( $fields ) {
|
218 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
219 |
-
|
|
|
220 |
}
|
221 |
|
222 |
/**
|
@@ -231,7 +233,8 @@ class TheLib_Array extends TheLib {
|
|
231 |
*/
|
232 |
public function equip_get( $fields ) {
|
233 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
234 |
-
|
|
|
235 |
}
|
236 |
|
237 |
/**
|
201 |
*/
|
202 |
public function equip_post( $fields ) {
|
203 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
204 |
+
$post_fields = map_deep( $_POST, 'sanitize_text_field' );
|
205 |
+
return $this->equip( $post_fields, $fields );
|
206 |
}
|
207 |
|
208 |
/**
|
217 |
*/
|
218 |
public function equip_request( $fields ) {
|
219 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
220 |
+
$request_fields = map_deep( $_REQUEST, 'sanitize_text_field' );
|
221 |
+
return $this->equip( $request_fields, $fields );
|
222 |
}
|
223 |
|
224 |
/**
|
233 |
*/
|
234 |
public function equip_get( $fields ) {
|
235 |
$fields = is_array( $fields ) ? $fields : func_get_args();
|
236 |
+
$get_data = map_deep($_GET,'sanitize_text_field');
|
237 |
+
return $this->equip( $get_data, $fields );
|
238 |
}
|
239 |
|
240 |
/**
|
inc/external/wpmu-lib/inc/class-thelib-core.php
CHANGED
@@ -217,87 +217,4 @@ class TheLib_Core extends TheLib {
|
|
217 |
|
218 |
return $retval;
|
219 |
}
|
220 |
-
|
221 |
-
|
222 |
-
/**
|
223 |
-
* Return URL link for wp.org, wpmudev, support, live chat, docs, installing plugin.
|
224 |
-
*
|
225 |
-
* @param string $plugin_name .
|
226 |
-
* @param string $link_for Accepts: 'chat', 'plugin', 'support', 'smush', 'docs', 'install_plugin'.
|
227 |
-
* @param string $campaign Utm campaign tag to be used in link.
|
228 |
-
*
|
229 |
-
* @return string
|
230 |
-
*/
|
231 |
-
public function get_link( $plugin_name, $link_for, $campaign ) {
|
232 |
-
$domain = 'https://premium.wpmudev.org';
|
233 |
-
$wp_org = 'https://wordpress.org';
|
234 |
-
$utm_tags = "?utm_source={$plugin_name}&utm_medium=plugin&utm_campaign={$campaign}";
|
235 |
-
|
236 |
-
$data = array(
|
237 |
-
'hummingbird' => array(
|
238 |
-
'wporg' => 'hummingbird-performance',
|
239 |
-
'wpmudev' => 'wp-hummingbird',
|
240 |
-
'pid' => '1081721',
|
241 |
-
),
|
242 |
-
'smush' => array(
|
243 |
-
'wporg' => 'wp-smushit',
|
244 |
-
'wpmudev' => 'wp-smush-pro',
|
245 |
-
'pid' => '912164',
|
246 |
-
),
|
247 |
-
'hustle' => array(
|
248 |
-
'wporg' => 'wordpress-popup',
|
249 |
-
'wpmudev' => 'hustle',
|
250 |
-
'pid' => '1107020',
|
251 |
-
),
|
252 |
-
);
|
253 |
-
|
254 |
-
switch ( $link_for ) {
|
255 |
-
case 'chat':
|
256 |
-
$link = "{$domain}/live-support/{$utm_tags}";
|
257 |
-
break;
|
258 |
-
case 'plugin':
|
259 |
-
$link = "{$domain}/project/{$data[ $plugin_name ]['wpmudev']}/{$utm_tags}";
|
260 |
-
break;
|
261 |
-
case 'support':
|
262 |
-
if ( $this->is_member() ) {
|
263 |
-
$link = "{$domain}/forum/support#question{$utm_tags}";
|
264 |
-
} else {
|
265 |
-
$link = "{$wp_org}/support/plugin/{$data[ $plugin_name ]['wporg']}";
|
266 |
-
}
|
267 |
-
break;
|
268 |
-
case 'docs':
|
269 |
-
$link = "{$domain}/docs/wpmu-dev-plugins/{$plugin_name}/{$utm_tags}";
|
270 |
-
break;
|
271 |
-
case 'install_plugin':
|
272 |
-
if ( $this->is_member() ) {
|
273 |
-
// Return the pro plugin URL.
|
274 |
-
$url = WPMUDEV_Dashboard::$ui->page_urls->plugins_url;
|
275 |
-
$link = $url . '#pid=' . $data[ $plugin_name ]['pid'];
|
276 |
-
} else {
|
277 |
-
// Return the free URL.
|
278 |
-
$link = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $data[ $plugin_name ]['wporg'] ), 'install-plugin_' . $data[ $plugin_name ]['wporg'] );
|
279 |
-
}
|
280 |
-
break;
|
281 |
-
default:
|
282 |
-
$link = '';
|
283 |
-
break;
|
284 |
-
}
|
285 |
-
|
286 |
-
return $link;
|
287 |
-
}
|
288 |
-
|
289 |
-
|
290 |
-
/**
|
291 |
-
* Check if user is a paid one in WPMU DEV
|
292 |
-
*
|
293 |
-
* @return bool
|
294 |
-
*/
|
295 |
-
public function is_member() {
|
296 |
-
if ( function_exists( 'is_wpmudev_member' ) ) {
|
297 |
-
return is_wpmudev_member();
|
298 |
-
}
|
299 |
-
|
300 |
-
return false;
|
301 |
-
}
|
302 |
-
|
303 |
}
|
217 |
|
218 |
return $retval;
|
219 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
inc/external/wpmu-lib/inc/class-thelib-debug.php
CHANGED
@@ -251,11 +251,11 @@ class TheLib_Debug extends TheLib {
|
|
251 |
if ( headers_sent() ) {
|
252 |
// HTTP Headers already sent, so add the response as HTML comment.
|
253 |
$message = str_replace( '-->', '--/>', $message );
|
254 |
-
printf( "<!-- Debug-Note[%s]: %s -->\n", $Number, $message );
|
255 |
} else {
|
256 |
// No output was sent yet so add the message to the HTTP headers.
|
257 |
$message = str_replace( array( "\n", "\r" ), ' ', $message );
|
258 |
-
header( "X-Debug-Note[$Number]: $message
|
259 |
}
|
260 |
}
|
261 |
|
@@ -296,7 +296,8 @@ class TheLib_Debug extends TheLib {
|
|
296 |
} else {
|
297 |
foreach ( func_get_args() as $param ) {
|
298 |
$dump = var_export( $param, true );
|
299 |
-
echo "\r\n"
|
|
|
300 |
}
|
301 |
}
|
302 |
|
@@ -422,7 +423,7 @@ class TheLib_Debug extends TheLib {
|
|
422 |
}
|
423 |
|
424 |
if ( $output ) {
|
425 |
-
|
426 |
}
|
427 |
|
428 |
return $trace_str;
|
@@ -627,7 +628,7 @@ class TheLib_Debug extends TheLib {
|
|
627 |
if ( ! empty( $args['do_collapse'] ) ) {
|
628 |
$row_attr = 'style="display:none;"';
|
629 |
}
|
630 |
-
echo '<tr class="' . $row_class . '"' . $row_attr . '><td>';
|
631 |
|
632 |
// Property-key, if set.
|
633 |
if ( $key === null ) {
|
@@ -673,23 +674,23 @@ class TheLib_Debug extends TheLib {
|
|
673 |
$key_style .= 'background:#FDA;';
|
674 |
}
|
675 |
|
676 |
-
echo '<span class="dev-item dev-item-key" style="' . $key_style . '">[ ' . $prefix . $key . ' ]</span>';
|
677 |
echo '<span class="dev-item"> => </span>';
|
678 |
}
|
679 |
|
680 |
// Data-Type.
|
681 |
if ( ! empty( $args['toggle'] ) ) {
|
682 |
-
echo '<a href="javascript:toggleDisplay(\''. $args['toggle'] . '\',\'' . trim( $row_class . ' ' . $args['toggle'] ) . '\');" class="dev-item dev-toggle-item">';
|
683 |
-
echo '<span style="color:#666666">' . $type . '</span> ';
|
684 |
echo '</a>';
|
685 |
} else {
|
686 |
-
echo '<span class="dev-item" style="color:#666666">' . $type . ' </span>';
|
687 |
}
|
688 |
|
689 |
if ( ! empty( $args['toggle'] ) ) {
|
690 |
$collapsed = ! empty( $args['do_collapse_next'] );
|
691 |
$toggle_style = 'display: ' . ( $collapsed ? 'inline' : 'none' );
|
692 |
-
echo '<span id="plus' . $args['toggle'] . '" class="plus dev-item" style="' . $toggle_style . '"> ⤵</span>';
|
693 |
}
|
694 |
|
695 |
// Value.
|
@@ -698,7 +699,7 @@ class TheLib_Debug extends TheLib {
|
|
698 |
if ( isset( $args['highlight'] ) ) {
|
699 |
$value_style = $args['highlight'];
|
700 |
}
|
701 |
-
echo '<span class="dev-item" style="color:' . $type_color . ';' . $value_style . '">' . $value . '</span>';
|
702 |
}
|
703 |
|
704 |
echo '</td></tr>';
|
251 |
if ( headers_sent() ) {
|
252 |
// HTTP Headers already sent, so add the response as HTML comment.
|
253 |
$message = str_replace( '-->', '--/>', $message );
|
254 |
+
printf( "<!-- Debug-Note[%s]: %s -->\n", esc_html( $Number), esc_html( $message ) );
|
255 |
} else {
|
256 |
// No output was sent yet so add the message to the HTTP headers.
|
257 |
$message = str_replace( array( "\n", "\r" ), ' ', $message );
|
258 |
+
header( "X-Debug-Note[" . esc_html( $Number ) . "]: " . esc_html( $message ), false );
|
259 |
}
|
260 |
}
|
261 |
|
296 |
} else {
|
297 |
foreach ( func_get_args() as $param ) {
|
298 |
$dump = var_export( $param, true );
|
299 |
+
echo "\r\n";
|
300 |
+
CustomSidebars::wp_kses_wf( $dump );
|
301 |
}
|
302 |
}
|
303 |
|
423 |
}
|
424 |
|
425 |
if ( $output ) {
|
426 |
+
CustomSidebars::wp_kses_wf( $trace_str );
|
427 |
}
|
428 |
|
429 |
return $trace_str;
|
628 |
if ( ! empty( $args['do_collapse'] ) ) {
|
629 |
$row_attr = 'style="display:none;"';
|
630 |
}
|
631 |
+
echo '<tr class="' . esc_attr($row_class) . '"' . esc_html($row_attr) . '><td>';
|
632 |
|
633 |
// Property-key, if set.
|
634 |
if ( $key === null ) {
|
674 |
$key_style .= 'background:#FDA;';
|
675 |
}
|
676 |
|
677 |
+
echo '<span class="dev-item dev-item-key" style="' . esc_attr($key_style) . '">[ ' . esc_attr($prefix) . esc_attr($key) . ' ]</span>';
|
678 |
echo '<span class="dev-item"> => </span>';
|
679 |
}
|
680 |
|
681 |
// Data-Type.
|
682 |
if ( ! empty( $args['toggle'] ) ) {
|
683 |
+
echo '<a href="javascript:toggleDisplay(\''. esc_attr($args['toggle']) . '\',\'' . esc_attr(trim( $row_class . ' ' . $args['toggle'] ) ) . '\');" class="dev-item dev-toggle-item">';
|
684 |
+
echo '<span style="color:#666666">' . esc_attr($type) . '</span> ';
|
685 |
echo '</a>';
|
686 |
} else {
|
687 |
+
echo '<span class="dev-item" style="color:#666666">' . esc_attr($type) . ' </span>';
|
688 |
}
|
689 |
|
690 |
if ( ! empty( $args['toggle'] ) ) {
|
691 |
$collapsed = ! empty( $args['do_collapse_next'] );
|
692 |
$toggle_style = 'display: ' . ( $collapsed ? 'inline' : 'none' );
|
693 |
+
echo '<span id="plus' . esc_attr($args['toggle']) . '" class="plus dev-item" style="' . esc_attr($toggle_style) . '"> ⤵</span>';
|
694 |
}
|
695 |
|
696 |
// Value.
|
699 |
if ( isset( $args['highlight'] ) ) {
|
700 |
$value_style = $args['highlight'];
|
701 |
}
|
702 |
+
echo '<span class="dev-item" style="color:' . esc_attr($type_color) . ';' . esc_attr($value_style) . '">' . esc_attr($value) . '</span>';
|
703 |
}
|
704 |
|
705 |
echo '</td></tr>';
|
inc/external/wpmu-lib/inc/class-thelib-html.php
CHANGED
@@ -259,6 +259,7 @@ class TheLib_Html extends TheLib {
|
|
259 |
* @internal
|
260 |
*/
|
261 |
public function _popup_callback() {
|
|
|
262 |
$items = self::_get( 'popup' );
|
263 |
self::_clear( 'popup' );
|
264 |
$screen_info = get_current_screen();
|
@@ -274,12 +275,13 @@ class TheLib_Html extends TheLib {
|
|
274 |
if ( empty( $screen ) || $screen_id == $screen ) {
|
275 |
$body = '<div>' . $body . '</div>';
|
276 |
echo '<script>jQuery(function(){wpmUi.popup()';
|
277 |
-
printf( '.title( %1$s, %2$s )', json_encode( $title ), $close );
|
278 |
-
printf( '.modal( %1$s, %2$s )', $modal, $persist );
|
279 |
-
printf( '.size( %1$s, %2$s )', json_encode( $width ), json_encode( $height ) );
|
280 |
-
printf( '.set_class( %1$s )', json_encode( $class ) );
|
281 |
-
printf( '.content( %1$s )', json_encode( $body ) );
|
282 |
echo '.show();})</script>';
|
|
|
283 |
}
|
284 |
}
|
285 |
}
|
@@ -384,7 +386,7 @@ class TheLib_Html extends TheLib {
|
|
384 |
if ( $return ) {
|
385 |
return $field_args;
|
386 |
} else {
|
387 |
-
|
388 |
return;
|
389 |
}
|
390 |
}
|
@@ -495,9 +497,9 @@ class TheLib_Html extends TheLib {
|
|
495 |
}
|
496 |
|
497 |
if ( isset( $_POST[ $sticky_key ] ) ) {
|
498 |
-
$value = $_POST[ $sticky_key ];
|
499 |
} elseif ( isset( $_GET[ $sticky_key ] ) ) {
|
500 |
-
$value = $_GET[ $sticky_key ];
|
501 |
}
|
502 |
}
|
503 |
|
@@ -813,7 +815,7 @@ class TheLib_Html extends TheLib {
|
|
813 |
esc_attr( $id ),
|
814 |
esc_attr( sanitize_title( $name ) ),
|
815 |
esc_attr( $value ),
|
816 |
-
$attr
|
817 |
);
|
818 |
if ( ! empty( $labels->title ) ) {
|
819 |
$this->element_desc( $labels );
|
@@ -844,7 +846,7 @@ class TheLib_Html extends TheLib {
|
|
844 |
esc_attr( $id ),
|
845 |
esc_attr( $name ),
|
846 |
esc_attr( $value ),
|
847 |
-
$attr
|
848 |
);
|
849 |
|
850 |
$this->element_hint( $labels );
|
@@ -867,7 +869,7 @@ class TheLib_Html extends TheLib {
|
|
867 |
esc_attr( $id ),
|
868 |
esc_attr( $name ),
|
869 |
esc_textarea( $value ),
|
870 |
-
$attr
|
871 |
);
|
872 |
|
873 |
$this->element_hint( $labels );
|
@@ -891,8 +893,8 @@ class TheLib_Html extends TheLib {
|
|
891 |
esc_attr( $id ),
|
892 |
esc_attr( $class ),
|
893 |
esc_attr( $name ),
|
894 |
-
$attr,
|
895 |
-
$options
|
896 |
);
|
897 |
|
898 |
$this->element_hint( $labels );
|
@@ -940,9 +942,9 @@ class TheLib_Html extends TheLib {
|
|
940 |
esc_attr( $key ),
|
941 |
esc_attr( $name ),
|
942 |
esc_attr( $id ),
|
943 |
-
$item_attr . $checked,
|
944 |
-
$item_text,
|
945 |
-
$radio_desc
|
946 |
);
|
947 |
}
|
948 |
|
@@ -967,9 +969,9 @@ class TheLib_Html extends TheLib {
|
|
967 |
// Multiple items in the checkbox list.
|
968 |
printf(
|
969 |
'<div class="wpmui-checkbox-title">%1$s %2$s</div><div class="wpmui-checkbox-list wpmui-field-input">%3$s',
|
970 |
-
$labels->title,
|
971 |
-
$labels->tooltip,
|
972 |
-
$item_desc
|
973 |
);
|
974 |
$item_desc = '';
|
975 |
|
@@ -1058,8 +1060,8 @@ class TheLib_Html extends TheLib {
|
|
1058 |
printf(
|
1059 |
'<label class="wpmui-checkbox-wrapper wpmui-field-label wpmui-no-checkbox %1$s">%2$s %3$s</label>',
|
1060 |
esc_attr( $item_class ),
|
1061 |
-
$item['label'],
|
1062 |
-
$item_desc
|
1063 |
);
|
1064 |
} else {
|
1065 |
printf(
|
@@ -1067,10 +1069,10 @@ class TheLib_Html extends TheLib {
|
|
1067 |
esc_attr( $id ),
|
1068 |
esc_attr( $item_class ),
|
1069 |
esc_attr( $item['name'] ),
|
1070 |
-
$attr . $item['checked'],
|
1071 |
-
$item['label'],
|
1072 |
-
$item_desc,
|
1073 |
-
$item['value']
|
1074 |
);
|
1075 |
}
|
1076 |
}
|
@@ -1111,10 +1113,10 @@ class TheLib_Html extends TheLib {
|
|
1111 |
esc_attr( $class ),
|
1112 |
esc_attr( $id ),
|
1113 |
esc_attr( $name ),
|
1114 |
-
$label,
|
1115 |
-
$attr,
|
1116 |
-
$value,
|
1117 |
-
$type
|
1118 |
);
|
1119 |
|
1120 |
$this->element_hint( $labels );
|
@@ -1136,7 +1138,7 @@ class TheLib_Html extends TheLib {
|
|
1136 |
esc_attr( $name ),
|
1137 |
esc_url( $value ),
|
1138 |
esc_attr( $alt ),
|
1139 |
-
$attr
|
1140 |
);
|
1141 |
|
1142 |
$this->element_hint( $labels );
|
@@ -1176,11 +1178,11 @@ class TheLib_Html extends TheLib {
|
|
1176 |
printf(
|
1177 |
'<div class="wpmui-radio-slider %1$s wpmui-slider-%5$s %7$s" %6$s>%8$s<div class="wpmui-toggle" %2$s>%3$s</div>%4$s%9$s</div>',
|
1178 |
esc_attr( $turned ),
|
1179 |
-
$attr,
|
1180 |
-
$link_url,
|
1181 |
-
$attr_input,
|
1182 |
esc_attr( $id ),
|
1183 |
-
$read_only,
|
1184 |
esc_attr( $class ),
|
1185 |
'<span class="before"></span>',
|
1186 |
'<span class="after"></span>'
|
@@ -1216,7 +1218,7 @@ class TheLib_Html extends TheLib {
|
|
1216 |
'<div id="%1$s" class="wpmui-no-data wpmui-field-input %2$s">%3$s</div>',
|
1217 |
esc_attr( $id ),
|
1218 |
esc_attr( $class ),
|
1219 |
-
$empty_text
|
1220 |
);
|
1221 |
} else {
|
1222 |
// There are values to select or remove. Display the input elements.
|
@@ -1231,8 +1233,8 @@ class TheLib_Html extends TheLib {
|
|
1231 |
esc_attr( $id ),
|
1232 |
esc_attr( $src_class ),
|
1233 |
esc_attr( $name ),
|
1234 |
-
$attr,
|
1235 |
-
$options_available
|
1236 |
);
|
1237 |
|
1238 |
// Button: Add element from First Select to Second Select.
|
@@ -1240,7 +1242,7 @@ class TheLib_Html extends TheLib {
|
|
1240 |
'<button id="_src_add_%1$s" class="wpmui-field-input wpmui-tag-button button %2$s" type="button">%3$s</button>',
|
1241 |
esc_attr( $id ),
|
1242 |
esc_attr( $src_class ),
|
1243 |
-
$button_text
|
1244 |
);
|
1245 |
|
1246 |
$label_tag = $labels;
|
@@ -1258,8 +1260,8 @@ class TheLib_Html extends TheLib {
|
|
1258 |
esc_attr( $id ),
|
1259 |
esc_attr( $class ),
|
1260 |
esc_attr( $name ),
|
1261 |
-
$ajax_data,
|
1262 |
-
$options_selected
|
1263 |
);
|
1264 |
}
|
1265 |
|
@@ -1363,9 +1365,9 @@ class TheLib_Html extends TheLib {
|
|
1363 |
esc_attr( strip_tags( $title ) ),
|
1364 |
esc_attr( $class ),
|
1365 |
esc_url( $url ),
|
1366 |
-
$label,
|
1367 |
-
$attr,
|
1368 |
-
$target
|
1369 |
);
|
1370 |
|
1371 |
$this->element_hint( $labels );
|
@@ -1387,7 +1389,7 @@ class TheLib_Html extends TheLib {
|
|
1387 |
'<%1$s class="%2$s">%3$s</%1$s>',
|
1388 |
esc_attr( $wrap ),
|
1389 |
esc_attr( $class ),
|
1390 |
-
$code
|
1391 |
);
|
1392 |
|
1393 |
$this->element_hint( $labels );
|
@@ -1457,8 +1459,8 @@ class TheLib_Html extends TheLib {
|
|
1457 |
printf(
|
1458 |
'<table class="wpmui-html-table %1$s">%2$s%3$s</table>',
|
1459 |
esc_attr( $class ),
|
1460 |
-
'<thead>' . $code_head . '</thead>',
|
1461 |
-
'<tbody>' . $code_body . '</tbody>'
|
1462 |
);
|
1463 |
}
|
1464 |
|
@@ -1569,9 +1571,9 @@ class TheLib_Html extends TheLib {
|
|
1569 |
|
1570 |
printf(
|
1571 |
'<%1$s class="wpmui-wrapper wpmui-%2$s-wrapper %3$s">',
|
1572 |
-
$tag,
|
1573 |
-
$type,
|
1574 |
-
$extra_classes
|
1575 |
);
|
1576 |
}
|
1577 |
|
@@ -1584,7 +1586,7 @@ class TheLib_Html extends TheLib {
|
|
1584 |
* @param string $tag Optional. The tag name, default 'span'
|
1585 |
*/
|
1586 |
private function wrap_close( $tag = 'span' ) {
|
1587 |
-
printf( '</%1$s>', $tag );
|
1588 |
}
|
1589 |
|
1590 |
/**
|
@@ -1598,8 +1600,8 @@ class TheLib_Html extends TheLib {
|
|
1598 |
printf(
|
1599 |
'<%5$s for="%1$s" class="wpmui-field-label %4$s">%2$s %3$s</%5$s>',
|
1600 |
esc_attr( $labels->id ),
|
1601 |
-
$labels->title,
|
1602 |
-
$labels->tooltip_code,
|
1603 |
esc_attr( ' wpmui-label-' . $labels->id . ' ' . $labels->class ),
|
1604 |
esc_attr( $labels->label_type )
|
1605 |
);
|
@@ -1618,7 +1620,7 @@ class TheLib_Html extends TheLib {
|
|
1618 |
if ( ! empty( $labels->desc ) ) {
|
1619 |
printf(
|
1620 |
'<label class="wpmui-field-description %2$s" for="%3$s">%1$s</label >',
|
1621 |
-
$labels->desc,
|
1622 |
esc_attr( 'wpmui-description-' . $labels->id . ' ' . $labels->class ),
|
1623 |
esc_attr( $labels->id )
|
1624 |
);
|
@@ -1627,7 +1629,7 @@ class TheLib_Html extends TheLib {
|
|
1627 |
if ( ! empty( $labels->before ) ) {
|
1628 |
printf(
|
1629 |
'<span class="wpmui-label-before">%s</span>',
|
1630 |
-
$labels->before
|
1631 |
);
|
1632 |
}
|
1633 |
}
|
@@ -1642,12 +1644,12 @@ class TheLib_Html extends TheLib {
|
|
1642 |
if ( ! empty( $labels->after ) ) {
|
1643 |
printf(
|
1644 |
'<span class="wpmui-label-after">%s</span>',
|
1645 |
-
$labels->after
|
1646 |
);
|
1647 |
}
|
1648 |
|
1649 |
if ( empty( $labels->title ) ) {
|
1650 |
-
echo $labels->tooltip_code;
|
1651 |
}
|
1652 |
}
|
1653 |
|
@@ -1675,7 +1677,7 @@ class TheLib_Html extends TheLib {
|
|
1675 |
<div class="wpmui-tooltip">
|
1676 |
<div class="wpmui-tooltip-button">×</div>
|
1677 |
<div class="wpmui-tooltip-content">
|
1678 |
-
<?php echo $tip; ?>
|
1679 |
</div>
|
1680 |
</div>
|
1681 |
<?php
|
@@ -1711,7 +1713,7 @@ class TheLib_Html extends TheLib {
|
|
1711 |
esc_attr( $id ),
|
1712 |
esc_attr( $name ),
|
1713 |
esc_attr( $value ),
|
1714 |
-
$attr
|
1715 |
);
|
1716 |
$this->element_hint( $labels );
|
1717 |
$this->wrap_close();
|
@@ -1750,7 +1752,7 @@ class TheLib_Html extends TheLib {
|
|
1750 |
esc_attr( $name ),
|
1751 |
esc_attr( $value )
|
1752 |
);
|
1753 |
-
|
1754 |
$this->element_hint( $labels );
|
1755 |
}
|
1756 |
}
|
259 |
* @internal
|
260 |
*/
|
261 |
public function _popup_callback() {
|
262 |
+
error_log('popup');
|
263 |
$items = self::_get( 'popup' );
|
264 |
self::_clear( 'popup' );
|
265 |
$screen_info = get_current_screen();
|
275 |
if ( empty( $screen ) || $screen_id == $screen ) {
|
276 |
$body = '<div>' . $body . '</div>';
|
277 |
echo '<script>jQuery(function(){wpmUi.popup()';
|
278 |
+
printf( '.title( %1$s, %2$s )', json_encode( esc_attr($title) ), esc_attr($close) );
|
279 |
+
printf( '.modal( %1$s, %2$s )', esc_attr($modal), esc_attr($persist) );
|
280 |
+
printf( '.size( %1$s, %2$s )', json_encode( esc_attr($width) ), json_encode( esc_attr($height) ) );
|
281 |
+
printf( '.set_class( %1$s )', json_encode( esc_attr($class) ) );
|
282 |
+
printf( '.content( %1$s )', json_encode( esc_attr($body) ) );
|
283 |
echo '.show();})</script>';
|
284 |
+
|
285 |
}
|
286 |
}
|
287 |
}
|
386 |
if ( $return ) {
|
387 |
return $field_args;
|
388 |
} else {
|
389 |
+
CustomSidebars::wp_kses_wf($field_args);
|
390 |
return;
|
391 |
}
|
392 |
}
|
497 |
}
|
498 |
|
499 |
if ( isset( $_POST[ $sticky_key ] ) ) {
|
500 |
+
$value = sanitize_text_field($_POST[ $sticky_key ]);
|
501 |
} elseif ( isset( $_GET[ $sticky_key ] ) ) {
|
502 |
+
$value = sanitize_text_field($_GET[ $sticky_key ]);
|
503 |
}
|
504 |
}
|
505 |
|
815 |
esc_attr( $id ),
|
816 |
esc_attr( sanitize_title( $name ) ),
|
817 |
esc_attr( $value ),
|
818 |
+
esc_html( $attr )
|
819 |
);
|
820 |
if ( ! empty( $labels->title ) ) {
|
821 |
$this->element_desc( $labels );
|
846 |
esc_attr( $id ),
|
847 |
esc_attr( $name ),
|
848 |
esc_attr( $value ),
|
849 |
+
esc_html( $attr )
|
850 |
);
|
851 |
|
852 |
$this->element_hint( $labels );
|
869 |
esc_attr( $id ),
|
870 |
esc_attr( $name ),
|
871 |
esc_textarea( $value ),
|
872 |
+
esc_html( $attr )
|
873 |
);
|
874 |
|
875 |
$this->element_hint( $labels );
|
893 |
esc_attr( $id ),
|
894 |
esc_attr( $class ),
|
895 |
esc_attr( $name ),
|
896 |
+
esc_html( $attr ),
|
897 |
+
esc_html( $options )
|
898 |
);
|
899 |
|
900 |
$this->element_hint( $labels );
|
942 |
esc_attr( $key ),
|
943 |
esc_attr( $name ),
|
944 |
esc_attr( $id ),
|
945 |
+
esc_html( $item_attr . $checked ),
|
946 |
+
esc_html( $item_text ),
|
947 |
+
esc_html( $radio_desc )
|
948 |
);
|
949 |
}
|
950 |
|
969 |
// Multiple items in the checkbox list.
|
970 |
printf(
|
971 |
'<div class="wpmui-checkbox-title">%1$s %2$s</div><div class="wpmui-checkbox-list wpmui-field-input">%3$s',
|
972 |
+
esc_html($labels->title),
|
973 |
+
esc_html($labels->tooltip),
|
974 |
+
esc_html($item_desc)
|
975 |
);
|
976 |
$item_desc = '';
|
977 |
|
1060 |
printf(
|
1061 |
'<label class="wpmui-checkbox-wrapper wpmui-field-label wpmui-no-checkbox %1$s">%2$s %3$s</label>',
|
1062 |
esc_attr( $item_class ),
|
1063 |
+
esc_html($item['label']),
|
1064 |
+
esc_html($item_desc)
|
1065 |
);
|
1066 |
} else {
|
1067 |
printf(
|
1069 |
esc_attr( $id ),
|
1070 |
esc_attr( $item_class ),
|
1071 |
esc_attr( $item['name'] ),
|
1072 |
+
esc_html($attr . $item['checked']),
|
1073 |
+
esc_html($item['label']),
|
1074 |
+
esc_html($item_desc),
|
1075 |
+
esc_html($item['value'])
|
1076 |
);
|
1077 |
}
|
1078 |
}
|
1113 |
esc_attr( $class ),
|
1114 |
esc_attr( $id ),
|
1115 |
esc_attr( $name ),
|
1116 |
+
esc_html( $label ),
|
1117 |
+
esc_html( $attr ),
|
1118 |
+
esc_html( $value ),
|
1119 |
+
esc_html( $type )
|
1120 |
);
|
1121 |
|
1122 |
$this->element_hint( $labels );
|
1138 |
esc_attr( $name ),
|
1139 |
esc_url( $value ),
|
1140 |
esc_attr( $alt ),
|
1141 |
+
esc_html( $attr )
|
1142 |
);
|
1143 |
|
1144 |
$this->element_hint( $labels );
|
1178 |
printf(
|
1179 |
'<div class="wpmui-radio-slider %1$s wpmui-slider-%5$s %7$s" %6$s>%8$s<div class="wpmui-toggle" %2$s>%3$s</div>%4$s%9$s</div>',
|
1180 |
esc_attr( $turned ),
|
1181 |
+
esc_html( $attr ),
|
1182 |
+
esc_url( $link_url ),
|
1183 |
+
esc_html( $attr_input ),
|
1184 |
esc_attr( $id ),
|
1185 |
+
esc_html( $read_only ),
|
1186 |
esc_attr( $class ),
|
1187 |
'<span class="before"></span>',
|
1188 |
'<span class="after"></span>'
|
1218 |
'<div id="%1$s" class="wpmui-no-data wpmui-field-input %2$s">%3$s</div>',
|
1219 |
esc_attr( $id ),
|
1220 |
esc_attr( $class ),
|
1221 |
+
esc_html( $empty_text )
|
1222 |
);
|
1223 |
} else {
|
1224 |
// There are values to select or remove. Display the input elements.
|
1233 |
esc_attr( $id ),
|
1234 |
esc_attr( $src_class ),
|
1235 |
esc_attr( $name ),
|
1236 |
+
esc_html( $attr ),
|
1237 |
+
esc_html( $options_available )
|
1238 |
);
|
1239 |
|
1240 |
// Button: Add element from First Select to Second Select.
|
1242 |
'<button id="_src_add_%1$s" class="wpmui-field-input wpmui-tag-button button %2$s" type="button">%3$s</button>',
|
1243 |
esc_attr( $id ),
|
1244 |
esc_attr( $src_class ),
|
1245 |
+
esc_html( $button_text )
|
1246 |
);
|
1247 |
|
1248 |
$label_tag = $labels;
|
1260 |
esc_attr( $id ),
|
1261 |
esc_attr( $class ),
|
1262 |
esc_attr( $name ),
|
1263 |
+
esc_html( $ajax_data ),
|
1264 |
+
esc_html( $options_selected )
|
1265 |
);
|
1266 |
}
|
1267 |
|
1365 |
esc_attr( strip_tags( $title ) ),
|
1366 |
esc_attr( $class ),
|
1367 |
esc_url( $url ),
|
1368 |
+
esc_html( $label ),
|
1369 |
+
esc_html( $attr ),
|
1370 |
+
esc_html( $target )
|
1371 |
);
|
1372 |
|
1373 |
$this->element_hint( $labels );
|
1389 |
'<%1$s class="%2$s">%3$s</%1$s>',
|
1390 |
esc_attr( $wrap ),
|
1391 |
esc_attr( $class ),
|
1392 |
+
esc_html( $code )
|
1393 |
);
|
1394 |
|
1395 |
$this->element_hint( $labels );
|
1459 |
printf(
|
1460 |
'<table class="wpmui-html-table %1$s">%2$s%3$s</table>',
|
1461 |
esc_attr( $class ),
|
1462 |
+
'<thead>' . esc_html($code_head) . '</thead>',
|
1463 |
+
'<tbody>' . esc_html($code_body) . '</tbody>'
|
1464 |
);
|
1465 |
}
|
1466 |
|
1571 |
|
1572 |
printf(
|
1573 |
'<%1$s class="wpmui-wrapper wpmui-%2$s-wrapper %3$s">',
|
1574 |
+
esc_html( $tag ),
|
1575 |
+
esc_html( $type ),
|
1576 |
+
esc_html( $extra_classes )
|
1577 |
);
|
1578 |
}
|
1579 |
|
1586 |
* @param string $tag Optional. The tag name, default 'span'
|
1587 |
*/
|
1588 |
private function wrap_close( $tag = 'span' ) {
|
1589 |
+
printf( '</%1$s>', esc_html( $tag ) );
|
1590 |
}
|
1591 |
|
1592 |
/**
|
1600 |
printf(
|
1601 |
'<%5$s for="%1$s" class="wpmui-field-label %4$s">%2$s %3$s</%5$s>',
|
1602 |
esc_attr( $labels->id ),
|
1603 |
+
esc_html( $labels->title ),
|
1604 |
+
esc_html( $labels->tooltip_code ),
|
1605 |
esc_attr( ' wpmui-label-' . $labels->id . ' ' . $labels->class ),
|
1606 |
esc_attr( $labels->label_type )
|
1607 |
);
|
1620 |
if ( ! empty( $labels->desc ) ) {
|
1621 |
printf(
|
1622 |
'<label class="wpmui-field-description %2$s" for="%3$s">%1$s</label >',
|
1623 |
+
esc_html( $labels->desc ),
|
1624 |
esc_attr( 'wpmui-description-' . $labels->id . ' ' . $labels->class ),
|
1625 |
esc_attr( $labels->id )
|
1626 |
);
|
1629 |
if ( ! empty( $labels->before ) ) {
|
1630 |
printf(
|
1631 |
'<span class="wpmui-label-before">%s</span>',
|
1632 |
+
esc_html( $labels->before )
|
1633 |
);
|
1634 |
}
|
1635 |
}
|
1644 |
if ( ! empty( $labels->after ) ) {
|
1645 |
printf(
|
1646 |
'<span class="wpmui-label-after">%s</span>',
|
1647 |
+
esc_html( $labels->after )
|
1648 |
);
|
1649 |
}
|
1650 |
|
1651 |
if ( empty( $labels->title ) ) {
|
1652 |
+
echo esc_html( $labels->tooltip_code );
|
1653 |
}
|
1654 |
}
|
1655 |
|
1677 |
<div class="wpmui-tooltip">
|
1678 |
<div class="wpmui-tooltip-button">×</div>
|
1679 |
<div class="wpmui-tooltip-content">
|
1680 |
+
<?php echo esc_html( $tip ); ?>
|
1681 |
</div>
|
1682 |
</div>
|
1683 |
<?php
|
1713 |
esc_attr( $id ),
|
1714 |
esc_attr( $name ),
|
1715 |
esc_attr( $value ),
|
1716 |
+
esc_html( $attr )
|
1717 |
);
|
1718 |
$this->element_hint( $labels );
|
1719 |
$this->wrap_close();
|
1752 |
esc_attr( $name ),
|
1753 |
esc_attr( $value )
|
1754 |
);
|
1755 |
+
CustomSidebars::wp_kses_wf( $content );
|
1756 |
$this->element_hint( $labels );
|
1757 |
}
|
1758 |
}
|
inc/external/wpmu-lib/inc/class-thelib-net.php
CHANGED
@@ -174,37 +174,9 @@ class TheLib_Net extends TheLib {
|
|
174 |
header( 'Content-Length: ' . strlen( $contents ) );
|
175 |
|
176 |
// Finally send the export-file content.
|
177 |
-
|
178 |
|
179 |
exit;
|
180 |
}
|
181 |
|
182 |
-
/**
|
183 |
-
* Checks if the specified URL is publicly reachable.
|
184 |
-
*
|
185 |
-
* @since 1.1.0
|
186 |
-
* @api
|
187 |
-
*
|
188 |
-
* @param string $url The URL to check.
|
189 |
-
* @return bool If URL is online or not.
|
190 |
-
*/
|
191 |
-
public function is_online( $url ) {
|
192 |
-
static $Checked = array();
|
193 |
-
|
194 |
-
if ( ! isset( $Checked[$url] ) ) {
|
195 |
-
$check = 'https://downforeveryoneorjustme.com/' . $url;
|
196 |
-
$res = wp_remote_get( $check, array( 'decompress' => false ) );
|
197 |
-
|
198 |
-
if ( is_wp_error( $res ) ) {
|
199 |
-
$state = false;
|
200 |
-
} else {
|
201 |
-
$state = ( false === stripos( $res['body'], 'not just you' ) );
|
202 |
-
}
|
203 |
-
|
204 |
-
$Checked[$url] = $state;
|
205 |
-
}
|
206 |
-
|
207 |
-
return $Checked[$url];
|
208 |
-
}
|
209 |
-
|
210 |
}
|
174 |
header( 'Content-Length: ' . strlen( $contents ) );
|
175 |
|
176 |
// Finally send the export-file content.
|
177 |
+
CustomSidebars::wp_kses_wf($contents);
|
178 |
|
179 |
exit;
|
180 |
}
|
181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
inc/external/wpmu-lib/inc/class-thelib-ui.php
CHANGED
@@ -421,7 +421,7 @@ class TheLib_Ui extends TheLib {
|
|
421 |
foreach ( $collected as $var => $value ) {
|
422 |
printf(
|
423 |
'%1$s = %2$s;',
|
424 |
-
$var,
|
425 |
json_encode( $value )
|
426 |
);
|
427 |
}
|
@@ -446,7 +446,7 @@ class TheLib_Ui extends TheLib {
|
|
446 |
foreach ( $data as $item ) {
|
447 |
printf(
|
448 |
'<script>try { %1$s } catch( err ){ window.console.log(err.message); }</script>',
|
449 |
-
$item
|
450 |
);
|
451 |
}
|
452 |
}
|
@@ -530,7 +530,7 @@ class TheLib_Ui extends TheLib {
|
|
530 |
printf(
|
531 |
'<div class="%1$s notice notice-%1$s is-dismissible %3$s"><p>%2$s</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">%4$s</span></button></div>',
|
532 |
esc_attr( $class ),
|
533 |
-
$text,
|
534 |
esc_attr( $id ),
|
535 |
__( 'Dismiss this notice.' )
|
536 |
);
|
421 |
foreach ( $collected as $var => $value ) {
|
422 |
printf(
|
423 |
'%1$s = %2$s;',
|
424 |
+
esc_html($var),
|
425 |
json_encode( $value )
|
426 |
);
|
427 |
}
|
446 |
foreach ( $data as $item ) {
|
447 |
printf(
|
448 |
'<script>try { %1$s } catch( err ){ window.console.log(err.message); }</script>',
|
449 |
+
esc_js($item)
|
450 |
);
|
451 |
}
|
452 |
}
|
530 |
printf(
|
531 |
'<div class="%1$s notice notice-%1$s is-dismissible %3$s"><p>%2$s</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">%4$s</span></button></div>',
|
532 |
esc_attr( $class ),
|
533 |
+
esc_html( $text ),
|
534 |
esc_attr( $id ),
|
535 |
__( 'Dismiss this notice.' )
|
536 |
);
|
inc/external/wpmu-lib/inc/class-thelib-updates.php
CHANGED
@@ -437,11 +437,12 @@ class TheLib_Updates extends TheLib {
|
|
437 |
'<b>Abborting update of %s!</b> '.
|
438 |
'Could not create a restore-point [%s]<br />%s',
|
439 |
ucwords( $this->plugin ),
|
440 |
-
$err_code,
|
441 |
-
$error
|
442 |
);
|
443 |
|
444 |
-
|
|
|
445 |
}
|
446 |
|
447 |
/**
|
437 |
'<b>Abborting update of %s!</b> '.
|
438 |
'Could not create a restore-point [%s]<br />%s',
|
439 |
ucwords( $this->plugin ),
|
440 |
+
esc_html( $err_code ),
|
441 |
+
esc_html( $error )
|
442 |
);
|
443 |
|
444 |
+
CustomSidebars::wp_kses_wf( $msg );
|
445 |
+
die();
|
446 |
}
|
447 |
|
448 |
/**
|
inc/external/wpmu-lib/view/list.php
CHANGED
@@ -34,9 +34,9 @@ $current = 'current';
|
|
34 |
foreach ( $filters as $key => $label ) {
|
35 |
printf(
|
36 |
'<li><a href="#" class="filter %3$s" data-filter="%1$s">%2$s</a></li>',
|
37 |
-
$key,
|
38 |
-
$label,
|
39 |
-
$current
|
40 |
);
|
41 |
$current = '';
|
42 |
}
|
@@ -64,7 +64,7 @@ $current = 'current';
|
|
64 |
<?php echo esc_html( $lang->active_badge ); ?>
|
65 |
</span>
|
66 |
</span>
|
67 |
-
<div class="item-icon"><?php
|
68 |
<div class="name">
|
69 |
<h4 class="<?php if ( $item->details ) : ?>toggle-details<?php endif; ?> is-no-detail">
|
70 |
<?php echo esc_html( $item->title ); ?>
|
@@ -74,7 +74,7 @@ $current = 'current';
|
|
74 |
</h4>
|
75 |
</div>
|
76 |
<div class="desc">
|
77 |
-
<?php
|
78 |
</div>
|
79 |
<div class="action-links">
|
80 |
<span class="toggle-details toggle-link is-detail close-button">
|
@@ -103,7 +103,7 @@ $current = 'current';
|
|
103 |
</div>
|
104 |
<div class="list-card-bottom">
|
105 |
<span class="list-card-footer is-no-detail">
|
106 |
-
<?php
|
107 |
</span>
|
108 |
<?php if ( $item->details ) : ?>
|
109 |
<span class="toggle-details toggle-link is-no-detail">
|
34 |
foreach ( $filters as $key => $label ) {
|
35 |
printf(
|
36 |
'<li><a href="#" class="filter %3$s" data-filter="%1$s">%2$s</a></li>',
|
37 |
+
esc_html( $key ),
|
38 |
+
esc_html( $label ),
|
39 |
+
esc_html( $current )
|
40 |
);
|
41 |
$current = '';
|
42 |
}
|
64 |
<?php echo esc_html( $lang->active_badge ); ?>
|
65 |
</span>
|
66 |
</span>
|
67 |
+
<div class="item-icon"><?php CustomSidebars::wp_kses_wf( $item->icon ); ?></div>
|
68 |
<div class="name">
|
69 |
<h4 class="<?php if ( $item->details ) : ?>toggle-details<?php endif; ?> is-no-detail">
|
70 |
<?php echo esc_html( $item->title ); ?>
|
74 |
</h4>
|
75 |
</div>
|
76 |
<div class="desc">
|
77 |
+
<?php CustomSidebars::wp_kses_wf ( $item->description ); ?>
|
78 |
</div>
|
79 |
<div class="action-links">
|
80 |
<span class="toggle-details toggle-link is-detail close-button">
|
103 |
</div>
|
104 |
<div class="list-card-bottom">
|
105 |
<span class="list-card-footer is-no-detail">
|
106 |
+
<?php CustomSidebars::wp_kses_wf( $item->footer ); ?>
|
107 |
</span>
|
108 |
<?php if ( $item->details ) : ?>
|
109 |
<span class="toggle-details toggle-link is-no-detail">
|
inc/external/wpmu-lib/view/pointer.php
CHANGED
@@ -51,7 +51,7 @@ $code = str_replace( array( "\r", "\n" ), '', $code );
|
|
51 |
return;
|
52 |
}
|
53 |
if ( jQuery().pointer !== undefined ) {
|
54 |
-
var target = jQuery( '<?php
|
55 |
if ( ! target.length ) { return; }
|
56 |
target = target.first();
|
57 |
|
@@ -74,7 +74,7 @@ $code = str_replace( array( "\r", "\n" ), '', $code );
|
|
74 |
|
75 |
// Insert the pointer HTML code
|
76 |
target.pointer({
|
77 |
-
content: '<?php
|
78 |
position: {
|
79 |
edge: 'left',
|
80 |
align: 'center'
|
@@ -92,7 +92,7 @@ $code = str_replace( array( "\r", "\n" ), '', $code );
|
|
92 |
|
93 |
<?php if ( $once ) : ?>
|
94 |
jQuery.post( ajaxurl, {
|
95 |
-
pointer: '<?php
|
96 |
action: 'dismiss-wp-pointer'
|
97 |
});
|
98 |
<?php endif; ?>
|
51 |
return;
|
52 |
}
|
53 |
if ( jQuery().pointer !== undefined ) {
|
54 |
+
var target = jQuery( '<?php CustomSidebars::wp_kses_wf( $html_el ); ?>' );
|
55 |
if ( ! target.length ) { return; }
|
56 |
target = target.first();
|
57 |
|
74 |
|
75 |
// Insert the pointer HTML code
|
76 |
target.pointer({
|
77 |
+
content: '<?php CustomSidebars::wp_kses_wf( $code ); ?>',
|
78 |
position: {
|
79 |
edge: 'left',
|
80 |
align: 'center'
|
92 |
|
93 |
<?php if ( $once ) : ?>
|
94 |
jQuery.post( ajaxurl, {
|
95 |
+
pointer: '<?php esc_attr_e( $pointer_id ); ?>',
|
96 |
action: 'dismiss-wp-pointer'
|
97 |
});
|
98 |
<?php endif; ?>
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: WebFactory
|
3 |
Tags: sidebar, widget, custom sidebar, dynamic widgets, manage sidebars, flexible layout, replace widgets, custom widget area, footer
|
4 |
Requires at least: 4.6
|
5 |
-
Tested up to: 6.
|
6 |
-
Stable tag: 3.
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -99,6 +99,9 @@ Any user that can switch themes, can create sidebars. Switch_themes is the capab
|
|
99 |
Custom Sidebars has the same license as WordPress, so you can use it wherever you want for free. Yay!
|
100 |
|
101 |
== Changelog ==
|
|
|
|
|
|
|
102 |
|
103 |
= 3.35 =
|
104 |
* 2022-01-11
|
2 |
Contributors: WebFactory
|
3 |
Tags: sidebar, widget, custom sidebar, dynamic widgets, manage sidebars, flexible layout, replace widgets, custom widget area, footer
|
4 |
Requires at least: 4.6
|
5 |
+
Tested up to: 6.1
|
6 |
+
Stable tag: 3.36
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
99 |
Custom Sidebars has the same license as WordPress, so you can use it wherever you want for free. Yay!
|
100 |
|
101 |
== Changelog ==
|
102 |
+
= 3.36 =
|
103 |
+
* 2022-11-26
|
104 |
+
* Minor security fixes
|
105 |
|
106 |
= 3.35 =
|
107 |
* 2022-01-11
|
views/bulk-edit.php
CHANGED
@@ -20,7 +20,7 @@ if ( $print_nonce ) {
|
|
20 |
?>
|
21 |
<fieldset class="inline-edit-col-left cs-quickedit">
|
22 |
<div class="inline-edit-col">
|
23 |
-
<label><?php
|
24 |
<?php
|
25 |
|
26 |
|
@@ -32,7 +32,7 @@ foreach ( $sidebars as $s ) {
|
|
32 |
<span class="title"><?php echo esc_html( $sb_name ); ?></span>
|
33 |
<select name="cs_replacement_<?php echo esc_attr( $s ); ?>"
|
34 |
class="cs-replacement-field <?php echo esc_attr( $s ); ?>">
|
35 |
-
<option value="-"><?php
|
36 |
<?php foreach ( $available as $a ) : ?>
|
37 |
<option value="<?php echo esc_attr( $a['id'] ); ?>" <?php selected( $selected[ $s ], $a['id'] ); ?>>
|
38 |
<?php echo esc_html( $a['name'] ); ?>
|
20 |
?>
|
21 |
<fieldset class="inline-edit-col-left cs-quickedit">
|
22 |
<div class="inline-edit-col">
|
23 |
+
<label><?php esc_html_e( 'Custom Sidebars', 'custom-sidebars' ); ?></label>
|
24 |
<?php
|
25 |
|
26 |
|
32 |
<span class="title"><?php echo esc_html( $sb_name ); ?></span>
|
33 |
<select name="cs_replacement_<?php echo esc_attr( $s ); ?>"
|
34 |
class="cs-replacement-field <?php echo esc_attr( $s ); ?>">
|
35 |
+
<option value="-"><?php esc_html_e( '— No Change —', 'custom-sidebars' ); ?></option>
|
36 |
<?php foreach ( $available as $a ) : ?>
|
37 |
<option value="<?php echo esc_attr( $a['id'] ); ?>" <?php selected( $selected[ $s ], $a['id'] ); ?>>
|
38 |
<?php echo esc_html( $a['name'] ); ?>
|
views/col-sidebars.php
CHANGED
@@ -74,7 +74,7 @@ if ( $is_front ) {
|
|
74 |
echo '-';
|
75 |
} else {
|
76 |
echo '<dl>';
|
77 |
-
|
78 |
echo '</dl>';
|
79 |
}
|
80 |
}
|
74 |
echo '-';
|
75 |
} else {
|
76 |
echo '<dl>';
|
77 |
+
CustomSidebars::wp_kses_wf( $content );
|
78 |
echo '</dl>';
|
79 |
}
|
80 |
}
|
views/import.php
CHANGED
@@ -65,24 +65,24 @@ if ( ! function_exists( 'list_sidebar_replacement' ) ) {
|
|
65 |
$filename = $import['meta']['filename'];
|
66 |
}
|
67 |
?>
|
68 |
-
<h2 class="no-pad-top"><?php
|
69 |
<div class="show-infos">
|
70 |
<i class="dashicons dashicons-info"></i>
|
71 |
<div class="export-infos" style="display:none">
|
72 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
73 |
<tbody>
|
74 |
<tr>
|
75 |
-
<th><?php
|
76 |
<td colspan="2"><?php echo esc_html( $filename ); ?></td>
|
77 |
</tr>
|
78 |
<tr>
|
79 |
-
<th><?php
|
80 |
<td colspan="2"><?php echo esc_html( ' ' . date( $date_format, $import['meta']['created'] ) ); ?></td>
|
81 |
</tr>
|
82 |
</tbody>
|
83 |
</table>
|
84 |
|
85 |
-
<div class="section"><?php
|
86 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
87 |
<thead>
|
88 |
<tr>
|
@@ -93,17 +93,17 @@ if ( ! function_exists( 'list_sidebar_replacement' ) ) {
|
|
93 |
</thead>
|
94 |
<tbody>
|
95 |
<tr>
|
96 |
-
<th><?php
|
97 |
<td><?php echo esc_html( $import['meta']['wp_version'] ); ?></td>
|
98 |
<td><?php echo esc_html( $wp_version ); ?></td>
|
99 |
</tr>
|
100 |
<tr>
|
101 |
-
<th><?php
|
102 |
<td><?php echo esc_html( $import['meta']['csb_version'] ); ?></td>
|
103 |
-
<td><?php echo
|
104 |
</tr>
|
105 |
<tr>
|
106 |
-
<th><?php
|
107 |
<td><?php echo esc_html( $import['meta']['theme_name'] . ' (' . $import['meta']['theme_version'] . ')' ); ?></td>
|
108 |
<td><?php echo esc_html( $theme->get( 'Name' ) . ' (' . $theme->get( 'Version' ) . ')' ); ?></td>
|
109 |
</tr>
|
@@ -126,24 +126,24 @@ if ( ! function_exists( 'list_sidebar_replacement' ) ) {
|
|
126 |
*/
|
127 |
$alternate = '';
|
128 |
?>
|
129 |
-
<h3 class="title"><?php
|
130 |
<p>
|
131 |
-
<?php
|
132 |
</p>
|
133 |
<p>
|
134 |
<label for="import-widgets">
|
135 |
<input type="checkbox" id="import-widgets" name="import_widgets" />
|
136 |
-
<?php
|
137 |
</label>
|
138 |
</p>
|
139 |
<table class="widefat">
|
140 |
<thead>
|
141 |
<tr>
|
142 |
<th scope="col" id="cb" class="manage-column column-cb check-column"><input type="checkbox" /></th>
|
143 |
-
<th scope="col" id="name" class="manage-column column-name"><?php
|
144 |
-
<th scope="col" id="description" class="manage-column column-description"><?php
|
145 |
-
<th scope="col" id="note" class="manage-column column-note"><?php
|
146 |
-
<th scope="col" id="widgets" class="manage-column column-widgets" style="display:none"><?php
|
147 |
</tr>
|
148 |
</thead>
|
149 |
<tbody>
|
@@ -220,7 +220,7 @@ foreach ( $theme_sidebars as $sidebar ) {
|
|
220 |
</th>
|
221 |
<td class="name column-name"><label for="<?php echo esc_attr( $id ); ?>"><?php echo esc_html( $sidebar['name'] ); ?></label></td>
|
222 |
<td class="description column-description"><?php echo esc_html( $sidebar['description'] ); ?></td>
|
223 |
-
<td><em><?php
|
224 |
<td class="widgets column-widgets">
|
225 |
<?php
|
226 |
if ( count( $import_sidebar ) ) {
|
@@ -248,14 +248,14 @@ if ( count( $import_sidebar ) ) {
|
|
248 |
*/
|
249 |
?>
|
250 |
<p> </p>
|
251 |
-
<h3 class="title"><?php
|
252 |
<div class="show-infos">
|
253 |
<i class="dashicons dashicons-info"></i>
|
254 |
<div class="export-infos" style="display:none">
|
255 |
-
<div class="section"><?php
|
256 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
257 |
<tr>
|
258 |
-
<th scope="row"><?php
|
259 |
<td>
|
260 |
<?php foreach ( $import['options']['modifiable'] as $sb_id ) : ?>
|
261 |
<?php echo esc_html( $theme_sidebars[ $sb_id ]['name'] ); ?><br />
|
@@ -303,7 +303,7 @@ if (
|
|
303 |
&& is_array( $import['options']['post_type_archive'] )
|
304 |
) {
|
305 |
?>
|
306 |
-
<div class="section"><?php
|
307 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
308 |
<?php
|
309 |
$list = $import['options']['post_type_archive'];
|
@@ -324,7 +324,7 @@ if (
|
|
324 |
) {
|
325 |
|
326 |
?>
|
327 |
-
<div class="section"><?php
|
328 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
329 |
<?php
|
330 |
$list = $import['options']['category_single'];
|
@@ -344,7 +344,7 @@ if (
|
|
344 |
&& is_array( $import['options']['category_archive'] )
|
345 |
) {
|
346 |
?>
|
347 |
-
<div class="section"><?php
|
348 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
349 |
<?php
|
350 |
$list = $import['options']['category_archive'];
|
@@ -362,7 +362,7 @@ foreach ( $list as $key => $values ) {
|
|
362 |
}
|
363 |
?>
|
364 |
<?php /* special pages */ ?>
|
365 |
-
<div class="section"><?php
|
366 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
367 |
<?php
|
368 |
list_sidebar_replacement( __( 'Main Blog Page', 'custom-sidebars' ), $import['options']['blog'] );
|
@@ -379,7 +379,7 @@ list_sidebar_replacement( __( 'Search Results Page', 'custom-sidebars' ), $impor
|
|
379 |
<p>
|
380 |
<label for="import-config">
|
381 |
<input type="checkbox" id="import-config" name="import_plugin_config" />
|
382 |
-
<?php
|
383 |
</label>
|
384 |
</p>
|
385 |
|
65 |
$filename = $import['meta']['filename'];
|
66 |
}
|
67 |
?>
|
68 |
+
<h2 class="no-pad-top"><?php esc_html_e( 'Import', 'custom-sidebars' ); ?></h2>
|
69 |
<div class="show-infos">
|
70 |
<i class="dashicons dashicons-info"></i>
|
71 |
<div class="export-infos" style="display:none">
|
72 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
73 |
<tbody>
|
74 |
<tr>
|
75 |
+
<th><?php esc_html_e( 'Filename', 'custom-sidebars' ); ?></th>
|
76 |
<td colspan="2"><?php echo esc_html( $filename ); ?></td>
|
77 |
</tr>
|
78 |
<tr>
|
79 |
+
<th><?php esc_html_e( 'Exported on', 'custom-sidebars' ); ?></th>
|
80 |
<td colspan="2"><?php echo esc_html( ' ' . date( $date_format, $import['meta']['created'] ) ); ?></td>
|
81 |
</tr>
|
82 |
</tbody>
|
83 |
</table>
|
84 |
|
85 |
+
<div class="section"><?php esc_html_e( 'WordPress Settings', 'custom-sidebars' ); ?></div>
|
86 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
87 |
<thead>
|
88 |
<tr>
|
93 |
</thead>
|
94 |
<tbody>
|
95 |
<tr>
|
96 |
+
<th><?php esc_html_e( 'WordPress Version', 'custom-sidebars' ); ?></th>
|
97 |
<td><?php echo esc_html( $import['meta']['wp_version'] ); ?></td>
|
98 |
<td><?php echo esc_html( $wp_version ); ?></td>
|
99 |
</tr>
|
100 |
<tr>
|
101 |
+
<th><?php esc_html_e( 'Plugin Version', 'custom-sidebars' ); ?></th>
|
102 |
<td><?php echo esc_html( $import['meta']['csb_version'] ); ?></td>
|
103 |
+
<td><?php echo isset( $csb_info['Version'] )? esc_html($csb_info['Version']) : esc_html__( 'Unknown', 'custom-sidebars' ); ?></td>
|
104 |
</tr>
|
105 |
<tr>
|
106 |
+
<th><?php esc_html_e( 'Theme', 'custom-sidebars' ); ?></th>
|
107 |
<td><?php echo esc_html( $import['meta']['theme_name'] . ' (' . $import['meta']['theme_version'] . ')' ); ?></td>
|
108 |
<td><?php echo esc_html( $theme->get( 'Name' ) . ' (' . $theme->get( 'Version' ) . ')' ); ?></td>
|
109 |
</tr>
|
126 |
*/
|
127 |
$alternate = '';
|
128 |
?>
|
129 |
+
<h3 class="title"><?php esc_html_e( 'Custom Sidebars', 'custom-sidebars' ); ?></h3>
|
130 |
<p>
|
131 |
+
<?php esc_html_e( 'Mark the sidebars that you want to import.', 'custom-sidebars' ); ?>
|
132 |
</p>
|
133 |
<p>
|
134 |
<label for="import-widgets">
|
135 |
<input type="checkbox" id="import-widgets" name="import_widgets" />
|
136 |
+
<?php esc_html_e( 'Also import all widgets of the selected sidebars.', 'custom-sidebars' ); ?>
|
137 |
</label>
|
138 |
</p>
|
139 |
<table class="widefat">
|
140 |
<thead>
|
141 |
<tr>
|
142 |
<th scope="col" id="cb" class="manage-column column-cb check-column"><input type="checkbox" /></th>
|
143 |
+
<th scope="col" id="name" class="manage-column column-name"><?php esc_html_e( 'Name', 'custom-sidebars' ); ?></th>
|
144 |
+
<th scope="col" id="description" class="manage-column column-description"><?php esc_html_e( 'Description', 'custom-sidebars' ); ?></th>
|
145 |
+
<th scope="col" id="note" class="manage-column column-note"><?php esc_html_e( 'Note', 'custom-sidebars' ); ?></th>
|
146 |
+
<th scope="col" id="widgets" class="manage-column column-widgets" style="display:none"><?php esc_html_e( 'Widgets', 'custom-sidebars' ); ?></th>
|
147 |
</tr>
|
148 |
</thead>
|
149 |
<tbody>
|
220 |
</th>
|
221 |
<td class="name column-name"><label for="<?php echo esc_attr( $id ); ?>"><?php echo esc_html( $sidebar['name'] ); ?></label></td>
|
222 |
<td class="description column-description"><?php echo esc_html( $sidebar['description'] ); ?></td>
|
223 |
+
<td><em><?php esc_html_e( '(Theme sidebar)', 'custom-sidebars' ); ?></em></td>
|
224 |
<td class="widgets column-widgets">
|
225 |
<?php
|
226 |
if ( count( $import_sidebar ) ) {
|
248 |
*/
|
249 |
?>
|
250 |
<p> </p>
|
251 |
+
<h3 class="title"><?php esc_html_e( 'Configuration', 'custom-sidebars' ); ?>
|
252 |
<div class="show-infos">
|
253 |
<i class="dashicons dashicons-info"></i>
|
254 |
<div class="export-infos" style="display:none">
|
255 |
+
<div class="section"><?php esc_html_e( 'Replaceable Sidebars', 'custom-sidebars' ); ?></div>
|
256 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
257 |
<tr>
|
258 |
+
<th scope="row"><?php esc_html_e( 'Replaceable Sidebars', 'custom-sidebars' ); ?></th>
|
259 |
<td>
|
260 |
<?php foreach ( $import['options']['modifiable'] as $sb_id ) : ?>
|
261 |
<?php echo esc_html( $theme_sidebars[ $sb_id ]['name'] ); ?><br />
|
303 |
&& is_array( $import['options']['post_type_archive'] )
|
304 |
) {
|
305 |
?>
|
306 |
+
<div class="section"><?php esc_html_e( 'Post-Type Archives', 'custom-sidebars' ); ?></div>
|
307 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
308 |
<?php
|
309 |
$list = $import['options']['post_type_archive'];
|
324 |
) {
|
325 |
|
326 |
?>
|
327 |
+
<div class="section"><?php esc_html_e( 'By Category', 'custom-sidebars' ); ?></div>
|
328 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
329 |
<?php
|
330 |
$list = $import['options']['category_single'];
|
344 |
&& is_array( $import['options']['category_archive'] )
|
345 |
) {
|
346 |
?>
|
347 |
+
<div class="section"><?php esc_html_e( 'Category Archives', 'custom-sidebars' ); ?></div>
|
348 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
349 |
<?php
|
350 |
$list = $import['options']['category_archive'];
|
362 |
}
|
363 |
?>
|
364 |
<?php /* special pages */ ?>
|
365 |
+
<div class="section"><?php esc_html_e( 'Special Pages', 'custom-sidebars' ); ?></div>
|
366 |
<table cellspacing="1" cellpadding="4" class="csb-export-head">
|
367 |
<?php
|
368 |
list_sidebar_replacement( __( 'Main Blog Page', 'custom-sidebars' ), $import['options']['blog'] );
|
379 |
<p>
|
380 |
<label for="import-config">
|
381 |
<input type="checkbox" id="import-config" name="import_plugin_config" />
|
382 |
+
<?php esc_html_e( 'Replace the current plugin configuration with the imported configuration.', 'custom-sidebars' ); ?>
|
383 |
</label>
|
384 |
</p>
|
385 |
|
views/metabox.php
CHANGED
@@ -33,7 +33,7 @@ if ( ! function_exists( 'custom_sidebars_replace_not_allowed' ) ) {
|
|
33 |
'<strong>%s</strong>',
|
34 |
sprintf(
|
35 |
esc_html__( 'To change the sidebar for %s', 'custom-sidebars' ),
|
36 |
-
$page_name
|
37 |
)
|
38 |
);
|
39 |
echo '<ul>';
|
@@ -86,7 +86,7 @@ if ( $is_front ) {
|
|
86 |
custom_sidebars_replace_not_allowed( $page_name, 'wooshop-info.png', $archive );
|
87 |
} else {
|
88 |
echo '<p>';
|
89 |
-
|
90 |
echo '</p>';
|
91 |
if ( ! empty( $sidebars ) ) {
|
92 |
global $wp_registered_sidebars;
|
33 |
'<strong>%s</strong>',
|
34 |
sprintf(
|
35 |
esc_html__( 'To change the sidebar for %s', 'custom-sidebars' ),
|
36 |
+
esc_html( $page_name )
|
37 |
)
|
38 |
);
|
39 |
echo '<ul>';
|
86 |
custom_sidebars_replace_not_allowed( $page_name, 'wooshop-info.png', $archive );
|
87 |
} else {
|
88 |
echo '<p>';
|
89 |
+
esc_html_e( 'Here you can replace the default sidebars. Simply select what sidebar you want to show for this post!', 'custom-sidebars' );
|
90 |
echo '</p>';
|
91 |
if ( ! empty( $sidebars ) ) {
|
92 |
global $wp_registered_sidebars;
|
views/widgets-delete.php
CHANGED
@@ -8,13 +8,13 @@
|
|
8 |
|
9 |
<div class="wpmui-form">
|
10 |
<div>
|
11 |
-
<?php
|
12 |
-
'Please confirm that you want to delete
|
13 |
); ?>
|
14 |
</div>
|
15 |
<div class="buttons">
|
16 |
-
<button type="button" class="button-link btn-cancel"><?php
|
17 |
-
<button type="button" class="button-primary btn-delete"><?php
|
18 |
<?php wp_nonce_field( 'custom-sidebars-delete-sidebar', '_wp_nonce_cs_delete_sidebar' ); ?>
|
19 |
</div>
|
20 |
</div>
|
8 |
|
9 |
<div class="wpmui-form">
|
10 |
<div>
|
11 |
+
<?php esc_html_e(
|
12 |
+
'Please confirm that you want to delete this sidebar.', 'custom-sidebars'
|
13 |
); ?>
|
14 |
</div>
|
15 |
<div class="buttons">
|
16 |
+
<button type="button" class="button-link btn-cancel"><?php esc_html_e( 'Cancel', 'custom-sidebars' ); ?></button>
|
17 |
+
<button type="button" class="button-primary btn-delete"><?php esc_html_e( 'Yes, delete it', 'custom-sidebars' ); ?></button>
|
18 |
<?php wp_nonce_field( 'custom-sidebars-delete-sidebar', '_wp_nonce_cs_delete_sidebar' ); ?>
|
19 |
</div>
|
20 |
</div>
|
views/widgets-editor.php
CHANGED
@@ -12,55 +12,55 @@
|
|
12 |
<?php wp_nonce_field( 'custom-sidebars-edit-sidebar' ); ?>
|
13 |
<div class="wpmui-grid-8 no-pad-top">
|
14 |
<div class="col-3">
|
15 |
-
<label for="csb-name"><?php
|
16 |
-
<input type="text" name="name" id="csb-name" maxlength="40" placeholder="<?php
|
17 |
-
<div class="hint"><?php
|
18 |
</div>
|
19 |
<div class="col-5">
|
20 |
-
<label for="csb-description"><?php
|
21 |
-
<input type="text" name="description" id="csb-description" maxlength="200" placeholder="<?php
|
22 |
</div>
|
23 |
</div>
|
24 |
<hr class="csb-more-content" />
|
25 |
<div class="wpmui-grid-8 csb-more-content">
|
26 |
<div class="col-8 hint">
|
27 |
-
<strong><?php
|
28 |
-
<?php
|
29 |
'Before-after title-widget properties define the html code that will wrap ' .
|
30 |
'the widgets and their titles in the sidebars, more info about them on the '.
|
31 |
'<a href="http://justintadlock.com/archives/2010/11/08/sidebars-in-wordpress" target="_blank">Justin ' .
|
32 |
'Tadlock Blog</a>. Do not use these fields if you are not sure what you are doing, it can break ' .
|
33 |
'the design of your site. Leave these fields blank to use the theme sidebars design.', 'custom-sidebars'
|
34 |
-
); ?>
|
35 |
</div>
|
36 |
</div>
|
37 |
<div class="wpmui-grid-8 csb-more-content">
|
38 |
<div class="col-4">
|
39 |
-
<label for="csb-before-title"><?php
|
40 |
<textarea rows="4" name="before_title" id="csb-before-title"></textarea>
|
41 |
</div>
|
42 |
<div class="col-4">
|
43 |
-
<label for="csb-after-title"><?php
|
44 |
<textarea rows="4" name="after_title" id="csb-after-title"></textarea>
|
45 |
</div>
|
46 |
</div>
|
47 |
<div class="wpmui-grid-8 csb-more-content">
|
48 |
<div class="col-4">
|
49 |
-
<label for="csb-before-widget"><?php
|
50 |
<textarea rows="4" name="before_widget" id="csb-before-widget"></textarea>
|
51 |
</div>
|
52 |
<div class="col-4">
|
53 |
-
<label for="csb-after-widget"><?php
|
54 |
<textarea rows="4" name="after_widget" id="csb-after-widget"></textarea>
|
55 |
</div>
|
56 |
</div>
|
57 |
<div class="buttons">
|
58 |
<label for="csb-more" class="wpmui-left">
|
59 |
<input type="checkbox" id="csb-more" />
|
60 |
-
<?php
|
61 |
</label>
|
62 |
|
63 |
-
<button type="button" class="button-link btn-cancel"><?php
|
64 |
-
<button type="button" class="button-primary btn-save"><?php
|
65 |
</div>
|
66 |
</form>
|
12 |
<?php wp_nonce_field( 'custom-sidebars-edit-sidebar' ); ?>
|
13 |
<div class="wpmui-grid-8 no-pad-top">
|
14 |
<div class="col-3">
|
15 |
+
<label for="csb-name"><?php esc_html_e( 'Name', 'custom-sidebars' ); ?></label>
|
16 |
+
<input type="text" name="name" id="csb-name" maxlength="40" placeholder="<?php esc_html_e( 'Sidebar name here...', 'custom-sidebars' ); ?>" />
|
17 |
+
<div class="hint"><?php esc_html_e( 'The name should be unique.', 'custom-sidebars' ); ?></div>
|
18 |
</div>
|
19 |
<div class="col-5">
|
20 |
+
<label for="csb-description"><?php esc_html_e( 'Description', 'custom-sidebars' ); ?></label>
|
21 |
+
<input type="text" name="description" id="csb-description" maxlength="200" placeholder="<?php esc_html_e( 'Sidebar description here...', 'custom-sidebars' ); ?>" />
|
22 |
</div>
|
23 |
</div>
|
24 |
<hr class="csb-more-content" />
|
25 |
<div class="wpmui-grid-8 csb-more-content">
|
26 |
<div class="col-8 hint">
|
27 |
+
<strong><?php esc_html_e( 'Caution:', 'custom-sidebars' ); ?></strong>
|
28 |
+
<?php CustomSidebars::wp_kses_wf(__(
|
29 |
'Before-after title-widget properties define the html code that will wrap ' .
|
30 |
'the widgets and their titles in the sidebars, more info about them on the '.
|
31 |
'<a href="http://justintadlock.com/archives/2010/11/08/sidebars-in-wordpress" target="_blank">Justin ' .
|
32 |
'Tadlock Blog</a>. Do not use these fields if you are not sure what you are doing, it can break ' .
|
33 |
'the design of your site. Leave these fields blank to use the theme sidebars design.', 'custom-sidebars'
|
34 |
+
)); ?>
|
35 |
</div>
|
36 |
</div>
|
37 |
<div class="wpmui-grid-8 csb-more-content">
|
38 |
<div class="col-4">
|
39 |
+
<label for="csb-before-title"><?php esc_html_e( 'Before Title', 'custom-sidebars' ); ?></label>
|
40 |
<textarea rows="4" name="before_title" id="csb-before-title"></textarea>
|
41 |
</div>
|
42 |
<div class="col-4">
|
43 |
+
<label for="csb-after-title"><?php esc_html_e( 'After Title', 'custom-sidebars' ); ?></label>
|
44 |
<textarea rows="4" name="after_title" id="csb-after-title"></textarea>
|
45 |
</div>
|
46 |
</div>
|
47 |
<div class="wpmui-grid-8 csb-more-content">
|
48 |
<div class="col-4">
|
49 |
+
<label for="csb-before-widget"><?php esc_html_e( 'Before Widget', 'custom-sidebars' ); ?></label>
|
50 |
<textarea rows="4" name="before_widget" id="csb-before-widget"></textarea>
|
51 |
</div>
|
52 |
<div class="col-4">
|
53 |
+
<label for="csb-after-widget"><?php esc_html_e( 'After Widget', 'custom-sidebars' ); ?></label>
|
54 |
<textarea rows="4" name="after_widget" id="csb-after-widget"></textarea>
|
55 |
</div>
|
56 |
</div>
|
57 |
<div class="buttons">
|
58 |
<label for="csb-more" class="wpmui-left">
|
59 |
<input type="checkbox" id="csb-more" />
|
60 |
+
<?php esc_html_e( 'Advanced - Edit custom wrapper code', 'custom-sidebars' ); ?>
|
61 |
</label>
|
62 |
|
63 |
+
<button type="button" class="button-link btn-cancel"><?php esc_html_e( 'Cancel', 'custom-sidebars' ); ?></button>
|
64 |
+
<button type="button" class="button-primary btn-save"><?php esc_html_e( 'Create Sidebar', 'custom-sidebars' ); ?></button>
|
65 |
</div>
|
66 |
</form>
|
views/widgets-export.php
CHANGED
@@ -7,40 +7,40 @@
|
|
7 |
?>
|
8 |
|
9 |
<div class="wpmui-form module-export">
|
10 |
-
<h2 class="no-pad-top"><?php
|
11 |
<form class="frm-export">
|
12 |
<input type="hidden" name="do" value="export" />
|
13 |
<p>
|
14 |
<i class="dashicons dashicons-info light"></i>
|
15 |
<?php
|
16 |
-
|
17 |
'This will generate a complete export file containing all ' .
|
18 |
'your sidebars and the current sidebar configuration.', 'custom-sidebars'
|
19 |
);
|
20 |
?>
|
21 |
</p>
|
22 |
<p>
|
23 |
-
<label for="description"><?php
|
24 |
<textarea id="description" name="export-description" placeholder="" cols="80" rows="3"></textarea>
|
25 |
</p>
|
26 |
<p>
|
27 |
<button class="button-primary">
|
28 |
-
<i class="dashicons dashicons-download"></i> <?php
|
29 |
</button>
|
30 |
</p>
|
31 |
<?php wp_nonce_field( 'custom-sidebars-export' ); ?>
|
32 |
</form>
|
33 |
<hr />
|
34 |
-
<h2><?php
|
35 |
<form class="frm-preview-import">
|
36 |
<input type="hidden" name="do" value="preview-import" />
|
37 |
<p>
|
38 |
-
<label for="import-file"><?php
|
39 |
<input type="file" id="import-file" name="data" />
|
40 |
</p>
|
41 |
<p>
|
42 |
<button class="button-primary">
|
43 |
-
<i class="dashicons dashicons-upload"></i> <?php
|
44 |
</button>
|
45 |
</p>
|
46 |
<?php wp_nonce_field( 'custom-sidebars-import' ); ?>
|
7 |
?>
|
8 |
|
9 |
<div class="wpmui-form module-export">
|
10 |
+
<h2 class="no-pad-top"><?php esc_html_e( 'Export', 'custom-sidebars' ); ?></h2>
|
11 |
<form class="frm-export">
|
12 |
<input type="hidden" name="do" value="export" />
|
13 |
<p>
|
14 |
<i class="dashicons dashicons-info light"></i>
|
15 |
<?php
|
16 |
+
esc_html_e(
|
17 |
'This will generate a complete export file containing all ' .
|
18 |
'your sidebars and the current sidebar configuration.', 'custom-sidebars'
|
19 |
);
|
20 |
?>
|
21 |
</p>
|
22 |
<p>
|
23 |
+
<label for="description"><?php esc_html_e( 'Optional description for the export file:', 'custom-sidebars' ); ?></label><br />
|
24 |
<textarea id="description" name="export-description" placeholder="" cols="80" rows="3"></textarea>
|
25 |
</p>
|
26 |
<p>
|
27 |
<button class="button-primary">
|
28 |
+
<i class="dashicons dashicons-download"></i> <?php esc_html_e( 'Export', 'custom-sidebars' ); ?>
|
29 |
</button>
|
30 |
</p>
|
31 |
<?php wp_nonce_field( 'custom-sidebars-export' ); ?>
|
32 |
</form>
|
33 |
<hr />
|
34 |
+
<h2><?php esc_html_e( 'Import', 'custom-sidebars' ); ?></h2>
|
35 |
<form class="frm-preview-import">
|
36 |
<input type="hidden" name="do" value="preview-import" />
|
37 |
<p>
|
38 |
+
<label for="import-file"><?php esc_html_e( 'Select a file to import', 'custom-sidebars' ); ?></label>
|
39 |
<input type="file" id="import-file" name="data" />
|
40 |
</p>
|
41 |
<p>
|
42 |
<button class="button-primary">
|
43 |
+
<i class="dashicons dashicons-upload"></i> <?php esc_html_e( 'Preview', 'custom-sidebars' ); ?>
|
44 |
</button>
|
45 |
</p>
|
46 |
<?php wp_nonce_field( 'custom-sidebars-import' ); ?>
|
views/widgets-location.php
CHANGED
@@ -27,7 +27,7 @@ if ( ! function_exists( '_show_replaceable' ) ) {
|
|
27 |
?>
|
28 |
<div
|
29 |
class="cs-replaceable <?php echo esc_attr( $sb_id . $class ); ?>"
|
30 |
-
data-lbl-used="<?php
|
31 |
>
|
32 |
<label for="<?php echo esc_attr( $inp_id ); ?>">
|
33 |
<input type="checkbox"
|
@@ -36,8 +36,8 @@ if ( ! function_exists( '_show_replaceable' ) ) {
|
|
36 |
/>
|
37 |
<?php printf(
|
38 |
__( 'As <strong>%1$s</strong> for selected %2$s', 'custom-sidebars' ),
|
39 |
-
$sidebar['name'],
|
40 |
-
$cat_name
|
41 |
); ?>
|
42 |
</label>
|
43 |
<div class="details">
|
@@ -85,7 +85,7 @@ if ( ! function_exists( '_show_replaceable' ) ) {
|
|
85 |
</p>
|
86 |
|
87 |
<div class="hidden">
|
88 |
-
<p class="message no-sidebars"><?php
|
89 |
</div>
|
90 |
<?php
|
91 |
/**
|
@@ -95,11 +95,11 @@ if ( ! function_exists( '_show_replaceable' ) ) {
|
|
95 |
?>
|
96 |
<div class="wpmui-box">
|
97 |
<h3>
|
98 |
-
<a href="#" class="toggle" title="<?php
|
99 |
-
<span><?php
|
100 |
</h3>
|
101 |
<div class="inside">
|
102 |
-
<p><?php
|
103 |
|
104 |
<div class="cs-half">
|
105 |
<?php
|
@@ -147,15 +147,15 @@ foreach ( $taxonomies as $taxonomy_slug => $taxonomy ) {
|
|
147 |
?>
|
148 |
<div class="wpmui-box closed">
|
149 |
<h3>
|
150 |
-
<a href="#" class="toggle" title="<?php
|
151 |
-
<span><?php
|
152 |
</h3>
|
153 |
<div class="inside">
|
154 |
-
<p><?php
|
155 |
<h3 class="wpmui-tabs">
|
156 |
-
<a href="#tab-arch" class="tab active"><?php
|
157 |
-
<a href="#tab-catg" class="tab"><?php
|
158 |
-
<a href="#tab-aut" class="tab"><?php
|
159 |
</h3>
|
160 |
<div class="wpmui-tab-contents">
|
161 |
<div id="tab-arch" class="tab active">
|
@@ -203,11 +203,11 @@ foreach ( $taxonomies as $taxonomy_slug => $taxonomy ) {
|
|
203 |
?>
|
204 |
<div class="wpmui-box closed csb-media-screen-width">
|
205 |
<h3>
|
206 |
-
<a href="#" class="toggle" title="<?php
|
207 |
-
<span><?php
|
208 |
</h3>
|
209 |
<div class="inside">
|
210 |
-
<p class="description"><?php
|
211 |
<table class="form-table">
|
212 |
<thead>
|
213 |
<tr>
|
@@ -237,11 +237,11 @@ foreach ( $taxonomies as $taxonomy_slug => $taxonomy ) {
|
|
237 |
?>
|
238 |
<div class="wpmui-box closed cs-3rd-part">
|
239 |
<h3>
|
240 |
-
<a href="#" class="toggle" title="<?php
|
241 |
-
<span><?php
|
242 |
</h3>
|
243 |
<div class="inside">
|
244 |
-
<p><?php
|
245 |
|
246 |
<h3 class="wpmui-tabs">
|
247 |
<?php
|
@@ -281,8 +281,8 @@ foreach ( $integrations as $id => $one ) {
|
|
281 |
?>
|
282 |
|
283 |
<div class="buttons">
|
284 |
-
<button type="button" class="button-link btn-cancel"><?php
|
285 |
-
<button type="button" class="button-primary btn-save"><?php
|
286 |
</div>
|
287 |
<?php wp_nonce_field( 'custom-sidebars-set-location' ); ?>
|
288 |
</form>
|
27 |
?>
|
28 |
<div
|
29 |
class="cs-replaceable <?php echo esc_attr( $sb_id . $class ); ?>"
|
30 |
+
data-lbl-used="<?php esc_html_e( 'Replaced by another sidebar:', 'custom-sidebars' ); ?>"
|
31 |
>
|
32 |
<label for="<?php echo esc_attr( $inp_id ); ?>">
|
33 |
<input type="checkbox"
|
36 |
/>
|
37 |
<?php printf(
|
38 |
__( 'As <strong>%1$s</strong> for selected %2$s', 'custom-sidebars' ),
|
39 |
+
esc_attr($sidebar['name']),
|
40 |
+
esc_attr($cat_name)
|
41 |
); ?>
|
42 |
</label>
|
43 |
<div class="details">
|
85 |
</p>
|
86 |
|
87 |
<div class="hidden">
|
88 |
+
<p class="message no-sidebars"><?php esc_html_e( 'There are no replaceable sidebars. Please allow at least one as replaceable.', 'custom-sidebars' ); ?></p>
|
89 |
</div>
|
90 |
<?php
|
91 |
/**
|
95 |
?>
|
96 |
<div class="wpmui-box">
|
97 |
<h3>
|
98 |
+
<a href="#" class="toggle" title="<?php esc_html_e( 'Click to toggle', 'custom-sidebars' ); ?>"><br></a>
|
99 |
+
<span><?php esc_html_e( 'For all Single Entries matching selected criteria', 'custom-sidebars' ); ?></span>
|
100 |
</h3>
|
101 |
<div class="inside">
|
102 |
+
<p><?php esc_html_e( 'These replacements will be applied to every single post that matches a certain post type or category.', 'custom-sidebars' ); ?>
|
103 |
|
104 |
<div class="cs-half">
|
105 |
<?php
|
147 |
?>
|
148 |
<div class="wpmui-box closed">
|
149 |
<h3>
|
150 |
+
<a href="#" class="toggle" title="<?php esc_html_e( 'Click to toggle', 'custom-sidebars' );?>"><br></a>
|
151 |
+
<span><?php esc_html_e( 'For Archives', 'custom-sidebars' ); ?></span>
|
152 |
</h3>
|
153 |
<div class="inside">
|
154 |
+
<p><?php esc_html_e( 'These replacements will be applied to Archive Type posts and pages.', 'custom-sidebars' ); ?>
|
155 |
<h3 class="wpmui-tabs">
|
156 |
+
<a href="#tab-arch" class="tab active"><?php esc_html_e( 'Archive Types', 'custom-sidebars' ); ?></a>
|
157 |
+
<a href="#tab-catg" class="tab"><?php esc_html_e( 'Category Archives', 'custom-sidebars' ); ?></a>
|
158 |
+
<a href="#tab-aut" class="tab"><?php esc_html_e( 'Authors', 'custom-sidebars' ); ?></a>
|
159 |
</h3>
|
160 |
<div class="wpmui-tab-contents">
|
161 |
<div id="tab-arch" class="tab active">
|
203 |
?>
|
204 |
<div class="wpmui-box closed csb-media-screen-width">
|
205 |
<h3>
|
206 |
+
<a href="#" class="toggle" title="<?php esc_html_e( 'Click to toggle', 'custom-sidebars' ); ?>"><br></a>
|
207 |
+
<span><?php esc_html_e( 'For Screen Sizes', 'custom-sidebars' ); ?></span>
|
208 |
</h3>
|
209 |
<div class="inside">
|
210 |
+
<p class="description"><?php esc_html_e( 'Those settings do not load unload sidebars, it only hide or show widgets, NOT SIDEBARS, depend on media screen width.', 'custom-sidebars' ); ?></p>
|
211 |
<table class="form-table">
|
212 |
<thead>
|
213 |
<tr>
|
237 |
?>
|
238 |
<div class="wpmui-box closed cs-3rd-part">
|
239 |
<h3>
|
240 |
+
<a href="#" class="toggle" title="<?php esc_html_e( 'Click to toggle', 'custom-sidebars' ); ?>"><br></a>
|
241 |
+
<span><?php esc_html_e( '3rd party plugins', 'custom-sidebars' ); ?></span>
|
242 |
</h3>
|
243 |
<div class="inside">
|
244 |
+
<p><?php esc_html_e( 'These replacements will be applied to 3rd party plugins.', 'custom-sidebars' ); ?>
|
245 |
|
246 |
<h3 class="wpmui-tabs">
|
247 |
<?php
|
281 |
?>
|
282 |
|
283 |
<div class="buttons">
|
284 |
+
<button type="button" class="button-link btn-cancel"><?php esc_html_e( 'Cancel', 'custom-sidebars' ); ?></button>
|
285 |
+
<button type="button" class="button-primary btn-save"><?php esc_html_e( 'Save Changes', 'custom-sidebars' ); ?></button>
|
286 |
</div>
|
287 |
<?php wp_nonce_field( 'custom-sidebars-set-location' ); ?>
|
288 |
</form>
|
views/widgets.php
CHANGED
@@ -14,11 +14,11 @@
|
|
14 |
============================================================================
|
15 |
*/ ?>
|
16 |
<div id="cs-title-options">
|
17 |
-
<h2><?php
|
18 |
<div id="cs-options" class="csb cs-options">
|
19 |
<button type="button" class="button button-primary cs-action btn-create-sidebar">
|
20 |
<i class="dashicons dashicons-plus-alt"></i>
|
21 |
-
<?php
|
22 |
</button>
|
23 |
<?php
|
24 |
/**
|
@@ -37,19 +37,19 @@
|
|
37 |
*/ ?>
|
38 |
<script>
|
39 |
csSidebarsData = {
|
40 |
-
'title_edit': "<?php
|
41 |
-
'title_new': "<?php
|
42 |
-
'btn_edit': "<?php
|
43 |
-
'btn_new': "<?php
|
44 |
-
'title_delete': "<?php
|
45 |
-
'title_location': "<?php
|
46 |
-
'title_export': "<?php
|
47 |
-
'custom_sidebars': "<?php
|
48 |
-
'theme_sidebars': "<?php
|
49 |
-
'ajax_error': "<?php
|
50 |
-
'lbl_replaceable': "<?php
|
51 |
-
'replace_tip': "<?php
|
52 |
-
'filter': "<?php
|
53 |
'replaceable': <?php echo json_encode( (object) CustomSidebars::get_options( 'modifiable' ) ); ?>,
|
54 |
'_wpnonce_get': "<?php echo esc_attr( wp_create_nonce( 'custom-sidebars-get' ) ); ?>"
|
55 |
};
|
@@ -66,7 +66,7 @@
|
|
66 |
class="cs-tool delete-sidebar"
|
67 |
data-action="delete"
|
68 |
href="#"
|
69 |
-
title="<?php
|
70 |
>
|
71 |
<i class="dashicons dashicons-trash"></i>
|
72 |
</a>
|
@@ -75,18 +75,18 @@
|
|
75 |
class="cs-tool"
|
76 |
data-action="edit"
|
77 |
href="#"
|
78 |
-
title="<?php
|
79 |
>
|
80 |
-
<?php
|
81 |
</a>
|
82 |
<span class="cs-separator">|</span>
|
83 |
<a
|
84 |
class="cs-tool"
|
85 |
data-action="location"
|
86 |
href="#"
|
87 |
-
title="<?php
|
88 |
>
|
89 |
-
<?php
|
90 |
</a>
|
91 |
<span class="cs-separator">|</span>
|
92 |
</div>
|
@@ -102,8 +102,8 @@
|
|
102 |
for="cs-replaceable"
|
103 |
class="cs-tool btn-replaceable"
|
104 |
data-action="replaceable"
|
105 |
-
data-on="<?php
|
106 |
-
data-off="<?php
|
107 |
>
|
108 |
<span class="icon"></span>
|
109 |
<input
|
@@ -112,7 +112,7 @@
|
|
112 |
class="has-label chk-replaceable"
|
113 |
/>
|
114 |
<span class="is-label">
|
115 |
-
<?php
|
116 |
</span>
|
117 |
</label>
|
118 |
</div>
|
14 |
============================================================================
|
15 |
*/ ?>
|
16 |
<div id="cs-title-options">
|
17 |
+
<h2><?php esc_html_e( 'Sidebars', 'custom-sidebars' ); ?></h2>
|
18 |
<div id="cs-options" class="csb cs-options">
|
19 |
<button type="button" class="button button-primary cs-action btn-create-sidebar">
|
20 |
<i class="dashicons dashicons-plus-alt"></i>
|
21 |
+
<?php esc_html_e( 'Create a new sidebar', 'custom-sidebars' ); ?>
|
22 |
</button>
|
23 |
<?php
|
24 |
/**
|
37 |
*/ ?>
|
38 |
<script>
|
39 |
csSidebarsData = {
|
40 |
+
'title_edit': "<?php esc_html_e( 'Edit [Sidebar]', 'custom-sidebars' ); ?>",
|
41 |
+
'title_new': "<?php esc_html_e( 'New Custom Sidebar', 'custom-sidebars' ); ?>",
|
42 |
+
'btn_edit': "<?php esc_html_e( 'Save Changes', 'custom-sidebars' ); ?>",
|
43 |
+
'btn_new': "<?php esc_html_e( 'Create Sidebar', 'custom-sidebars' ); ?>",
|
44 |
+
'title_delete': "<?php esc_html_e( 'Delete Sidebar', 'custom-sidebars' ); ?>",
|
45 |
+
'title_location': "<?php esc_html_e( 'Define where you want this sidebar to appear.', 'custom-sidebars' ); ?>",
|
46 |
+
'title_export': "<?php esc_html_e( 'Import / Export Sidebars', 'custom-sidebars' ); ?>",
|
47 |
+
'custom_sidebars': "<?php esc_html_e( 'Custom Sidebars', 'custom-sidebars' ); ?>",
|
48 |
+
'theme_sidebars': "<?php esc_html_e( 'Theme Sidebars', 'custom-sidebars' ); ?>",
|
49 |
+
'ajax_error': "<?php esc_html_e( 'Couldn\'t load data from WordPress...', 'custom-sidebars' ); ?>",
|
50 |
+
'lbl_replaceable': "<?php esc_html_e( 'This sidebar can be replaced on certain pages', 'custom-sidebars' ); ?>",
|
51 |
+
'replace_tip': "<?php esc_html_e( 'Activate this option to replace the sidebar with one of your custom sidebars.', 'custom-sidebars' ); ?>",
|
52 |
+
'filter': "<?php esc_html_e( 'Filter...', 'custom-sidebars' ); ?>",
|
53 |
'replaceable': <?php echo json_encode( (object) CustomSidebars::get_options( 'modifiable' ) ); ?>,
|
54 |
'_wpnonce_get': "<?php echo esc_attr( wp_create_nonce( 'custom-sidebars-get' ) ); ?>"
|
55 |
};
|
66 |
class="cs-tool delete-sidebar"
|
67 |
data-action="delete"
|
68 |
href="#"
|
69 |
+
title="<?php esc_html_e( 'Delete this sidebar.', 'custom-sidebars' ); ?>"
|
70 |
>
|
71 |
<i class="dashicons dashicons-trash"></i>
|
72 |
</a>
|
75 |
class="cs-tool"
|
76 |
data-action="edit"
|
77 |
href="#"
|
78 |
+
title="<?php esc_html_e( 'Edit this sidebar.', 'custom-sidebars' ); ?>"
|
79 |
>
|
80 |
+
<?php esc_html_e( 'Edit', 'custom-sidebars' ); ?>
|
81 |
</a>
|
82 |
<span class="cs-separator">|</span>
|
83 |
<a
|
84 |
class="cs-tool"
|
85 |
data-action="location"
|
86 |
href="#"
|
87 |
+
title="<?php esc_html_e( 'Where do you want to show the sidebar?', 'custom-sidebars' ); ?>"
|
88 |
>
|
89 |
+
<?php esc_html_e( 'Sidebar Location', 'custom-sidebars' ); ?>
|
90 |
</a>
|
91 |
<span class="cs-separator">|</span>
|
92 |
</div>
|
102 |
for="cs-replaceable"
|
103 |
class="cs-tool btn-replaceable"
|
104 |
data-action="replaceable"
|
105 |
+
data-on="<?php esc_html_e( 'This sidebar can be replaced on certain pages', 'custom-sidebars' ); ?>"
|
106 |
+
data-off="<?php esc_html_e( 'This sidebar will always be same on all pages', 'custom-sidebars' ); ?>"
|
107 |
>
|
108 |
<span class="icon"></span>
|
109 |
<input
|
112 |
class="has-label chk-replaceable"
|
113 |
/>
|
114 |
<span class="is-label">
|
115 |
+
<?php esc_html_e( 'Allow this sidebar to be replaced', 'custom-sidebars' ); ?>
|
116 |
</span>
|
117 |
</label>
|
118 |
</div>
|