|
Lines 532-539
my ($error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_
Link Here
|
| 532 |
|
532 |
|
| 533 |
my @results; |
533 |
my @results; |
| 534 |
|
534 |
|
|
|
535 |
my $suppress = 0; |
| 536 |
if (C4::Context->preference('OpacSuppression')) { |
| 537 |
# OPAC suppression by IP address |
| 538 |
if (C4::Context->preference('OpacSuppressionByIPRange')) { |
| 539 |
my $IPAddress = $ENV{'REMOTE_ADDR'}; |
| 540 |
my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); |
| 541 |
$suppress = ($IPAddress !~ /^$IPRange/); |
| 542 |
} |
| 543 |
else { |
| 544 |
$suppress = 1; |
| 545 |
} |
| 546 |
} |
| 547 |
|
| 535 |
## I. BUILD THE QUERY |
548 |
## I. BUILD THE QUERY |
| 536 |
( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$query_type) = $builder->build_query_compat(\@operators,\@operands,\@indexes,\@limits,\@sort_by, 0, $lang, { expanded_facet => $expanded_facet }); |
549 |
( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$query_type) |
|
|
550 |
= $builder->build_query_compat( |
| 551 |
\@operators, |
| 552 |
\@operands, |
| 553 |
\@indexes, |
| 554 |
\@limits, |
| 555 |
\@sort_by, |
| 556 |
0, |
| 557 |
$lang, |
| 558 |
{ expanded_facet => $expanded_facet, suppress => $suppress } |
| 559 |
); |
| 537 |
|
560 |
|
| 538 |
sub _input_cgi_parse { |
561 |
sub _input_cgi_parse { |
| 539 |
my @elements; |
562 |
my @elements; |
|
Lines 553-588
$template->param ( QUERY_INPUTS => \@query_inputs );
Link Here
|
| 553 |
## parse the limit_cgi string and put it into a form suitable for <input>s |
576 |
## parse the limit_cgi string and put it into a form suitable for <input>s |
| 554 |
my @limit_inputs = $limit_cgi ? _input_cgi_parse($limit_cgi) : (); |
577 |
my @limit_inputs = $limit_cgi ? _input_cgi_parse($limit_cgi) : (); |
| 555 |
|
578 |
|
| 556 |
# add OPAC 'hidelostitems' |
|
|
| 557 |
#if (C4::Context->preference('hidelostitems') == 1) { |
| 558 |
# # either lost ge 0 or no value in the lost register |
| 559 |
# $query ="($query) and ( (lost,st-numeric <= 0) or ( allrecords,AlwaysMatches='' not lost,AlwaysMatches='') )"; |
| 560 |
#} |
| 561 |
# |
| 562 |
# add OPAC suppression - requires at least one item indexed with Suppress |
| 563 |
if (C4::Context->preference('OpacSuppression')) { |
| 564 |
# OPAC suppression by IP address |
| 565 |
if (C4::Context->preference('OpacSuppressionByIPRange')) { |
| 566 |
my $IPAddress = $ENV{'REMOTE_ADDR'}; |
| 567 |
my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); |
| 568 |
if ($IPAddress !~ /^$IPRange/) { |
| 569 |
if ( $query_type eq 'pqf' ) { |
| 570 |
$query = '@not '.$query.' @attr 14=1 @attr 1=9011 1'; |
| 571 |
} else { |
| 572 |
$query = "($query) not Suppress=1"; |
| 573 |
} |
| 574 |
} |
| 575 |
} |
| 576 |
else { |
| 577 |
if ( $query_type eq 'pqf' ) { |
| 578 |
#$query = "($query) && -(suppress:1)"; #QP syntax |
| 579 |
$query = '@not '.$query.' @attr 14=1 @attr 1=9011 1'; #PQF syntax |
| 580 |
} else { |
| 581 |
$query = "($query) not Suppress=1"; |
| 582 |
} |
| 583 |
} |
| 584 |
} |
| 585 |
|
| 586 |
$template->param ( LIMIT_INPUTS => \@limit_inputs ); |
579 |
$template->param ( LIMIT_INPUTS => \@limit_inputs ); |
| 587 |
$template->param ( OPACResultsSidebar => C4::Context->preference('OPACResultsSidebar')); |
580 |
$template->param ( OPACResultsSidebar => C4::Context->preference('OPACResultsSidebar')); |
| 588 |
|
581 |
|
| 589 |
- |
|
|