From 91d949f6b1d09db1b4b7d91c188d3f0c868790a1 Mon Sep 17 00:00:00 2001 From: Ron Lucke Date: Wed, 6 Sep 2023 14:47:26 +0000 Subject: fix quotes issue --- app/controllers/courseware/local_search.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/controllers/courseware/local_search.php b/app/controllers/courseware/local_search.php index 6441471..f425fa8 100644 --- a/app/controllers/courseware/local_search.php +++ b/app/controllers/courseware/local_search.php @@ -18,9 +18,17 @@ class Courseware_LocalSearchController extends AuthenticatedController $filters = json_decode(Request::get('filters')); $range_id = $filters->rangeId; $search = Request::get('search'); - $payload_search = str_replace('\\u00', '\\\\u00', json_encode($search)); - $payload_search = str_replace('\"', '"', $payload_search); - $payload_search = substr($payload_search, 1, -1); + $payload_search = substr(str_replace('\\u00', '\\\\u00', json_encode($search)), 1, -1); + + if (str_starts_with($payload_search, '\\\\u00')) { + $payload_search = substr($payload_search, 1, strlen($payload_search)); + } + if (str_starts_with($payload_search, '\"')) { + $payload_search = '"' . substr($payload_search, 2, strlen($payload_search)); + } + if (str_ends_with($payload_search, '\"')) { + $payload_search = substr($payload_search, 0, -2) . '\\\\"'; + } $query = DBManager::get()->quote("%{$search}%"); $payload_query = DBManager::get()->quote("%{$payload_search}%"); -- cgit v1.0