| @@ -1,30 +1,45 @@ | ||
| 1 | 1 | <?php |
| 2 | +if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
| 3 | + | |
| 2 | 4 | /** |
| 3 | 5 | * Radio component for the settings page |
| 4 | 6 | */ |
| 5 | 7 | |
| 6 | -$key_option = sanitize_key( $data['name'] ); | |
| 8 | +$quickwebp_key_option = sanitize_key( $data['name'] ); | |
| 7 | 9 | |
| 8 | -if( isset( $key_option, $_POST[ $key_option ] ) ) { | |
| 9 | - update_option( $key_option, sanitize_text_field( $_POST[ $key_option ] ) ); | |
| 10 | +//phpcs:ignore WordPress.Security.NonceVerification.Missing | |
| 11 | +if( isset( $quickwebp_key_option, $_POST[ $quickwebp_key_option ] ) ) { | |
| 12 | + //phpcs:ignore WordPress.Security.NonceVerification.Missing | |
| 13 | + $quickwebp_value_to_save = sanitize_text_field( wp_unslash( $_POST[ $quickwebp_key_option ] ) ); | |
| 14 | + $quickwebp_allowed_values = array(); | |
| 15 | + | |
| 16 | + if ( isset( $data['options'] ) && is_array( $data['options'] ) ) { | |
| 17 | + foreach ( $data['options'] as $quickwebp_option ) { | |
| 18 | + $quickwebp_allowed_values[] = isset( $quickwebp_option['value'] ) ? (string) $quickwebp_option['value'] : ''; | |
| 19 | + } | |
| 20 | + } | |
| 21 | + | |
| 22 | + if ( in_array( $quickwebp_value_to_save, $quickwebp_allowed_values, true ) ) { | |
| 23 | + update_option( $quickwebp_key_option, $quickwebp_value_to_save ); | |
| 24 | + } | |
| 10 | 25 | } |
| 11 | 26 | if(isset($data['options']) && is_array($data['options'])) { |
| 12 | 27 | ?> |
| 13 | - <input type="hidden" name="<?php echo esc_attr( $key_option ?? '' ); ?>" value=""> | |
| 28 | + <input type="hidden" name="<?php echo esc_attr( $quickwebp_key_option ?? '' ); ?>" value=""> | |
| 14 | 29 | <div class="quickwebp-options"> |
| 15 | 30 | <?php |
| 16 | - foreach( $data['options'] as $option ) { | |
| 31 | + foreach( $data['options'] as $quickwebp_option ) { | |
| 17 | 32 | ?> |
| 18 | 33 | <label> |
| 19 | 34 | <input |
| 20 | 35 | type="radio" |
| 21 | - name="<?php echo esc_attr( $key_option ?? '' ); ?>" | |
| 22 | - id="<?php echo esc_attr( $key_option ?? '' ); ?>" | |
| 23 | - value="<?php echo esc_attr( $option['value'] ?? '' ); ?>" | |
| 24 | - <?php checked( $option['value'], get_option( $key_option, $data['default'] ) ); ?> | |
| 36 | + name="<?php echo esc_attr( $quickwebp_key_option ?? '' ); ?>" | |
| 37 | + id="<?php echo esc_attr( $quickwebp_key_option ?? '' ); ?>" | |
| 38 | + value="<?php echo esc_attr( $quickwebp_option['value'] ?? '' ); ?>" | |
| 39 | + <?php checked( $quickwebp_option['value'], get_option( $quickwebp_key_option, $data['default'] ) ); ?> | |
| 25 | 40 | > |
| 26 | - <?php echo esc_html( $option['label'] ?? '' ); ?> | |
| 41 | + <?php echo esc_html( $quickwebp_option['label'] ?? '' ); ?> | |
| 27 | 42 | </label> |
| 28 | 43 | <?php |
| 29 | 44 | } |
| 30 | 45 | ?> |