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') ); -...@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 ); @@ -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; -...@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; -...@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] ) { @@ -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; -...@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 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') ); -...@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) { $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; -...@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; -...@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] ) { @@ -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; -...@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; -...@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 _______________________________________________ Koha-patches mailing list Koha-patches@lists.koha.org http://lists.koha.org/mailman/listinfo/koha-patches