Add a new "starts with" search option to the advanced search page.
authorKathy Lussier <klussier@masslnc.org>
Wed, 1 Aug 2012 13:31:24 +0000 (09:31 -0400)
committerDan Scott <dscott@laurentian.ca>
Thu, 30 Aug 2012 03:55:38 +0000 (23:55 -0400)
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
Open-ILS/src/templates/opac/parts/advanced/global_row.tt2

index cfe8853..d613a7e 100644 (file)
@@ -44,6 +44,11 @@ sub _prepare_biblio_search_basics {
         } elsif ($contains eq 'exact') {
             $query =~ s/[\^\$]//g;
             $query = '^' . $query . '$';
+        } elsif ($contains eq 'starts') {
+            $query =~ s/"//g;
+            $query =~ s/[\^\$]//g;
+            $query = '^' . $query;
+            $query = ('"' . $query . '"') if index $query, ' ';
         }
         $query = "$qtype:$query" unless $qtype eq 'keyword' and $i == 0;
 
index 3647fe7..ad0243a 100644 (file)
@@ -3,7 +3,8 @@
         {value => 'contains', label => l('Contains')},
         {value => 'nocontains', label => l('Does not contain')},
         {value => 'phrase', label => l('Contains phrase')},
-        {value => 'exact', label => l('Matches exactly')}
+        {value => 'exact', label => l('Matches exactly')},
+        {value => 'starts', label => l('Starts with')}
     ];
     contains = CGI.param('contains');
     queries = CGI.param('query');