@@ -, +, @@ --- opac/opac-search.pl | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -445,6 +445,26 @@ 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('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/) { + if ( C4::Context->preference('UseQueryParser') ) { + $query = "$query -suppress:1"; + } + } + } + else { + if ( C4::Context->preference('UseQueryParser') ) { + $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); @@ -478,11 +498,15 @@ if (C4::Context->preference('OpacSuppression')) { my $IPAddress = $ENV{'REMOTE_ADDR'}; my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); if ($IPAddress !~ /^$IPRange/) { - $query = "($query) not Suppress=1"; + unless ( C4::Context->preference('UseQueryParser') ) { + $query = "($query) not Suppress=1"; + } } } else { - $query = "($query) not Suppress=1"; + unless ( C4::Context->preference('UseQueryParser') ) { + $query = "($query) not Suppress=1"; + } } } --