[Koha-patches] [PATCH] (bug #4491) fix weird code in search scripts
Nahuel ANGELINETTI
nahuel.angelinetti at biblibre.com
Wed May 12 16:06:31 CEST 2010
This change some code a bit strange, that generate strange effetcs.
Now we use $cgi->param to get the values.
---
catalogue/search.pl | 17 ++++++-----------
opac/opac-search.pl | 17 ++++++-----------
2 files changed, 12 insertions(+), 22 deletions(-)
diff --git a/catalogue/search.pl b/catalogue/search.pl
index 86a312b..c25dce6 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -345,7 +345,7 @@ my @sort_by;
my $default_sort_by = C4::Context->preference('defaultSortField') . "_" . C4::Context->preference('defaultSortOrder')
if ( C4::Context->preference('defaultSortField') && C4::Context->preference('defaultSortOrder') );
- at sort_by = split( "\0", $params->{'sort_by'} ) if $params->{'sort_by'};
+ at 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 );
@@ -353,8 +353,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;
- at servers = split( "\0", $params->{'server'} ) if $params->{'server'};
+my @servers = $cgi->param('server');
unless (@servers) {
#FIXME: this should be handled using Context.pm
@@ -365,13 +364,11 @@ unless (@servers) {
# operators include boolean and proximity operators and are used
# to evaluate multiple operands
-my @operators;
- at 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;
- at 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] ) {
@@ -379,12 +376,10 @@ if ( $indexes[0] && !$indexes[1] ) {
}
# an operand can be a single term, a phrase, or a complete ccl query
-my @operands;
- at 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;
- at 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 deb26c9..8ff9dd8 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -267,7 +267,7 @@ my @sort_by;
my $default_sort_by = C4::Context->preference('OPACdefaultSortField') . "_" . C4::Context->preference('OPACdefaultSortOrder')
if ( C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder') );
- at sort_by = split( "\0", $params->{'sort_by'} ) if $params->{'sort_by'};
+ at 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) {
$template->param( $sort => 1 ); # FIXME: security hole. can set any TMPL_VAR here
@@ -275,8 +275,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;
- at servers = split( "\0", $params->{'server'} ) if $params->{'server'};
+my @servers = $cgi->param('server');
unless (@servers) {
#FIXME: this should be handled using Context.pm
@@ -287,13 +286,11 @@ unless (@servers) {
# operators include boolean and proximity operators and are used
# to evaluate multiple operands
-my @operators;
- at 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;
- at 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] ) {
@@ -301,8 +298,7 @@ if ( $indexes[0] && !$indexes[1] ) {
}
# an operand can be a single term, a phrase, or a complete ccl query
-my @operands;
- at 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] ) {
@@ -310,8 +306,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;
- at 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.0.4
More information about the Koha-patches
mailing list