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

(-)a/catalogue/ISBDdetail.pl (-8 / +3 lines)
Lines 33-40 This script needs a biblionumber as parameter Link Here
33
33
34
=cut
34
=cut
35
35
36
use strict;
36
use Modern::Perl;
37
#use warnings; FIXME - Bug 2505
38
37
39
use HTML::Entities;
38
use HTML::Entities;
40
use C4::Auth;
39
use C4::Auth;
Lines 51-59 use C4::Acquisition qw(GetOrdersByBiblionumber); Link Here
51
use Koha::RecordProcessor;
50
use Koha::RecordProcessor;
52
51
53
52
54
#---- Internal function
55
56
57
my $query = new CGI;
53
my $query = new CGI;
58
my $dbh = C4::Context->dbh;
54
my $dbh = C4::Context->dbh;
59
55
Lines 80-94 if ( not defined $biblionumber ) { Link Here
80
       exit;
76
       exit;
81
}
77
}
82
78
83
my $record_unfiltered = GetMarcBiblio($biblionumber,1);
79
my $record = GetMarcBiblio($biblionumber,1);
84
my $record_processor = Koha::RecordProcessor->new({
80
my $record_processor = Koha::RecordProcessor->new({
85
    filters => 'ViewPolicy',
81
    filters => 'ViewPolicy',
86
    options => {
82
    options => {
87
        interface => 'intranet',
83
        interface => 'intranet',
88
    },
84
    },
89
});
85
});
90
my $record_filtered  = $record_unfiltered->clone();
86
$record_processor->process($record);
91
my $record           = $record_processor->process($record_filtered);
92
87
93
if ( not defined $record ) {
88
if ( not defined $record ) {
94
       # biblionumber invalid -> report and exit
89
       # biblionumber invalid -> report and exit
(-)a/opac/opac-ISBDdetail.pl (-4 / +3 lines)
Lines 92-105 if (scalar @items >= 1) { Link Here
92
    }
92
    }
93
}
93
}
94
94
95
my $record_unfiltered = GetMarcBiblio($biblionumber,1);
95
my $record = GetMarcBiblio($biblionumber,1);
96
if ( ! $record_unfiltered ) {
96
if ( ! $record ) {
97
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
97
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
98
    exit;
98
    exit;
99
}
99
}
100
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
100
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
101
my $record_filtered  = $record_unfiltered->clone();
101
$record_processor->process($record);
102
my $record           = $record_processor->process($record_filtered);
103
102
104
# some useful variables for enhanced content;
103
# some useful variables for enhanced content;
105
# in each case, we're grabbing the first value we find in
104
# in each case, we're grabbing the first value we find in
(-)a/opac/opac-MARCdetail.pl (-4 / +3 lines)
Lines 85-98 my $tagslib = &GetMarcStructure( 0, $itemtype ); Link Here
85
my ($tag_itemnumber,$subtag_itemnumber) = &GetMarcFromKohaField('items.itemnumber',$itemtype);
85
my ($tag_itemnumber,$subtag_itemnumber) = &GetMarcFromKohaField('items.itemnumber',$itemtype);
86
my $biblio = GetBiblioData($biblionumber);
86
my $biblio = GetBiblioData($biblionumber);
87
$biblionumber = $biblio->{biblionumber};
87
$biblionumber = $biblio->{biblionumber};
88
my $record_unfiltered = GetMarcBiblio($biblionumber, 1);
88
my $record = GetMarcBiblio($biblionumber, 1);
89
if ( ! $record_unfiltered ) {
89
if ( ! $record ) {
90
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
90
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
91
    exit;
91
    exit;
92
}
92
}
93
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
93
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
94
my $record_filtered  = $record_unfiltered->clone();
94
$record_processor->process($record);
95
my $record           = $record_processor->process($record_filtered);
96
95
97
# open template
96
# open template
98
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
97
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
(-)a/opac/opac-basket.pl (-5 / +3 lines)
Lines 15-23 Link Here
15
# You should have received a copy of the GNU General Public License
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
use Modern::Perl;
18
19
19
use strict;
20
use warnings;
21
use CGI qw ( -utf8 );
20
use CGI qw ( -utf8 );
22
use C4::Koha;
21
use C4::Koha;
23
use C4::Biblio;
22
use C4::Biblio;
Lines 64-72 foreach my $biblionumber ( @bibs ) { Link Here
64
63
65
    my $dat              = &GetBiblioData($biblionumber);
64
    my $dat              = &GetBiblioData($biblionumber);
66
    next unless $dat;
65
    next unless $dat;
67
    my $record_unfiltered = &GetMarcBiblio($biblionumber);
66
    my $record = &GetMarcBiblio($biblionumber);
68
    my $record_filtered   = $record_unfiltered->clone();
67
    $record_processor->process($record);
69
    my $record            = $record_processor->process($record_filtered);
70
    next unless $record;
68
    next unless $record;
71
    my $marcnotesarray   = GetMarcNotes( $record, $marcflavour );
69
    my $marcnotesarray   = GetMarcNotes( $record, $marcflavour );
72
    my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
70
    my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
(-)a/opac/opac-detail.pl (-4 / +3 lines)
Lines 84-97 if (scalar @all_items >= 1) { Link Here
84
    }
84
    }
85
}
85
}
86
86
87
my $record_unfiltered = GetMarcBiblio($biblionumber);
87
my $record = GetMarcBiblio($biblionumber);
88
if ( ! $record_unfiltered ) {
88
if ( ! $record ) {
89
    print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
89
    print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
90
    exit;
90
    exit;
91
}
91
}
92
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
92
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
93
my $record_filtered  = $record_unfiltered->clone();
93
$record_processor->process($record);
94
my $record           = $record_processor->process($record_filtered);
95
94
96
# redirect if opacsuppression is enabled and biblio is suppressed
95
# redirect if opacsuppression is enabled and biblio is suppressed
97
if (C4::Context->preference('OpacSuppression')) {
96
if (C4::Context->preference('OpacSuppression')) {
(-)a/opac/opac-downloadcart.pl (-4 / +2 lines)
Lines 68-77 if ($bib_list && $format) { Link Here
68
        });
68
        });
69
        foreach my $biblio (@bibs) {
69
        foreach my $biblio (@bibs) {
70
70
71
            my $record_unfiltered = GetMarcBiblio($biblio, 1);
71
            my $record = GetMarcBiblio($biblio, 1);
72
            my $record_filtered   = $record_unfiltered->clone();
72
            $record_processor->process($record);
73
            my $record            =
74
                $record_processor->process($record_filtered);
75
73
76
            next unless $record;
74
            next unless $record;
77
75
(-)a/opac/opac-downloadshelf.pl (-4 / +3 lines)
Lines 62-68 if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { Link Here
62
62
63
63
64
        my $contents = $shelf->get_contents;
64
        my $contents = $shelf->get_contents;
65
        my $marcflavour         = C4::Context->preference('marcflavour');
65
        my $marcflavour = C4::Context->preference('marcflavour');
66
        my $output;
66
        my $output;
67
        my $extension;
67
        my $extension;
68
        my $type;
68
        my $type;
Lines 82-90 if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { Link Here
82
            while ( my $content = $contents->next ) {
82
            while ( my $content = $contents->next ) {
83
                my $biblionumber = $content->biblionumber->biblionumber;
83
                my $biblionumber = $content->biblionumber->biblionumber;
84
84
85
                my $record_unfiltered = GetMarcBiblio($biblionumber, 1);
85
                my $record = GetMarcBiblio($biblionumber, 1);
86
                my $record_filtered   = $record_unfiltered->clone();
86
                $record_processor->process($record);
87
                my $record = $record_processor->process($record_filtered);
88
                next unless $record;
87
                next unless $record;
89
88
90
                if ($format eq 'iso2709') {
89
                if ($format eq 'iso2709') {
(-)a/opac/opac-export.pl (-10 / +7 lines)
Lines 35-43 my $biblionumber = $query->param("bib")||0; Link Here
35
$biblionumber = int($biblionumber);
35
$biblionumber = int($biblionumber);
36
my $error = q{};
36
my $error = q{};
37
37
38
my $marc_unfiltered;
38
my $include_items = ($format =~ /bibtex/) ? 0 : 1;
39
$marc_unfiltered = GetMarcBiblio($biblionumber, 1) if $biblionumber;
39
my $marc = GetMarcBiblio($biblionumber, $include_items)
40
if(!$marc_unfiltered) {
40
    if $biblionumber;
41
42
if(!$marc) {
41
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
43
    print $query->redirect("/cgi-bin/koha/errors/404.pl");
42
    exit;
44
    exit;
43
}
45
}
Lines 45-56 if(!$marc_unfiltered) { Link Here
45
# ASSERT: There is a biblionumber, because GetMarcBiblio returned something.
47
# ASSERT: There is a biblionumber, because GetMarcBiblio returned something.
46
48
47
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
49
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
48
my $marc_filtered    = $marc_unfiltered->clone();
50
$record_processor->process($marc);
49
my $marc             = $record_processor->process($marc_filtered);
50
51
my $marc_noitems_unfiltered = GetMarcBiblio($biblionumber);
52
my $marc_noitems_filtered   = $marc_noitems_unfiltered->clone();
53
my $marc_noitems            = $record_processor->process($marc_noitems_filtered);
54
51
55
if ($format =~ /endnote/) {
52
if ($format =~ /endnote/) {
56
    $marc = marc2endnote($marc);
53
    $marc = marc2endnote($marc);
Lines 69-75 elsif ($format =~ /ris/) { Link Here
69
    $format = 'ris';
66
    $format = 'ris';
70
}
67
}
71
elsif ($format =~ /bibtex/) {
68
elsif ($format =~ /bibtex/) {
72
    $marc = marc2bibtex($marc_noitems,$biblionumber);
69
    $marc = marc2bibtex($marc,$biblionumber);
73
    $format = 'bibtex';
70
    $format = 'bibtex';
74
}
71
}
75
elsif ($format =~ /dc$/) {
72
elsif ($format =~ /dc$/) {
(-)a/opac/opac-shelves.pl (-3 / +3 lines)
Lines 18-23 Link Here
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
use CGI qw ( -utf8 );
22
use CGI qw ( -utf8 );
22
use C4::Auth;
23
use C4::Auth;
23
use C4::Biblio;
24
use C4::Biblio;
Lines 259-267 if ( $op eq 'view' ) { Link Here
259
            while ( my $content = $contents->next ) {
260
            while ( my $content = $contents->next ) {
260
                my $biblionumber = $content->biblionumber->biblionumber;
261
                my $biblionumber = $content->biblionumber->biblionumber;
261
                my $this_item    = GetBiblioData($biblionumber);
262
                my $this_item    = GetBiblioData($biblionumber);
262
                my $record_unfiltered = GetMarcBiblio($biblionumber);
263
                my $record = GetMarcBiblio($biblionumber);
263
                my $record_filtered   = $record_unfiltered->clone();
264
                $record_processor->process($record);
264
                my $record       = $record_processor->process($record_filtered);
265
265
266
                if ( $xslfile ) {
266
                if ( $xslfile ) {
267
                    $this_item->{XSLTBloc} = XSLTParse4Display( $biblionumber, $record, "OPACXSLTListsDisplay",
267
                    $this_item->{XSLTBloc} = XSLTParse4Display( $biblionumber, $record, "OPACXSLTListsDisplay",
(-)a/opac/opac-showmarc.pl (-18 / +12 lines)
Lines 39-72 $biblionumber = int($biblionumber); Link Here
39
my $importid= $input->param('importid');
39
my $importid= $input->param('importid');
40
my $view= $input->param('viewas') || 'marc';
40
my $view= $input->param('viewas') || 'marc';
41
41
42
my $record_unfiltered;
42
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
43
44
my $record;
43
if ($importid) {
45
if ($importid) {
44
    my ($marc) = GetImportRecordMarc($importid);
46
    my ($marc) = GetImportRecordMarc($importid);
45
    $record_unfiltered = MARC::Record->new_from_usmarc($marc);
47
    $record = MARC::Record->new_from_usmarc($marc);
46
}
48
}
47
else {
49
else {
48
    $record_unfiltered = GetMarcBiblio($biblionumber);
50
    $record = GetMarcBiblio($biblionumber);
51
    my $frameworkcode = GetFrameworkCode($biblionumber);
52
    $record_processor->options({ frameworkcode => $frameworkcode});
49
}
53
}
50
if(!ref $record_unfiltered) {
54
55
if(!ref $record) {
51
    print $input->redirect("/cgi-bin/koha/errors/404.pl");
56
    print $input->redirect("/cgi-bin/koha/errors/404.pl");
52
    exit;
57
    exit;
53
}
58
}
54
59
55
my $record_processor = Koha::RecordProcessor->new({ filters => 'ViewPolicy' });
60
$record_processor->process($record);
56
my $record_filtered  = $record_unfiltered->clone();
57
my $record           = $record_processor->process($record_filtered);
58
61
59
if ($view eq 'card' || $view eq 'html') {
62
if ($view eq 'card' || $view eq 'html') {
60
    # FIXME: GetXmlBiblio needs filtering later.
63
    my $xml = $record->as_xml;
61
    my $xml = $importid ? $record->as_xml(): GetXmlBiblio($biblionumber);
64
    my $xsl = $view eq 'card' ? 'compact.xsl' : 'plainMARC.xsl';
62
    if (!$importid && $view eq 'html') {
63
        my $unfiltered_record = MARC::Record->new_from_xml($xml);
64
        my $frameworkcode = GetFrameworkCode($biblionumber);
65
        $record_processor->options({ frameworkcode => $frameworkcode});
66
        my $filtered_record = $record_processor->process($unfiltered_record);
67
        $xml = $filtered_record->as_xml();
68
    }
69
    my $xsl =  $view eq 'card' ? 'compact.xsl' : 'plainMARC.xsl';
70
    my $htdocs = C4::Context->config('opachtdocs');
65
    my $htdocs = C4::Context->config('opachtdocs');
71
    my ($theme, $lang) = C4::Templates::themelanguage($htdocs, $xsl, 'opac', $input);
66
    my ($theme, $lang) = C4::Templates::themelanguage($htdocs, $xsl, 'opac', $input);
72
    $xsl = "$htdocs/$theme/$lang/xslt/$xsl";
67
    $xsl = "$htdocs/$theme/$lang/xslt/$xsl";
73
- 

Return to bug 11592