aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/courseware
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/courseware')
-rw-r--r--app/controllers/courseware/local_search.php14
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}%");