From b3c05b99757c462d0602471dd2a125abbb8ae7cc Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Tue, 9 Mar 2021 13:11:44 -0500 Subject: [PATCH] Fix problems with EDS internal links. (#1873) - Include quotes in search terms to improve accuracy - Ensure correct URL encoding - Add subject to list of search types --- config/vufind/EDS.ini | 1 + module/VuFind/src/VuFind/RecordDriver/EDS.php | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/config/vufind/EDS.ini b/config/vufind/EDS.ini index 27393fd7cd8..45b71bc3935 100644 --- a/config/vufind/EDS.ini +++ b/config/vufind/EDS.ini @@ -199,6 +199,7 @@ translated_facets[] = SourceType AllFields = "All Fields" TI = Title AU = Author +SU = Subject ; This section defines which search options will be included on the advanced ; search screen. All the notes above [Basic_Searches] also apply here. diff --git a/module/VuFind/src/VuFind/RecordDriver/EDS.php b/module/VuFind/src/VuFind/RecordDriver/EDS.php index a853117e790..5c70247ba56 100644 --- a/module/VuFind/src/VuFind/RecordDriver/EDS.php +++ b/module/VuFind/src/VuFind/RecordDriver/EDS.php @@ -579,9 +579,9 @@ class EDS extends DefaultRecord if (in_array($group, $allowed_searchlink_groups)) { $type = strtoupper($group); $link_xml = '/<searchLink fieldCode="([^\"]*)" ' - . 'term="%22([^\"]*)%22">/'; - $link_html - = "<a href=\"../EDS/Search?lookfor=$2&type={$type}\">"; + . 'term="(%22[^\"]*%22)">/'; + $link_html = '<a href="../EDS/Search?lookfor=$2&type=' + . urlencode($type) . '">'; $data = preg_replace($link_xml, $link_html, $data); $data = str_replace('</searchLink>', '</a>', $data); } -- GitLab