View | Details | Raw Unified | Return to bug 38936
Collapse All | Expand All

(-)a/C4/Output.pm (-2 / +39 lines)
Lines 46-51 BEGIN { Link Here
46
        setlanguagecookie getlanguagecookie pagination_bar parametrized_url
46
        setlanguagecookie getlanguagecookie pagination_bar parametrized_url
47
        output_html_with_http_headers output_ajax_with_http_headers output_with_http_headers
47
        output_html_with_http_headers output_ajax_with_http_headers output_with_http_headers
48
        output_and_exit_if_error output_and_exit output_error
48
        output_and_exit_if_error output_and_exit output_error
49
        redirect_if_opac_suppressed
49
    );
50
    );
50
}
51
}
51
52
Lines 429-435 sub parametrized_url { Link Here
429
    return $ret;
430
    return $ret;
430
}
431
}
431
432
432
END { }                         # module clean-up code here (global destructor)
433
=item redirect_if_opac_suppressed
434
435
    redirect_if_opac_suppressed( $query, $biblio )
436
        if C4::Context->preference('OpacSuppression');
437
438
For a given I<Koha::Biblio> object, it handles redirection if it is suppressed
439
from the OPAC.
440
441
=cut
442
443
sub redirect_if_opac_suppressed {
444
    my ( $query, $biblio ) = @_;
445
446
    # redirect to opac-blocked info page or 404?
447
    my $redirect_url;
448
    if ( C4::Context->preference("OpacSuppressionRedirect") ) {
449
        $redirect_url = "/cgi-bin/koha/opac-blocked.pl";
450
    } else {
451
        $redirect_url = "/cgi-bin/koha/errors/404.pl";
452
    }
453
    if ( $biblio->opac_suppressed() ) {
454
455
        # if OPAC suppression by IP address
456
        if ( C4::Context->preference('OpacSuppressionByIPRange') ) {
457
            my $IPAddress = $ENV{'REMOTE_ADDR'};
458
            my $IPRange   = C4::Context->preference('OpacSuppressionByIPRange');
459
            if ( $IPAddress !~ /^$IPRange/ ) {
460
                print $query->redirect($redirect_url);
461
                C4::Auth::safe_exit();
462
            }
463
        } else {
464
            print $query->redirect($redirect_url);
465
            C4::Auth::safe_exit();
466
        }
467
    }
468
}
469
470
END { }    # module clean-up code here (global destructor)
433
471
434
1;
472
1;
435
__END__
473
__END__
436
- 

Return to bug 38936