Plugin Directory

Changeset 3257174


Ignore:
Timestamp:
03/17/2025 02:00:12 PM (11 months ago)
Author:
codevibrant
Message:

fixed the security issue.

Location:
maintenance-notice
Files:
106 added
12 edited

Legend:

Unmodified
Added
Removed
  • maintenance-notice/trunk/admin/class-maintenance-notice-admin.php

    r3111877 r3257174  
    346346         */
    347347        function get_font_variant() {
    348             if ( !wp_verify_nonce( $_POST['_wpnonce'], "maintenance_notice_nonce" ) ) {
    349                 wp_die( "No kiddies!!");
    350             }
    351 
    352             $font_family = isset( $_POST['font_family'] ) ? sanitize_text_field( $_POST['font_family'] ) : 'Roboto';
     348            // Check if nonce is set before verifying it
     349            if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), "maintenance_notice_nonce" ) ) {
     350                wp_die( "No kiddies!!" );
     351            }
     352
     353            $font_family = isset( $_POST['font_family'] ) ? sanitize_text_field( wp_unslash( $_POST['font_family'] ) ) : 'Roboto';
     354
    353355            // Get google fonts json
    354356            $cvmn_google_fonts_file = apply_filters( 'maintenance_notice_google_fonts_json_file', MAINTENANCE_NOTICE_PATH . '/admin/assets/google-fonts.json' );
     
    359361            WP_Filesystem();
    360362            $get_file_content   = $wp_filesystem->get_contents( $cvmn_google_fonts_file );
    361             $google_fonts   = json_decode( $get_file_content, 1 );
    362             $variant_array = [];
     363            $google_fonts       = json_decode( $get_file_content, true );
     364            $variant_array      = [];
    363365            foreach( $google_fonts as $key => $values ) {
    364366                foreach( $values as $valueskey => $value ) {
  • maintenance-notice/trunk/admin/js/admin.js

    r2711904 r3257174  
    66
    77    var Ajaxurl = MaintenanceNoticeObject.ajax_url, _wpnonce = MaintenanceNoticeObject._wpnonce, importingString = MaintenanceNoticeObject.importingString, importedString = MaintenanceNoticeObject.importedString;
    8     //console.log( tinymce.get('cvmn_page_description') );
    98
    109    /**
     
    3635            return;
    3736        }
     37        alert(last_segment);
    3838        $( ".cvmn-nav-tab-wrapper ul li." + last_segment ).siblings().removeClass( "isActive" );
    3939        $( ".cvmn-nav-tab-wrapper ul li." + last_segment ).addClass( "isActive" );
     
    155155    /**
    156156     * Toggle control field
    157      *
    158      *
    159157     */
    160158    $( ".cvmn-admin-toggle-field .cvmn-switch" ).on( "click", function() {
     
    168166    /**
    169167     * Trigger submit button change
    170      *
    171      *
    172168     */
    173169    function trigger_submit_button() {
     
    292288        $(document).on( "click", ".cvmn-admin-repeater-field .delete-item", function(e) {
    293289            e.preventDefault();
     290
    294291            var _this = $(this),
    295             index = _this.data( "index" ),
    296             removeItem = _this.parents( ".cvmn-repeater-single-field" ),
    297             parentElement = _this.parents( ".cvmn-admin-repeater-field" ),
    298             prevValue = parentElement.find( "input.repeater-value" ).val(),
    299             newValue = JSON.parse( prevValue ).splice( index, 1 );
    300             parentElement.find( "input.repeater-value" ).val( JSON.stringify( newValue ) );
     292                index = _this.data("index"),
     293                removeItem = _this.parents(".cvmn-repeater-single-field"),
     294                parentElement = _this.parents(".cvmn-admin-repeater-field"),
     295                prevValue = JSON.parse(parentElement.find("input.repeater-value").val());
     296
     297            // Remove the item from the array
     298            prevValue.splice(index, 1);
     299           
     300            // Update the repeater field value
     301            parentElement.find("input.repeater-value").val(JSON.stringify(prevValue));
     302           
     303            // Remove the item from the DOM
    301304            removeItem.remove();
     305
     306            // Re-index remaining items
     307            parentElement.find(".cvmn-repeater-single-field").each(function(newIndex, element) {
     308                $(element).find("button.delete-item").data("index", newIndex);
     309            });
     310
    302311            trigger_submit_button();
     312
    303313        });
    304314    }
     
    417427    });
    418428
     429    // Select all text input fields where you want to prevent the Enter key action
     430    $('input[type="text"]').on('keydown', function(event) {
     431        // Check if the Enter key was pressed
     432        if (event.key === "Enter" || event.keyCode === 13 || event.which === 13) {
     433            // Prevent the default action (e.g., submitting a form or triggering an upload)
     434            event.preventDefault();
     435            // Optional: Add custom logic here if needed
     436            console.log("Enter key pressed in text input - default action prevented.");
     437        }
     438    });
     439
    419440});
  • maintenance-notice/trunk/admin/partials/additional-settings.php

    r3111877 r3257174  
    99if ( isset( $_POST['cvmn_submit'] ) ) {
    1010    // Check the nonce
    11     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     11    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1212        die( 'Security check failed' );
    1313    }
     14
    1415    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
     16
     17    // Sanitize and process form values
    1518    $cvmn_form_values = array(
    16         'cvmn_social_icons_display' => sanitize_text_field( $_POST['cvmn_social_icons_display'] ),
    17         'cvmn_social_icons_array' => stripslashes( $_POST['cvmn_social_icons_array'] ),
    18         'cvmn_login_form_display' => sanitize_text_field( $_POST['cvmn_login_form_display'] ),
    19         'cvmn_login_form_title' => sanitize_text_field( $_POST['cvmn_login_form_title'] )
     19        'cvmn_social_icons_display' => isset( $_POST['cvmn_social_icons_display'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_social_icons_display'] ) ) : '',
     20        'cvmn_social_icons_array'   => isset( $_POST['cvmn_social_icons_array'] ) ? wp_kses_post( wp_unslash( $_POST['cvmn_social_icons_array'] ) ) : '',
     21        'cvmn_login_form_display'   => isset( $_POST['cvmn_login_form_display'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_login_form_display'] ) ) : '',
     22        'cvmn_login_form_title'     => isset( $_POST['cvmn_login_form_title'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_login_form_title'] ) ) : ''
    2023    );
     24
    2125    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    2226}
     
    2731$cvmn_social_icons_array = isset( $maintenance_notice_options['cvmn_social_icons_array'] ) ? stripslashes( $maintenance_notice_options['cvmn_social_icons_array'] ) : json_encode( array( array( 'cvmn_social_icons_array_icon' => 'fab fa-facebook-f', 'cvmn_social_icons_array_icon_url' => '#' ) ) );
    2832$cvmn_login_form_display = isset( $maintenance_notice_options['cvmn_login_form_display'] ) ? esc_html( $maintenance_notice_options['cvmn_login_form_display'] ) : 'show';
    29 $cvmn_login_form_title = isset( $maintenance_notice_options['cvmn_login_form_title'] ) ? esc_html( $maintenance_notice_options['cvmn_login_form_title'] ) : esc_html__( 'Log In', 'wp-maagazine-modules' );
     33$cvmn_login_form_title = isset( $maintenance_notice_options['cvmn_login_form_title'] ) ? esc_html( $maintenance_notice_options['cvmn_login_form_title'] ) : esc_html__( 'Log In', 'maintenance-notice' );
    3034
    3135$maintenance_notice_admin = new Maintenance_Notice_Admin;
  • maintenance-notice/trunk/admin/partials/background-settings.php

    r3111877 r3257174  
    99if ( isset( $_POST['cvmn_submit'] ) ) {
    1010    // Check the nonce
    11     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     11    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1212        die( 'Security check failed' );
    1313    }
     14
    1415    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
     16
    1517    $cvmn_form_values = array(
    16         'cvmn_maintenance_page_background_type' => sanitize_text_field( $_POST['cvmn_maintenance_page_background_type'] ),
    17         'cvmn_background_color'                 => sanitize_hex_color( $_POST['cvmn_background_color'] ),
    18         'cvmn_background_image'                 => esc_url_raw( $_POST['cvmn_background_image'] ),
    19         'cvmn_background_video_url'             => esc_url_raw( $_POST['cvmn_background_video_url'] ),
    20         'cvmn_background_overlay_type'          => sanitize_text_field( $_POST['cvmn_background_overlay_type'] ),
    21         'cvmn_background_overlay_opacity'       => sanitize_text_field( $_POST['cvmn_background_overlay_opacity'] )
     18        'cvmn_maintenance_page_background_type' => isset( $_POST['cvmn_maintenance_page_background_type'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_maintenance_page_background_type'] ) ) : '',
     19        'cvmn_background_color'                 => isset( $_POST['cvmn_background_color'] ) ? sanitize_hex_color( wp_unslash( $_POST['cvmn_background_color'] ) ) : '',
     20        'cvmn_background_image'                 => isset( $_POST['cvmn_background_image'] ) ? esc_url_raw( wp_unslash( $_POST['cvmn_background_image'] ) ) : '',
     21        'cvmn_background_video_url'             => isset( $_POST['cvmn_background_video_url'] ) ? esc_url_raw( wp_unslash( $_POST['cvmn_background_video_url'] ) ) : '',
     22        'cvmn_background_overlay_type'          => isset( $_POST['cvmn_background_overlay_type'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_background_overlay_type'] ) ) : '',
     23        'cvmn_background_overlay_opacity'       => isset( $_POST['cvmn_background_overlay_opacity'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_background_overlay_opacity'] ) ) : ''
    2224    );
     25   
    2326    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    2427}
  • maintenance-notice/trunk/admin/partials/content-dashboard.php

    r3111877 r3257174  
    99if ( isset( $_POST['cvmn_submit'] ) ) {
    1010    // Check the nonce
    11     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     11    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1212        die( 'Security check failed' );
    1313    }
    1414    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
    15     $cvmn_form_values = array(
    16         'cvmn_maintenance_page_display' => sanitize_text_field( $_POST['cvmn_maintenance_page_display'] )
    17     );
     15
     16    // Initialize form values array
     17    $cvmn_form_values = array();
     18
     19    // Check if 'cvmn_maintenance_page_display' is set before accessing it
     20    if ( isset( $_POST['cvmn_maintenance_page_display'] ) ) {
     21        $cvmn_form_values['cvmn_maintenance_page_display'] = sanitize_text_field( wp_unslash( $_POST['cvmn_maintenance_page_display'] ) );
     22    }
     23
    1824    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    1925}
  • maintenance-notice/trunk/admin/partials/content-settings.php

    r3111877 r3257174  
    99if ( isset( $_POST['cvmn_submit'] ) ) {
    1010    // Check the nonce
    11     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     11    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1212        die( 'Security check failed' );
    1313    }
     14
    1415    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
     16
    1517    $cvmn_form_values = array(
    16         'cvmn_page_title'       => sanitize_text_field( $_POST['cvmn_page_title'] ),
    17         'cvmn_page_heading'     => sanitize_text_field( $_POST['cvmn_page_heading'] ),
    18         'cvmn_page_description' => wp_kses_post( $_POST['cvmn_page_description'] ),
    19         'cvmn_logo'             => esc_url_raw( $_POST['cvmn_logo'] ),
    20         'cvmn_button_one_label' => sanitize_text_field( $_POST['cvmn_button_one_label'] ),
    21         'cvmn_button_one_link'  => esc_url_raw( $_POST['cvmn_button_one_link'] )
     18        'cvmn_page_title'       => isset( $_POST['cvmn_page_title'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_page_title'] ) ) : '',
     19        'cvmn_page_heading'     => isset( $_POST['cvmn_page_heading'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_page_heading'] ) ) : '',
     20        'cvmn_page_description' => isset( $_POST['cvmn_page_description'] ) ? wp_kses_post( wp_unslash( $_POST['cvmn_page_description'] ) ) : '',
     21        'cvmn_logo'             => isset( $_POST['cvmn_logo'] ) ? esc_url_raw( wp_unslash( $_POST['cvmn_logo'] ) ) : '',
     22        'cvmn_button_one_label' => isset( $_POST['cvmn_button_one_label'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_button_one_label'] ) ) : '',
     23        'cvmn_button_one_link'  => isset( $_POST['cvmn_button_one_link'] ) ? esc_url_raw( wp_unslash( $_POST['cvmn_button_one_link'] ) ) : ''
    2224    );
     25   
    2326    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    2427}
  • maintenance-notice/trunk/admin/partials/countdown-settings.php

    r3111877 r3257174  
    99if ( isset( $_POST['cvmn_submit'] ) ) {
    1010    // Check the nonce
    11     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     11    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1212        die( 'Security check failed' );
    1313    }
     14
    1415    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
     16   
     17    // Sanitize and process form values
    1518    $cvmn_form_values = array(
    16         'cvmn_countdown_display'                => sanitize_text_field( $_POST['cvmn_countdown_display'] ),
    17         'cvmn_countdown_end_date'               => sanitize_text_field( $_POST['cvmn_countdown_end_date'] ),
    18         'cvmn_countdown_end_time'               => sanitize_text_field( $_POST['cvmn_countdown_end_time'] ),
    19         'cvmn_countdown_end_popup_content'      => wp_kses_post( $_POST['cvmn_countdown_end_popup_content'] )
     19        'cvmn_countdown_display'           => isset( $_POST['cvmn_countdown_display'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_countdown_display'] ) ) : '',
     20        'cvmn_countdown_end_date'          => isset( $_POST['cvmn_countdown_end_date'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_countdown_end_date'] ) ) : '',
     21        'cvmn_countdown_end_time'          => isset( $_POST['cvmn_countdown_end_time'] ) ? sanitize_text_field( wp_unslash( $_POST['cvmn_countdown_end_time'] ) ) : '',
     22        'cvmn_countdown_end_popup_content' => isset( $_POST['cvmn_countdown_end_popup_content'] ) ? wp_kses_post( wp_unslash( $_POST['cvmn_countdown_end_popup_content'] ) ) : ''
    2023    );
     24
    2125    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    2226}
    2327
    2428$maintenance_notice_options = get_option( 'maintenance_notice_options' );
    25 $allowed_tags = wp_kses_allowed_html('post');
     29$allowed_tags = wp_kses_allowed_html( 'post' );
    2630// check if value set or not
    2731$cvmn_countdown_display = isset( $maintenance_notice_options['cvmn_countdown_display'] ) ? esc_html( $maintenance_notice_options['cvmn_countdown_display'] ) : 'show';
     
    3943                <div class="cvmn-admin-single-field">
    4044                    <div class="cvmn-admin-field-heading">
    41                         <?php esc_html_e( "Countdown clock Settings", 'maintenance-notice' ); ?>
     45                        <span>
     46                        <?php esc_html_e( 'Countdown clock Settings', 'maintenance-notice' ); ?>
    4247                        </span>
    4348                    </div>
  • maintenance-notice/trunk/admin/partials/typography-settings.php

    r3111877 r3257174  
    1010
    1111    // Check the nonce
    12     if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( $_POST['cvmn_nonce_field'], 'cvmn_nonce_action' ) ) {
     12    if ( ! isset( $_POST['cvmn_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cvmn_nonce_field'] ) ), 'cvmn_nonce_action' ) ) {
    1313        die( 'Security check failed' );
    1414    }
    1515
    1616    $maintenance_notice_options = get_option( 'maintenance_notice_options' );
    17     $cvmn_form_values = array(
    18         'cvmn_page_typography_inherit'          => sanitize_text_field( $_POST['cvmn_page_typography_inherit'] ),
    19         'cvmn_page_title_font_family'           => sanitize_text_field( $_POST['cvmn_page_title_font_family'] ),
    20         'cvmn_page_title_font_family_variant'   => sanitize_text_field( $_POST['cvmn_page_title_font_family_variant'] ),
    21         'cvmn_page_title_text_transform'        => sanitize_text_field( $_POST['cvmn_page_title_text_transform'] ),
    22         'cvmn_page_title_text_decoration'       => sanitize_text_field( $_POST['cvmn_page_title_text_decoration'] ),
    23         'cvmn_page_title_font_size'             => sanitize_text_field( $_POST['cvmn_page_title_font_size'] ),
    24         'cvmn_page_title_font_color'            => sanitize_hex_color( $_POST['cvmn_page_title_font_color'] ),
    25         'cvmn_page_heading_font_family'           => sanitize_text_field( $_POST['cvmn_page_heading_font_family'] ),
    26         'cvmn_page_heading_font_family_variant'   => sanitize_text_field( $_POST['cvmn_page_heading_font_family_variant'] ),
    27         'cvmn_page_heading_text_transform'        => sanitize_text_field( $_POST['cvmn_page_heading_text_transform'] ),
    28         'cvmn_page_heading_text_decoration'       => sanitize_text_field( $_POST['cvmn_page_heading_text_decoration'] ),
    29         'cvmn_page_heading_font_size'             => sanitize_text_field( $_POST['cvmn_page_heading_font_size'] ),
    30         'cvmn_page_heading_font_color'            => sanitize_hex_color( $_POST['cvmn_page_heading_font_color'] ),
    31         'cvmn_page_description_font_family'           => sanitize_text_field( $_POST['cvmn_page_description_font_family'] ),
    32         'cvmn_page_description_font_family_variant'   => sanitize_text_field( $_POST['cvmn_page_description_font_family_variant'] ),
    33         'cvmn_page_description_text_transform'        => sanitize_text_field( $_POST['cvmn_page_description_text_transform'] ),
    34         'cvmn_page_description_text_decoration'       => sanitize_text_field( $_POST['cvmn_page_description_text_decoration'] ),
    35         'cvmn_page_description_font_size'             => sanitize_text_field( $_POST['cvmn_page_description_font_size'] ),
    36         'cvmn_page_description_font_color'            => sanitize_hex_color( $_POST['cvmn_page_description_font_color'] ),
    37         'cvmn_page_countdown_font_family'           => sanitize_text_field( $_POST['cvmn_page_countdown_font_family'] ),
    38         'cvmn_page_countdown_font_family_variant'   => sanitize_text_field( $_POST['cvmn_page_countdown_font_family_variant'] ),
    39         'cvmn_page_countdown_text_transform'        => sanitize_text_field( $_POST['cvmn_page_countdown_text_transform'] ),
    40         'cvmn_page_countdown_text_decoration'       => sanitize_text_field( $_POST['cvmn_page_countdown_text_decoration'] ),
    41         'cvmn_page_countdown_font_size'             => sanitize_text_field( $_POST['cvmn_page_countdown_font_size'] ),
    42         'cvmn_page_countdown_font_color'            => sanitize_hex_color( $_POST['cvmn_page_countdown_font_color'] ),
    43         'cvmn_button_one_font_family'           => sanitize_text_field( $_POST['cvmn_button_one_font_family'] ),
    44         'cvmn_button_one_font_family_variant'   => sanitize_text_field( $_POST['cvmn_button_one_font_family_variant'] ),
    45         'cvmn_button_one_text_transform'        => sanitize_text_field( $_POST['cvmn_button_one_text_transform'] ),
    46         'cvmn_button_one_text_decoration'       => sanitize_text_field( $_POST['cvmn_button_one_text_decoration'] ),
    47         'cvmn_button_one_font_size'             => sanitize_text_field( $_POST['cvmn_button_one_font_size'] ),
    48         'cvmn_button_one_font_color'            => sanitize_hex_color( $_POST['cvmn_button_one_font_color'] ),
    49         'cvmn_button_one_bg_color'              => sanitize_hex_color( $_POST['cvmn_button_one_bg_color'] ),
    50         'cvmn_button_one_border_color'          => sanitize_hex_color( $_POST['cvmn_button_one_border_color'] ),
    51         'cvmn_button_one_hover_text_color'      => sanitize_hex_color( $_POST['cvmn_button_one_hover_text_color'] ),
    52         'cvmn_button_one_hover_bg_color'        => sanitize_hex_color( $_POST['cvmn_button_one_hover_bg_color'] )
     17
     18    // Define an array of allowed keys and their sanitization functions
     19    $allowed_fields = array(
     20        'cvmn_page_typography_inherit'        => 'sanitize_text_field',
     21        'cvmn_page_title_font_family'         => 'sanitize_text_field',
     22        'cvmn_page_title_font_family_variant' => 'sanitize_text_field',
     23        'cvmn_page_title_text_transform'      => 'sanitize_text_field',
     24        'cvmn_page_title_text_decoration'     => 'sanitize_text_field',
     25        'cvmn_page_title_font_size'           => 'sanitize_text_field',
     26        'cvmn_page_title_font_color'          => 'sanitize_hex_color',
     27        'cvmn_page_heading_font_family'       => 'sanitize_text_field',
     28        'cvmn_page_heading_font_family_variant' => 'sanitize_text_field',
     29        'cvmn_page_heading_text_transform'    => 'sanitize_text_field',
     30        'cvmn_page_heading_text_decoration'   => 'sanitize_text_field',
     31        'cvmn_page_heading_font_size'         => 'sanitize_text_field',
     32        'cvmn_page_heading_font_color'        => 'sanitize_hex_color',
     33        'cvmn_page_description_font_family'   => 'sanitize_text_field',
     34        'cvmn_page_description_font_family_variant' => 'sanitize_text_field',
     35        'cvmn_page_description_text_transform' => 'sanitize_text_field',
     36        'cvmn_page_description_text_decoration' => 'sanitize_text_field',
     37        'cvmn_page_description_font_size'     => 'sanitize_text_field',
     38        'cvmn_page_description_font_color'    => 'sanitize_hex_color',
     39        'cvmn_page_countdown_font_family'     => 'sanitize_text_field',
     40        'cvmn_page_countdown_font_family_variant' => 'sanitize_text_field',
     41        'cvmn_page_countdown_text_transform'  => 'sanitize_text_field',
     42        'cvmn_page_countdown_text_decoration' => 'sanitize_text_field',
     43        'cvmn_page_countdown_font_size'       => 'sanitize_text_field',
     44        'cvmn_page_countdown_font_color'      => 'sanitize_hex_color',
     45        'cvmn_button_one_font_family'         => 'sanitize_text_field',
     46        'cvmn_button_one_font_family_variant' => 'sanitize_text_field',
     47        'cvmn_button_one_text_transform'      => 'sanitize_text_field',
     48        'cvmn_button_one_text_decoration'     => 'sanitize_text_field',
     49        'cvmn_button_one_font_size'           => 'sanitize_text_field',
     50        'cvmn_button_one_font_color'          => 'sanitize_hex_color',
     51        'cvmn_button_one_bg_color'            => 'sanitize_hex_color',
     52        'cvmn_button_one_border_color'        => 'sanitize_hex_color',
     53        'cvmn_button_one_hover_text_color'    => 'sanitize_hex_color',
     54        'cvmn_button_one_hover_bg_color'      => 'sanitize_hex_color'
    5355    );
     56
     57    // Initialize an empty array for form values
     58    $cvmn_form_values = array();
     59
     60    // Loop through allowed fields and sanitize them properly
     61    foreach ( $allowed_fields as $field => $sanitize_function ) {
     62        if ( isset( $_POST[$field] ) ) {
     63            $unslashed_value = wp_unslash( $_POST[$field] ); // First, remove slashes
     64            $cvmn_form_values[$field] = call_user_func( $sanitize_function, $unslashed_value ); // Then, sanitize it
     65        }
     66    }
     67
    5468    update_option( 'maintenance_notice_options', wp_parse_args( $cvmn_form_values, $maintenance_notice_options ) );
    5569}
     
    137151                    <div class="cvmn-admin-single-field typography-heading">
    138152                        <div class="cvmn-admin-field-heading">
    139                             <?php esc_html_e( "Page Title", 'maintenance-notice' ); ?>
     153                            <?php esc_html_e( 'Page Title', 'maintenance-notice' ); ?>
    140154                            <span class="row-toggle dashicons dashicons-arrow-up"></span>
    141155                        </div>
  • maintenance-notice/trunk/includes/assets/js/main.js

    r2499176 r3257174  
    7474    }
    7575
    76 
    7776    /**
    7877     * Slick slider events
  • maintenance-notice/trunk/includes/class-maintenance-notice.php

    r3111877 r3257174  
    6868                $this->version = MAINTENANCE_NOTICE_VERSION;
    6969            } else {
    70                 $this->version = '1.0.5';
     70                $this->version = '1.0.6';
    7171            }
    7272
  • maintenance-notice/trunk/maintenance-notice.php

    r3111877 r3257174  
    44 * Plugin URI:        https://wordpress.org/plugins/maintenance-notice/
    55* Description:        Maintenance Notice is a WordPress plugin that allows you to put the maintenance notice on your website. It helps to inform the visitors that your site is in maintenance mode without showing the broken site to the users.
    6  * Version:           1.0.5
     6 * Version:           1.0.6
    77 * Author:            CodeVibrant
    88 * Author URI:        https://codevibrant.com/
     
    2626    define( 'MAINTENANCE_NOTICE', 'Maintenance Notice' );
    2727}
    28 define( 'MAINTENANCE_NOTICE_VERSION', '1.0.5' );
     28define( 'MAINTENANCE_NOTICE_VERSION', '1.0.6' );
    2929define( 'MAINTENANCE_NOTICE_PATH', plugin_dir_path( __FILE__ ) );
    3030define( 'MAINTENANCE_NOTICE_URL', plugin_dir_url( __FILE__ ) );
  • maintenance-notice/trunk/readme.txt

    r3111880 r3257174  
    22Contributors:       codevibrant
    33Tags:               coming soon, maintenance mode, unavailable, under construction, coming soon page
    4 Requires at least:  4.7
    5 Tested up to:       6.5
    6 Requires PHP:       5.6
    7 Stable tag:         1.0.5
     4Requires at least:  5.0
     5Tested up to:       6.7
     6Requires PHP:       7.2
     7Stable tag:         1.0.6
    88License:            GNU General Public License v3 or later
    99License URI:        http://www.gnu.org/licenses/gpl-3.0.html
     
    6565== Changelog ==
    6666
     67= 1.0.6 =
     68    * Fixed - the bug related to the security.
     69
    6770= 1.0.5 =
    6871    * Fixed - tasks listed by plugin check.
Note: See TracChangeset for help on using the changeset viewer.