From a1edcd08af56eab8ab3d4ecc32333128ea836bfd Mon Sep 17 00:00:00 2001 From: dbs Date: Tue, 31 Mar 2009 17:29:05 +0000 Subject: [PATCH] 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 --- Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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); -- 2.11.0