@@ -, +, @@ --- opac/opac-search.pl | 37 ++++++++++++++++++++++++++++--------- 1 files changed, 28 insertions(+), 9 deletions(-) --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -445,6 +445,23 @@ my ($error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_ my @results; +# Add OPAC suppression - requires at least one item indexed with Suppress +if (C4::Context->preference('UseQueryParser')) { + if (C4::Context->preference('OpacSuppression')) { + # OPAC suppression by IP address + if (C4::Context->preference('OpacSuppressionByIPRange')) { + my $IPAddress = $ENV{'REMOTE_ADDR'}; + my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); + if ($IPAddress !~ /^$IPRange/) { + $query = "$query -suppress:1"; + } + } + else { + $query = "$query -suppress:1"; + } + } +} + ## I. BUILD THE QUERY ( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(\@operators,\@operands,\@indexes,\@limits,\@sort_by, 0, $lang); @@ -472,18 +489,20 @@ my @limit_inputs = $limit_cgi ? _input_cgi_parse($limit_cgi) : (); #} # # add OPAC suppression - requires at least one item indexed with Suppress -if (C4::Context->preference('OpacSuppression')) { - # OPAC suppression by IP address - if (C4::Context->preference('OpacSuppressionByIPRange')) { - my $IPAddress = $ENV{'REMOTE_ADDR'}; - my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); - if ($IPAddress !~ /^$IPRange/) { +unless ( C4::Context->preference('UseQueryParser') ) { + if (C4::Context->preference('OpacSuppression')) { + # OPAC suppression by IP address + if (C4::Context->preference('OpacSuppressionByIPRange')) { + my $IPAddress = $ENV{'REMOTE_ADDR'}; + my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); + if ($IPAddress !~ /^$IPRange/) { + $query = "($query) not Suppress=1"; + } + } + else { $query = "($query) not Suppress=1"; } } - else { - $query = "($query) not Suppress=1"; - } } $template->param ( LIMIT_INPUTS => \@limit_inputs ); --