Plugin Directory

Changeset 3789169


Ignore:
Timestamp:
11/07/2026 08:11:20 AM (less than one hour ago)
Author:
leminhhung
Message:

Hung update

Location:
viseek-easy-custom-search/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • viseek-easy-custom-search/trunk/CHANGELOG.txt

    r3660221 r3789169  
    11*** VISeek - Easy Custom Search Changelog ***
     22026.11.07 - version 1.0.6
     3- Fixed: CSRF on Search Forms and User Logs admin list delete (nonce + capability checks)
     4
    252026.08.22 - version 1.0.5
    36- Updated: VillaTheme support
  • viseek-easy-custom-search/trunk/admin/viseekforms.php

    r3358032 r3789169  
    6060        public function settings_page() {
    6161                if ( ! isset( $_REQUEST['viseek_admin_action'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['viseek_admin_action'] ) ), 'viseek_admin_action' ) ) {
     62                        $list_action  = isset( $_REQUEST['action'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : '';
     63                        $list_action2 = isset( $_REQUEST['action2'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action2'] ) ) : '';
     64                        if ( ( $list_action && '-1' !== $list_action ) || ( $list_action2 && '-1' !== $list_action2 ) ) {
     65                                check_admin_referer( 'viseek_admin_action', 'viseek_admin_action' );
     66                        }
    6267                        printf( '<div class="wrap"><h1 class="wp-heading-inline">%s</h1>
    6368            <a href="admin.php?page=viseek-search-form&amp;action=new&viseek_admin_action=%s" class="page-title-action viseek-page-title-action">%s</a><hr class="wp-header-end">
    … …  
    7479                }
    7580                $action = isset( $_REQUEST['action'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : false;
    76                 if ( $action && 'delete' === $action ) {
    77                         $form_id = isset( $_REQUEST['id'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['id'] ) ) : '';
     81                // Single delete is GET+nonce; bulk delete is POST and handled in ClassSearchForm::process_bulk_action().
     82                if ( $action && 'delete' === $action && ( ! isset( $_SERVER['REQUEST_METHOD'] ) || 'POST' !== $_SERVER['REQUEST_METHOD'] ) ) {
     83                        if ( ! current_user_can( 'manage_options' ) ) {
     84                                wp_die( esc_html__( 'You do not have permission to delete this form', 'viseek-easy-custom-search' ) );
     85                        }
     86                        $form_id = isset( $_REQUEST['id'] ) ? absint( wp_unslash( $_REQUEST['id'] ) ) : 0;
    7887                        if ( $form_id ) {
    7988                                $this->query->delete_search_form_by_id( $form_id );
    … …  
    8190
    8291                        wp_safe_redirect( 'admin.php?page=viseek-search-form&viseek_admin_action=' . esc_attr( $this->nonce ) );
     92                        exit;
    8393                }
    8494                if ( $action && isset( $_POST['viseek_save_form_settings'] ) ) {
  • viseek-easy-custom-search/trunk/admin/viseeklogs.php

    r3358032 r3789169  
    3434        public function settings_page() {
    3535                if ( ! isset( $_REQUEST['viseek_admin_action'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['viseek_admin_action'] ) ), 'viseek_admin_action' ) ) {
     36                        $list_action  = isset( $_REQUEST['action'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : '';
     37                        $list_action2 = isset( $_REQUEST['action2'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action2'] ) ) : '';
     38                        if ( ( $list_action && '-1' !== $list_action ) || ( $list_action2 && '-1' !== $list_action2 ) ) {
     39                                check_admin_referer( 'viseek_admin_action', 'viseek_admin_action' );
     40                        }
    3641                        printf( '<div class="wrap"><h1 class="wp-heading-inline">%s</h1>
    3742            <hr class="wp-header-end">
    … …  
    4752                }
    4853                $action = isset( $_REQUEST['action'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : false;// phpcs:ignore WordPress.Security.NonceVerification.Recommended
    49                 if ( $action && 'delete' === $action ) {
    50                         //removed by bulk action
     54                // Single delete is GET+nonce; bulk delete is POST and handled in ClassLogs::process_bulk_action().
     55                if ( $action && 'delete' === $action && ( ! isset( $_SERVER['REQUEST_METHOD'] ) || 'POST' !== $_SERVER['REQUEST_METHOD'] ) ) {
     56                        if ( ! current_user_can( 'manage_options' ) ) {
     57                                wp_die( esc_html__( 'You do not have permission to delete user logs.', 'viseek-easy-custom-search' ) );
     58                        }
     59                        $user_log_id = isset( $_REQUEST['id'] ) ? absint( wp_unslash( $_REQUEST['id'] ) ) : 0;
     60                        if ( $user_log_id ) {
     61                                $this->query->delete_user_log_by_id( $user_log_id );
     62                        }
    5163                        wp_safe_redirect( 'admin.php?page=viseek-user-logs&viseek_admin_action=' . esc_attr( $this->nonce ) );
     64                        exit;
    5265                }
    5366                printf( '<div class="wrap"><h1 class="wp-heading-inline">%s</h1>
  • viseek-easy-custom-search/trunk/assets/css/viseek-shortcode.css

    r3660221 r3789169  
    752752    opacity: 1;
    753753  }
     754
    754755  .viseek-search-sc-template-two .viseek-search-shortcode .viseek-search-sc-container {
    755756    display: flex;
  • viseek-easy-custom-search/trunk/assets/css/viseek-shortcode.css.map

    r3660221 r3789169  
    1 {"version":3,"sourceRoot":"","sources":["viseek-shortcode.scss"],"names":[],"mappings":"AAOA;EACE;;;AAKA;EACE;;AAEA;EACE;;AAUF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAcE;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAMA;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AASR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAKF;EACE;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAQV;EACE;EACA;EACA;EACA;EACA;;AAaR;EACE;EACA;;AAIE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;;AAEA;EACE;;AAQA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAMF;EACE;EACA;EACA;;AAIE;EACE;;AAOV;EACE;EACA;;AAEA;EACE;;AAKA;EACE;EACA;EACA;EACA;;AAIE;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAOV;EACE;EACA;EACA;EACA;;AAMA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAMA;EACE;;AAWZ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAOV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIE;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAQZ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAQN;EAEE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAMI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAWJ;EACE;EACA;;AAGF;EACE;;AAOJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;;;AAMR;EAac;IACE;IACA;IACA;IACA;;;AAUhB;EACE;IACE;;EAEA;IACE;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAMF;IACE;;EAIJ;IACE;IACA;;EAEA;IACE;IACA;IACA;;EAiBA;IACE;IACA;;EAOF;IACE;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;;EAEA;IAEE;IACA;IACA;;EAEA;IACE;;EAMR;IACE;;EAKE;IACE;;EAMF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAeZ;IACE;IACA;;EAEA;IACE;;EAKN;IACE;IACA;;EAEA;IACE;;EAGF;IACE;;EAEA;IACE;IACA;;EAEA;IACE;IACA;;EAEA;IACE;;EAIE;IACE;;EAMR;IACE;IACA;;EAMF;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAKA;IACE;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;;EAMN;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAMR;IACE;;EAEA;IACE;;EAIF;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA","file":"viseek-shortcode.css"}
     1{"version":3,"sourceRoot":"","sources":["viseek-shortcode.scss"],"names":[],"mappings":"AAOA;EACE;;;AAKA;EACE;;AAEA;EACE;;AAUF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAcE;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAMA;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AASR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAKF;EACE;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAQV;EACE;EACA;EACA;EACA;EACA;;AAaR;EACE;EACA;;AAIE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;;AAEA;EACE;;AAQA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAMF;EACE;EACA;EACA;;AAIE;EACE;;AAOV;EACE;EACA;;AAEA;EACE;;AAKA;EACE;EACA;EACA;EACA;;AAIE;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAOV;EACE;EACA;EACA;EACA;;AAMA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAMA;EACE;;AAWZ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAOV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIE;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAQZ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAQN;EAEE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAMI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AASF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAWJ;EACE;EACA;;AAGF;EACE;;AAOJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;;;AAMR;EAac;IACE;IACA;IACA;IACA;;;AAUhB;EACE;IACE;;EAEA;IACE;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAMF;IACE;;EAIJ;IACE;IACA;;EAEA;IACE;IACA;IACA;;EAiBA;IACE;IACA;;EAOF;IACE;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;;EAEA;IAEE;IACA;IACA;;EAEA;IACE;;EAMR;IACE;;EAKE;IACE;;EAMF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;;EAeZ;IACE;IACA;;EAEA;IACE;;EAKN;IACE;IACA;;EAEA;IACE;;EAGF;IACE;;EAEA;IACE;IACA;;EAEA;IACE;IACA;;EAEA;IACE;;EAIE;IACE;;EAMR;IACE;IACA;;EAMF;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAKA;IACE;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;;EAMN;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAMR;IACE;;EAEA;IACE;;EAIF;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA","file":"viseek-shortcode.css"}
  • viseek-easy-custom-search/trunk/inc/classlogs.php

    r3358032 r3789169  
    7070                        case 'user':
    7171                                $user_data = get_userdata( $item['user_id'] );
     72                                $_nonce    = wp_create_nonce( 'viseek_admin_action' );
    7273
    7374                                return sprintf( '<div class="viseek-aff-user-table">%s</div>
    7475                                                <div class="viseek-aff-user-table">%s</div>
    7576                                                <div class="row-actions viseek-row-actions" data-id="%s"><span class="delete">
    76                                                 <a class="submitdelete viseek-aff-user-delete-btn" href="admin.php?page=viseek-user-logs&amp;action=delete&amp;id=%s"
     77                                                <a class="submitdelete viseek-aff-user-delete-btn" href="admin.php?page=viseek-user-logs&amp;action=delete&amp;id=%s&viseek_admin_action=%s"
    7778                                                 data-action="delete">%s</a></span></div>',
    7879                                        is_object( $user_data ) ? esc_html( $user_data->display_name ) : esc_html__( 'Guest', 'viseek-easy-custom-search' ),
    … …  
    8081                                        esc_attr( $item['id'] ),
    8182                                        esc_attr( $item['id'] ),
     83                                        esc_attr( $_nonce ),
    8284                                        esc_html__( 'Delete', 'viseek-easy-custom-search' ) );
    8385                                break;
    … …  
    196198                        switch ( $action ) {
    197199                                case 'delete':
     200                                        if ( ! isset( $_SERVER['REQUEST_METHOD'] ) || 'POST' !== $_SERVER['REQUEST_METHOD'] ) {
     201                                                break;
     202                                        }
     203                                        check_admin_referer( 'viseek_admin_action', 'viseek_admin_action' );
    198204                                        if ( ! current_user_can( 'manage_options' ) ) {
    199205                                                wp_die( esc_html__( 'You do not have permission to delete user logs.', 'viseek-easy-custom-search' ) );
    200206                                        }
    201                                         $user_log_ids = isset( $_REQUEST['id'] ) ? array_map( 'absint', (array) villatheme_sanitize_fields( wp_unslash( $_REQUEST['id'] ) ) ) : array();// phpcs:ignore WordPress.Security.ValidatedSanitizedInput, WordPress.Security.NonceVerification.Recommended
     207                                        $user_log_ids = isset( $_REQUEST['id'] ) ? array_map( 'absint', (array) villatheme_sanitize_fields( wp_unslash( $_REQUEST['id'] ) ) ) : array();// phpcs:ignore WordPress.Security.ValidatedSanitizedInput
    202208                                        if ( $user_log_ids ) {
    203209                                                foreach ( $user_log_ids as $user_log_id ) {
  • viseek-easy-custom-search/trunk/inc/classsearchform.php

    r3358032 r3789169  
    181181                        switch ( $action ) {
    182182                                case 'delete':
     183                                        if ( ! isset( $_SERVER['REQUEST_METHOD'] ) || 'POST' !== $_SERVER['REQUEST_METHOD'] ) {
     184                                                break;
     185                                        }
     186                                        check_admin_referer( 'viseek_admin_action', 'viseek_admin_action' );
    183187                                        if ( ! current_user_can( 'manage_options' ) ) {
    184188                                                wp_die( esc_html__( 'You do not have permission to delete this form', 'viseek-easy-custom-search' ) );
    185189                                        }
    186                                         $form_ids = isset( $_REQUEST['id'] ) ? array_map( 'absint', (array) villatheme_sanitize_fields( wp_unslash( $_REQUEST['id'] ) ) ) : array();// phpcs:ignore WordPress.Security.ValidatedSanitizedInput, WordPress.Security.NonceVerification.Recommended
     190                                        $form_ids = isset( $_REQUEST['id'] ) ? array_map( 'absint', (array) villatheme_sanitize_fields( wp_unslash( $_REQUEST['id'] ) ) ) : array();// phpcs:ignore WordPress.Security.ValidatedSanitizedInput
    187191                                        if ( $form_ids ) {
    188192                                                foreach ( $form_ids as $form_id ) {
  • viseek-easy-custom-search/trunk/inc/support.php

    r3660221 r3789169  
    77    /**
    88     * Class VillaTheme_Support
    9      * 1.1.21
     9     * 1.1.22
    1010     */
    1111    class VillaTheme_Support {
    1212        protected $plugin_base_name;
    1313        protected $ads_data = null;
    14         protected $version = '1.1.21';
     14        protected $version = '1.1.22';
    1515        protected $data = [];
    1616
    … …  
    138138                                        '&#8243;',
    139139                                        '„',
    140                                 ), '"', $match[1] ) );
     140                                ), '"', $match[1] ), ENT_COMPAT );
    141141                                if ( $is_ads ) {
    142142                                    $json = '{' . $json . '}';
  • viseek-easy-custom-search/trunk/readme.txt

    r3713767 r3789169  
    205205
    206206== Changelog ==
     2072026.11.07 - version 1.0.6
     208- Fixed: CSRF on Search Forms and User Logs admin list delete (nonce + capability checks)
     209
    2072102026.08.22 - version 1.0.5
    208211- Updated: VillaTheme support
  • viseek-easy-custom-search/trunk/viseek-easy-custom-search.php

    r3660221 r3789169  
    44 * Plugin URI: https://villatheme.com/extensions/viseek-easy-custom-search/
    55 * Description: Provides you a complete solution for your search.
    6  * Version: 1.0.5
     6 * Version: 1.0.6
    77 * Author: VillaTheme
    88 * Author URI: https://villatheme.com
    … …  
    4141                        }
    4242                        self::$args = [
    43                                 'version'       => '1.0.4',
     43                                'version'       => '1.0.6',
    4444                                'plugin_name'   => 'VISeek Easy Custom Search',
    4545                                'slug'          => 'viseek-easy-custom-search',
Note: See TracChangeset for help on using the changeset viewer.