Plugin Directory

Changeset 3261669


Ignore:
Timestamp:
03/25/2025 04:07:36 PM (12 months ago)
Author:
softcialdeveloper
Message:

stripcslashes some fields

Location:
smart-answer
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • smart-answer/tags/1.6/includes/admin-responses.php

    r3261606 r3261669  
    2424    }
    2525
    26     function column_id($item) {
     26    function column_question_id($item) {
    2727        $actions = [
    2828            "edit" => sprintf(
     
    5454        return sprintf(
    5555            "%s %s",
    56             $item["id"],
     56            $item["question_id"],
    5757            $this->row_actions($actions)
    5858        );
     
    6868        return sprintf(
    6969            $item["banned"] == 1 ? esc_html__("Yes") : esc_html__("No")
     70        );
     71    }
     72
     73    function column_first_name($item) {
     74        return sprintf(
     75            $item["first_name"] = stripcslashes($item["first_name"])
     76        );
     77    }
     78
     79    function column_response_text($item) {
     80        return sprintf(
     81            $item["response_text"] = stripcslashes($item["response_text"])
    7082        );
    7183    }
     
    7486        $columns = [
    7587            "cb" => '<input type="checkbox" />',
    76             "id" => esc_html__("Id", "sman"),
    7788            "question_id" => esc_html__("Question Id", "sman"),
    7889            "first_name" => esc_html__("First Name", "sman"),
     
    8697    function get_sortable_columns() {
    8798        $sortable_columns = [
    88             "id" => ["id", true],
    8999            "question_id" => ["question_id", true],
    90100            "user_id" => ["user_id", true],
     
    135145    function prepare_items() {
    136146        global $wpdb;
    137         $table_name = $wpdb->prefix . "sman_responses";
    138147        $per_page = 10;
    139148        $columns = $this->get_columns();
     
    142151        $this->_column_headers = [$columns, $hidden, $sortable];
    143152        $this->process_bulk_action();
    144 
    145         // Obtener el número total de items
    146         $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name");
    147 
    148         // Obtener la página actual
    149         $current_page = $this->get_pagenum();
    150 
    151         // Calcular el offset correctamente
    152         $offset = ($current_page - 1) * $per_page;
    153 
    154         // Preparar el orderby
    155         $orderby = (isset($_REQUEST['orderby']) && array_key_exists($_REQUEST['orderby'], $this->get_sortable_columns()))
    156             ? sanitize_key($_REQUEST['orderby'])
    157             : 'id';
    158 
    159         // Preparar el order
    160         $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], ['asc', 'desc']))
    161             ? sanitize_sql_orderby($_REQUEST['order'])
    162             : 'asc';
    163 
    164         // Obtener los items para la página actual
     153        $total_items = intval($wpdb->get_var("SELECT COUNT(id) FROM {$wpdb->prefix}sman_responses"));
     154
     155        $paged = isset($_REQUEST["paged"]) ? max(0, intval($_REQUEST["paged"]) - 1) : 0;
     156        $sortable_columns = $this->get_sortable_columns();
     157        $orderby = isset($_REQUEST["orderby"]) && array_key_exists(sanitize_key($_REQUEST["orderby"]), $sortable_columns)
     158            ? sanitize_key($_REQUEST["orderby"])
     159            : "question_id";
     160        $order = isset($_REQUEST["order"]) && in_array(sanitize_sql_orderby($_REQUEST["order"]), ["asc", "desc"])
     161            ? sanitize_sql_orderby($_REQUEST["order"])
     162            : "asc";
     163
     164        $per_page = intval($per_page);
     165        $paged = intval($paged);
     166        $per_page = min(max($per_page, 1), 100);
     167        $offset = $paged * $per_page;
     168
    165169        $this->items = $wpdb->get_results(
    166170            $wpdb->prepare(
    167                 "SELECT * FROM $table_name ORDER BY $orderby $order LIMIT %d OFFSET %d",
     171                "SELECT * FROM {$wpdb->prefix}sman_responses ORDER BY %1s %1s LIMIT %d OFFSET %d",
     172                $orderby,
     173                $order,
    168174                $per_page,
    169175                $offset
     
    172178        );
    173179
    174         // Configurar la paginación
    175180        $this->set_pagination_args([
    176             'total_items' => $total_items,
    177             'per_page'    => $per_page,
    178             'total_pages' => ceil($total_items / $per_page)
     181            "total_items" => $total_items,
     182            "per_page" => $per_page,
     183            "total_pages" => ceil($total_items / $per_page),
    179184        ]);
    180185    }
  • smart-answer/tags/1.6/includes/metabox-responses.php

    r3261606 r3261669  
    251251                        <br>
    252252                        <input id="first_name" name="first_name" type="text"
    253                         value="<?php echo esc_attr($item["first_name"] == "" ? sman_get_user_first_name($users[0]["ID"]) : $item["first_name"] ); ?>" oninput="removeLeadingSpace(event)">
     253                        value="<?php echo esc_attr($item["first_name"] == "" ? sman_get_user_first_name($users[0]["ID"]) : stripcslashes($item["first_name"]) ); ?>" oninput="removeLeadingSpace(event)">
    254254                    </p>
    255255                    <p>
     
    267267                        <br>
    268268                        <textarea id="response_text" name="response_text" cols="100" rows="10"
    269                         oninput="removeLeadingSpace(event)"><?php echo esc_attr($item["response_text"]); ?></textarea>
     269                        oninput="removeLeadingSpace(event)"><?php echo esc_attr(stripcslashes($item["response_text"])); ?></textarea>
    270270                    </p>
    271271                </div>
  • smart-answer/trunk/includes/admin-responses.php

    r3255532 r3261669  
    2424    }
    2525
    26     function column_id($item) {
     26    function column_question_id($item) {
    2727        $actions = [
    2828            "edit" => sprintf(
     
    5454        return sprintf(
    5555            "%s %s",
    56             $item["id"],
     56            $item["question_id"],
    5757            $this->row_actions($actions)
    5858        );
     
    6868        return sprintf(
    6969            $item["banned"] == 1 ? esc_html__("Yes") : esc_html__("No")
     70        );
     71    }
     72
     73    function column_first_name($item) {
     74        return sprintf(
     75            $item["first_name"] = stripcslashes($item["first_name"])
     76        );
     77    }
     78
     79    function column_response_text($item) {
     80        return sprintf(
     81            $item["response_text"] = stripcslashes($item["response_text"])
    7082        );
    7183    }
     
    7486        $columns = [
    7587            "cb" => '<input type="checkbox" />',
    76             "id" => esc_html__("Id", "sman"),
    7788            "question_id" => esc_html__("Question Id", "sman"),
    7889            "first_name" => esc_html__("First Name", "sman"),
     
    8697    function get_sortable_columns() {
    8798        $sortable_columns = [
    88             "id" => ["id", true],
    8999            "question_id" => ["question_id", true],
    90100            "user_id" => ["user_id", true],
     
    135145    function prepare_items() {
    136146        global $wpdb;
    137         $table_name = $wpdb->prefix . "sman_responses";
    138147        $per_page = 10;
    139148        $columns = $this->get_columns();
     
    142151        $this->_column_headers = [$columns, $hidden, $sortable];
    143152        $this->process_bulk_action();
    144 
    145         // Obtener el número total de items
    146         $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name");
    147 
    148         // Obtener la página actual
    149         $current_page = $this->get_pagenum();
    150 
    151         // Calcular el offset correctamente
    152         $offset = ($current_page - 1) * $per_page;
    153 
    154         // Preparar el orderby
    155         $orderby = (isset($_REQUEST['orderby']) && array_key_exists($_REQUEST['orderby'], $this->get_sortable_columns()))
    156             ? sanitize_key($_REQUEST['orderby'])
    157             : 'id';
    158 
    159         // Preparar el order
    160         $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], ['asc', 'desc']))
    161             ? sanitize_sql_orderby($_REQUEST['order'])
    162             : 'asc';
    163 
    164         // Obtener los items para la página actual
     153        $total_items = intval($wpdb->get_var("SELECT COUNT(id) FROM {$wpdb->prefix}sman_responses"));
     154
     155        $paged = isset($_REQUEST["paged"]) ? max(0, intval($_REQUEST["paged"]) - 1) : 0;
     156        $sortable_columns = $this->get_sortable_columns();
     157        $orderby = isset($_REQUEST["orderby"]) && array_key_exists(sanitize_key($_REQUEST["orderby"]), $sortable_columns)
     158            ? sanitize_key($_REQUEST["orderby"])
     159            : "question_id";
     160        $order = isset($_REQUEST["order"]) && in_array(sanitize_sql_orderby($_REQUEST["order"]), ["asc", "desc"])
     161            ? sanitize_sql_orderby($_REQUEST["order"])
     162            : "asc";
     163
     164        $per_page = intval($per_page);
     165        $paged = intval($paged);
     166        $per_page = min(max($per_page, 1), 100);
     167        $offset = $paged * $per_page;
     168
    165169        $this->items = $wpdb->get_results(
    166170            $wpdb->prepare(
    167                 "SELECT * FROM $table_name ORDER BY $orderby $order LIMIT %d OFFSET %d",
     171                "SELECT * FROM {$wpdb->prefix}sman_responses ORDER BY %1s %1s LIMIT %d OFFSET %d",
     172                $orderby,
     173                $order,
    168174                $per_page,
    169175                $offset
     
    172178        );
    173179
    174         // Configurar la paginación
    175180        $this->set_pagination_args([
    176             'total_items' => $total_items,
    177             'per_page'    => $per_page,
    178             'total_pages' => ceil($total_items / $per_page)
     181            "total_items" => $total_items,
     182            "per_page" => $per_page,
     183            "total_pages" => ceil($total_items / $per_page),
    179184        ]);
    180185    }
  • smart-answer/trunk/includes/metabox-responses.php

    r3245842 r3261669  
    251251                        <br>
    252252                        <input id="first_name" name="first_name" type="text"
    253                         value="<?php echo esc_attr($item["first_name"] == "" ? sman_get_user_first_name($users[0]["ID"]) : $item["first_name"] ); ?>" oninput="removeLeadingSpace(event)">
     253                        value="<?php echo esc_attr($item["first_name"] == "" ? sman_get_user_first_name($users[0]["ID"]) : stripcslashes($item["first_name"]) ); ?>" oninput="removeLeadingSpace(event)">
    254254                    </p>
    255255                    <p>
     
    267267                        <br>
    268268                        <textarea id="response_text" name="response_text" cols="100" rows="10"
    269                         oninput="removeLeadingSpace(event)"><?php echo esc_attr($item["response_text"]); ?></textarea>
     269                        oninput="removeLeadingSpace(event)"><?php echo esc_attr(stripcslashes($item["response_text"])); ?></textarea>
    270270                    </p>
    271271                </div>
Note: See TracChangeset for help on using the changeset viewer.