From: dbs Date: Tue, 31 Mar 2009 17:29:05 +0000 (+0000) Subject: Backport r12717 from trunk: prevent apostrophes in search terms from breaking SlimPAC X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=a1edcd08af56eab8ab3d4ecc32333128ea836bfd;p=Evergreen.git Backport r12717 from trunk: prevent apostrophes in search terms from breaking SlimPAC git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4_0@12737 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm index d98500fbd4..5819c17630 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm @@ -1023,8 +1023,12 @@ sub opensearch_feed { )->gather(1); } - my $recs = $search->request( - 'open-ils.search.biblio.multiclass.query' => { + # Apostrophes break search and get indexed as spaces anyway + my $safe_terms = $terms; + $safe_terms =~ s{'}{ }go; + + my $recs = $search->request( + 'open-ils.search.biblio.multiclass.query' => { org_unit => $org_unit->[0]->id, offset => $offset, limit => $limit, @@ -1032,7 +1036,7 @@ sub opensearch_feed { sort_dir => $sortdir, default_class => $class, ($lang ? ( 'language' => $lang ) : ()), - } => $terms => 1 + } => $safe_terms => 1 )->gather(1); $log->debug("Hits for [$terms]: $recs->{count}"); @@ -1050,7 +1054,7 @@ sub opensearch_feed { $feed->root($root); $feed->lib($org); - $feed->search($terms); + $feed->search($safe_terms); $feed->class($class); $feed->title("Search results for [$terms] at ".$org_unit->[0]->name);