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