diff --git a/wp-express-checkout/includes/class-utils.php b/wp-express-checkout/includes/class-utils.php index ef9ffe2..be750a6 100644 --- a/wp-express-checkout/includes/class-utils.php +++ b/wp-express-checkout/includes/class-utils.php @@ -793,6 +793,61 @@ public static function wpec_load_template( $template, $args = array(), $load_onc return $tpl_html; } + public static function wp_kses_common_attributes() { + $common_attributes = array( + 'id' => true, + 'class' => true, + 'style' => true, + 'title' => true, + 'disabled' => true, + 'aria-*' => true, + 'data-*' => true, + ); + return apply_filters( 'wpec_kses_common_attributes', $common_attributes ); + } + + public static function wp_kses_select_option_tags(){ + + $common_attributes = self::wp_kses_common_attributes(); + + $allowed_tags = array( + 'option' => array_merge( $common_attributes, array( + 'value' => true, + 'label' => true, + 'selected' => true, + ) ), + + 'optgroup' => array_merge( $common_attributes, array( + 'label' => true, + ) ), + ); + + return apply_filters( 'wpec_kses_select_option_tags', $allowed_tags ); + } + + /** + * Returns allowed select field tags and attributes for wp_kses(). + * + * @return array Allowed HTML tags and attributes. + */ + public static function wp_kses_select_tags() { + $allowed_tags = array( + 'select' => array_merge( self::wp_kses_common_attributes(), array( + 'name' => true, + 'multiple' => true, + 'required' => true, + 'size' => true, + 'form' => true, + 'autocomplete' => true, + 'autofocus' => true, + 'tabindex' => true, + ) ), + ); + $allowed_tags = array_merge( $allowed_tags, self::wp_kses_select_option_tags() ); + + return apply_filters( 'wpec_kses_select_tags', $allowed_tags ); + } + public static function wp_kses_post_tags_with_form() { // Array of common standard and custom form attributes $all_attributes = array( diff --git a/wp-express-checkout/includes/integrations/simple-wp-membership/class-simple-wp-membership.php b/wp-express-checkout/includes/integrations/simple-wp-membership/class-simple-wp-membership.php index 6dd60e7..b329c7b 100644 --- a/wp-express-checkout/includes/integrations/simple-wp-membership/class-simple-wp-membership.php +++ b/wp-express-checkout/includes/integrations/simple-wp-membership/class-simple-wp-membership.php @@ -4,6 +4,7 @@ use WP_Express_Checkout\Debug\Logger; use WP_Express_Checkout\Products; +use WP_Express_Checkout\Utils; class Simple_WP_Membership extends Emember { @@ -40,13 +41,13 @@ public function add_meta_boxes() { public function display_meta_box( $post ) { $current_val = get_post_meta( $post->ID, 'wpec_product_swpm_level', true ); ?> -

- +

+ +

+