(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.
This commit is contained in:
parent
95bb8a47a8
commit
cd14fd421c
|
|
@ -336,7 +336,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);
|
||||
|
|
@ -344,8 +344,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,13 +352,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]) {
|
||||
|
|
@ -367,12 +364,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'})}) ;
|
||||
|
|
|
|||
|
|
@ -244,7 +244,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
|
||||
|
|
@ -252,8 +252,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");
|
||||
|
|
@ -262,20 +261,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 = exists($params->{'idx'}) ? 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]) {
|
||||
$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]) {
|
||||
|
|
@ -283,8 +280,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'})}) ;
|
||||
|
|
|
|||
Loading…
Reference in New Issue