Bugzilla – Attachment 11110 Details for
Bug 4491
Cleaning some weird code in *search.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 4491: fix weird code in search scripts
Bug-4491-fix-weird-code-in-search-scripts.patch (text/plain), 5.38 KB, created by
Jonathan Druart
on 2012-07-24 14:16:21 UTC
(
hide
)
Description:
Bug 4491: fix weird code in search scripts
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2012-07-24 14:16:21 UTC
Size:
5.38 KB
patch
obsolete
>From 5c0ea01d0bc714e0b4de2364e0c21784511545ad Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Tue, 24 Jul 2012 16:16:16 +0200 >Subject: [PATCH] Bug 4491: fix weird code in search scripts > >This change some code a bit strange, that generate strange effetcs. >Now we use $cgi->param to get the values. > >Test: search at the opac and intranet using limit, etc. >--- > catalogue/search.pl | 17 ++++++----------- > opac/opac-search.pl | 19 +++++++------------ > 2 files changed, 13 insertions(+), 23 deletions(-) > >diff --git a/catalogue/search.pl b/catalogue/search.pl >index 2171df0..8b1234b 100755 >--- a/catalogue/search.pl >+++ b/catalogue/search.pl >@@ -372,7 +372,7 @@ if ( C4::Context->preference('defaultSortField') > . C4::Context->preference('defaultSortOrder'); > } > >-@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'}; >+@sort_by = $cgi->param('sort_by'); > $sort_by[0] = $default_sort_by unless $sort_by[0]; > foreach my $sort (@sort_by) { > $template->param($sort => 1) if $sort; >@@ -380,8 +380,7 @@ foreach my $sort (@sort_by) { > $template->param('sort_by' => $sort_by[0]); > > # Use the servers defined, or just search our local catalog(default) >-my @servers; >-@servers = split("\0",$params->{'server'}) if $params->{'server'}; >+my @servers = $cgi->param('server'); > unless (@servers) { > #FIXME: this should be handled using Context.pm > @servers = ("biblioserver"); >@@ -389,13 +388,11 @@ unless (@servers) { > } > # operators include boolean and proximity operators and are used > # to evaluate multiple operands >-my @operators; >-@operators = split("\0",$params->{'op'}) if $params->{'op'}; >+my @operators = $cgi->param('op'); > > # indexes are query qualifiers, like 'title', 'author', etc. They > # can be single or multiple parameters separated by comma: kw,right-Truncation >-my @indexes; >-@indexes = split("\0",$params->{'idx'}); >+my @indexes = $cgi->param('idx'); > > # if a simple index (only one) display the index used in the top search box > if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) { >@@ -406,12 +403,10 @@ if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) { > > > # an operand can be a single term, a phrase, or a complete ccl query >-my @operands; >-@operands = split("\0",$params->{'q'}) if $params->{'q'}; >+my @operands = $cgi->param('q'); > > # limits are use to limit to results to a pre-defined category such as branch or language >-my @limits; >-@limits = split("\0",$params->{'limit'}) if $params->{'limit'}; >+my @limits = $cgi->param('limit'); > > if($params->{'multibranchlimit'}) { > push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')'; >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index 1e5a0d7..c068063 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -312,7 +312,7 @@ $tag = $params->{tag} if $params->{tag}; > my $pasarParams = ''; > my $j = 0; > for (keys %$params) { >- my @pasarParam = split("\0", $params->{$_}); >+ my @pasarParam = $cgi->param($_); > for my $paramValue(@pasarParam) { > $pasarParams .= '&' if ($j > 0); > $pasarParams .= $_ . '=' . $paramValue; >@@ -333,7 +333,7 @@ if ( C4::Context->preference('OPACdefaultSortField') > } > > my @allowed_sortby = qw /acqdate_asc acqdate_dsc author_az author_za call_number_asc call_number_dsc popularity_asc popularity_dsc pubdate_asc pubdate_dsc relevance title_az title_za/; >-@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'}; >+@sort_by = $cgi->param('sort_by'); > $sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by); > foreach my $sort (@sort_by) { > if ( $sort ~~ @allowed_sortby ) { >@@ -343,8 +343,7 @@ foreach my $sort (@sort_by) { > $template->param('sort_by' => $sort_by[0]); > > # Use the servers defined, or just search our local catalog(default) >-my @servers; >-@servers = split("\0",$params->{'server'}) if $params->{'server'}; >+my @servers = $cgi->param('server'); > unless (@servers) { > #FIXME: this should be handled using Context.pm > @servers = ("biblioserver"); >@@ -353,21 +352,18 @@ unless (@servers) { > > # operators include boolean and proximity operators and are used > # to evaluate multiple operands >-my @operators; >-@operators = split("\0",$params->{'op'}) if $params->{'op'}; >+my @operators = $cgi->param('op'); > > # indexes are query qualifiers, like 'title', 'author', etc. They > # can be single or multiple parameters separated by comma: kw,right-Truncation >-my @indexes; >-@indexes = split("\0",$params->{'idx'}) if $params->{'idx'}; >+my @indexes = $cgi->param('idx'); > > # if a simple index (only one) display the index used in the top search box > if ($indexes[0] && !$indexes[1]) { > $template->param("ms_".$indexes[0] => 1); > } > # an operand can be a single term, a phrase, or a complete ccl query >-my @operands; >-@operands = split("\0",$params->{'q'}) if $params->{'q'}; >+my @operands = $cgi->param('q'); > > # if a simple search, display the value in the search box > if ($operands[0] && !$operands[1]) { >@@ -375,8 +371,7 @@ if ($operands[0] && !$operands[1]) { > } > > # limits are use to limit to results to a pre-defined category such as branch or language >-my @limits; >-@limits = split("\0",$params->{'limit'}) if $params->{'limit'}; >+my @limits = $cgi->param('limit'); > > if($params->{'multibranchlimit'}) { > push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')'; >-- >1.7.7.3
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 4491
:
11110
|
11740
|
11847
|
11848