diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/courseware/local_search.php | 14 |
1 files 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}%"); |
