| @@ -73,9 +73,9 @@ | ||
| 73 | 73 | 'default' => 'all', |
| 74 | 74 | ], |
| 75 | 75 | 'search' => [ |
| 76 | 76 | 'type' => 'string', |
| 77 | - 'description' => __( 'Search entries by entry ID.', 'sureforms' ), | |
| 77 | + 'description' => __( 'Search entries by entry ID, form title, or submitted form data. Text search requires at least 3 characters; numeric terms match the entry ID exactly.', 'sureforms' ), | |
| 78 | 78 | ], |
| 79 | 79 | 'date_from' => [ |
| 80 | 80 | 'type' => 'string', |
| 81 | 81 | 'description' => __( 'Start date for filtering entries (YYYY-MM-DD format).', 'sureforms' ), |
| @@ -96,9 +96,9 @@ | ||
| 96 | 96 | ], |
| 97 | 97 | 'orderby' => [ |
| 98 | 98 | 'type' => 'string', |
| 99 | 99 | 'description' => __( 'Column to order results by.', 'sureforms' ), |
| 100 | - 'enum' => [ 'created_at', 'ID', 'form_id', 'status', 'language' ], | |
| 100 | + 'enum' => [ 'created_at', 'ID', 'id', 'form_id', 'status' ], | |
| 101 | 101 | 'default' => 'created_at', |
| 102 | 102 | ], |
| 103 | 103 | 'order' => [ |
| 104 | 104 | 'type' => 'string', |
| @@ -127,9 +127,8 @@ | ||
| 127 | 127 | 'id' => [ 'type' => 'integer' ], |
| 128 | 128 | 'form_id' => [ 'type' => 'integer' ], |
| 129 | 129 | 'form_title' => [ 'type' => 'string' ], |
| 130 | 130 | 'status' => [ 'type' => 'string' ], |
| 131 | - 'language' => [ 'type' => 'string' ], | |
| 132 | 131 | 'created_at' => [ 'type' => 'string' ], |
| 133 | 132 | ], |
| 134 | 133 | ], |
| 135 | 134 | ], |
| @@ -154,9 +153,11 @@ | ||
| 154 | 153 | |
| 155 | 154 | $args = [ |
| 156 | 155 | 'form_id' => Helper::get_integer_value( $input['form_id'] ?? 0 ), |
| 157 | 156 | 'status' => ! empty( $input['status'] ) ? sanitize_text_field( Helper::get_string_value( $input['status'] ) ) : 'all', |
| 158 | - 'search' => ! empty( $input['search'] ) ? sanitize_text_field( Helper::get_string_value( $input['search'] ) ) : '', | |
| 157 | + // isset(), not ! empty(): a literal "0" search is a valid term and must not be | |
| 158 | + // dropped (which would return every entry). Mirrors the REST path. | |
| 159 | + 'search' => isset( $input['search'] ) ? sanitize_text_field( Helper::get_string_value( $input['search'] ) ) : '', | |
| 159 | 160 | 'date_from' => ! empty( $input['date_from'] ) ? sanitize_text_field( Helper::get_string_value( $input['date_from'] ) ) : '', |
| 160 | 161 | 'date_to' => ! empty( $input['date_to'] ) ? sanitize_text_field( Helper::get_string_value( $input['date_to'] ) ) : '', |
| 161 | 162 | 'per_page' => $per_page, |
| 162 | 163 | 'page' => isset( $input['page'] ) ? Helper::get_integer_value( $input['page'] ) : 1, |
| @@ -181,9 +182,8 @@ | ||
| 181 | 182 | 'id' => absint( $entry['ID'] ?? 0 ), |
| 182 | 183 | 'form_id' => $form_id, |
| 183 | 184 | 'form_title' => $form_title, |
| 184 | 185 | 'status' => $entry['status'] ?? '', |
| 185 | - 'language' => Helper::get_string_value( $entry['language'] ?? '' ), | |
| 186 | 186 | 'created_at' => $entry['created_at'] ?? '', |
| 187 | 187 | ]; |
| 188 | 188 | } |
| 189 | 189 | } |