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

(-)a/catalogue/showmarc.pl (-39 / +26 lines)
Lines 21-29 Link Here
21
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22
22
23
use strict;
23
use strict;
24
#use warnings; FIXME - Bug 2505
24
use warnings;
25
26
use open OUT=>":encoding(UTF-8)", ':std';
27
25
28
# standard or CPAN modules used
26
# standard or CPAN modules used
29
use CGI qw(:standard);
27
use CGI qw(:standard);
Lines 39-73 use C4::ImportBatch; Link Here
39
use XML::LibXSLT;
37
use XML::LibXSLT;
40
use XML::LibXML;
38
use XML::LibXML;
41
39
42
my $input       = new CGI;
40
my $input= new CGI;
43
my $biblionumber = $input->param('id');
41
my $biblionumber= $input->param('id');
44
my $importid		=	$input->param('importid');
42
my $importid= $input->param('importid');
45
my $view		= $input->param('viewas');
43
my $view= $input->param('viewas');
46
44
47
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
45
my $record;
48
    {
46
if ($importid) {
49
        template_name   => "catalogue/showmarc.tmpl",
47
    my ($marc) = GetImportRecordMarc($importid);
50
        query           => $input,
48
    $record = MARC::Record->new_from_usmarc($marc);
51
        type            => "intranet",
49
}
52
        authnotrequired => 0,
50
else {
53
        flagsrequired   => { catalogue => 1  },
51
    $record =GetMarcBiblio($biblionumber);
54
        debug           => 1,
55
    }
56
);
57
58
$template->param( SCRIPT_NAME => $ENV{'SCRIPT_NAME'}, );
59
my ($record, $xmlrecord);
60
if($importid) {
61
	my ($marc,$encoding) = GetImportRecordMarc($importid);
62
		$record = MARC::Record->new_from_usmarc($marc) ;
63
 	if($view eq 'card') {
64
		$xmlrecord = $record->as_xml();
65
	} 
66
}
52
}
67
53
68
if($view eq 'card') {
54
if($view eq 'card') {
69
    my $themelang = '/' . C4::Context->preference("opacthemes") .  '/' . C4::Templates::_current_language();
55
    my $themelang = '/' . C4::Context->preference("opacthemes") .  '/' . C4::Templates::_current_language();
70
    $xmlrecord = GetXmlBiblio($biblionumber) unless $xmlrecord;
56
    my $xmlrecord= $importid? $record->as_xml(): GetXmlBiblio($biblionumber);
71
    my $xslfile =
57
    my $xslfile =
72
      C4::Context->config('intrahtdocs') . $themelang . "/xslt/compact.xsl";
58
      C4::Context->config('intrahtdocs') . $themelang . "/xslt/compact.xsl";
73
    my $parser       = XML::LibXML->new();
59
    my $parser       = XML::LibXML->new();
Lines 77-94 if($view eq 'card') { Link Here
77
    my $stylesheet   = $xslt->parse_stylesheet($style_doc);
63
    my $stylesheet   = $xslt->parse_stylesheet($style_doc);
78
    my $results      = $stylesheet->transform($source);
64
    my $results      = $stylesheet->transform($source);
79
    my $newxmlrecord = $stylesheet->output_string($results);
65
    my $newxmlrecord = $stylesheet->output_string($results);
80
    $newxmlrecord = Encode::decode_utf8($newxmlrecord)
66
    print $input->header(-charset => 'UTF-8'), Encode::encode_utf8($newxmlrecord);
81
      unless utf8::is_utf8($newxmlrecord)
82
    ;    #decode only if not in perl internal format
83
    print $input->header( -charset => 'UTF-8' ), $newxmlrecord;
84
}
67
}
85
else {
68
else {
86
    $record =GetMarcBiblio($biblionumber) unless $record;
69
    my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
87
70
      {
88
    my $formatted = $record->as_formatted;
71
        template_name   => "catalogue/showmarc.tmpl",
89
    $template->param( MARC_FORMATTED => $formatted );
72
        query           => $input,
90
73
        type            => "intranet",
91
    my $output= $template->output;
74
        authnotrequired => 0,
92
    $output=Encode::decode_utf8($output) unless utf8::is_utf8($output);
75
        flagsrequired   => { catalogue => 1  },
93
    output_html_with_http_headers $input, $cookie, $output;
76
        debug           => 1,
77
      }
78
    );
79
    $template->param( MARC_FORMATTED => $record->as_formatted );
80
    output_html_with_http_headers $input, $cookie, $template->output;
94
}
81
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/showmarc.tt (-2 / +3 lines)
Lines 5-8 Link Here
5
<body id="catalog_showmarc" class="catalog">
5
<body id="catalog_showmarc" class="catalog">
6
<div id="main">
6
<div id="main">
7
<pre>[% MARC_FORMATTED %] </pre>
7
<pre>[% MARC_FORMATTED %] </pre>
8
[% INCLUDE 'intranet-bottom.inc' %]
8
</div>
9
</body>
10
</html>
9
- 

Return to bug 8872