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

(-)a/C4/XSLT.pm (-2 / +6 lines)
Lines 139-150 The helper function _get_best_default_xslt_filename is used in a unit test. Link Here
139
sub _get_best_default_xslt_filename {
139
sub _get_best_default_xslt_filename {
140
    my ($htdocs, $theme, $lang, $base_xslfile) = @_;
140
    my ($htdocs, $theme, $lang, $base_xslfile) = @_;
141
141
142
    # Try to find the xsl file in various directory, in the following order.
143
    # Depending on the interface the fallback theme is boostrap (opac) or prog
144
    # (pro).
142
    my @candidates = (
145
    my @candidates = (
143
        "$htdocs/$theme/$lang/xslt/${base_xslfile}", # exact match
146
        "$htdocs/$theme/$lang/xslt/${base_xslfile}", # exact match
144
        "$htdocs/$theme/en/xslt/${base_xslfile}",    # if not, preferred theme in English
147
        "$htdocs/$theme/en/xslt/${base_xslfile}",    # if not, preferred theme in English
148
        "$htdocs/bootstrap/$lang/xslt/${base_xslfile}",   # if not, 'bootstrap' theme in preferred language
149
        "$htdocs/bootstrap/en/xslt/${base_xslfile}",      # otherwise, bootstrap theme in English
145
        "$htdocs/prog/$lang/xslt/${base_xslfile}",   # if not, 'prog' theme in preferred language
150
        "$htdocs/prog/$lang/xslt/${base_xslfile}",   # if not, 'prog' theme in preferred language
146
        "$htdocs/prog/en/xslt/${base_xslfile}",      # otherwise, prog theme in English; should always
151
        "$htdocs/prog/en/xslt/${base_xslfile}",      # otherwise, prog theme in English
147
                                                     # exist
148
    );
152
    );
149
    my $xslfilename;
153
    my $xslfilename;
150
    foreach my $filename (@candidates) {
154
    foreach my $filename (@candidates) {
(-)a/opac/opac-showmarc.pl (-21 / +9 lines)
Lines 52-77 if(!ref $record) { Link Here
52
}
52
}
53
53
54
if ($view eq 'card' || $view eq 'html') {
54
if ($view eq 'card' || $view eq 'html') {
55
    my $xmlrecord= $importid? $record->as_xml(): GetXmlBiblio($biblionumber);
55
    my $xml = $importid ? $record->as_xml(): GetXmlBiblio($biblionumber);
56
    my $xslfile;
56
    my $xsl = C4::XSLT::_get_best_default_xslt_filename(
57
    my $xslfilename;
57
        C4::Context->config('opachtdocs'),
58
    my $htdocs  = C4::Context->config('opachtdocs');
58
        C4::Context->preference('opacthemes'),
59
    my $theme   = C4::Context->preference("opacthemes");
59
        C4::Languages::getlanguage($input),
60
    my $lang = C4::Languages::getlanguage($input);
60
        $view eq 'card' ? 'compact.xsl' : 'plainMARC.xsl'
61
61
    );
62
    if ($view eq 'card'){
62
    print $input->header(-charset => 'UTF-8'),
63
        $xslfile = "compact.xsl";
63
          Encode::encode_utf8(C4::XSLT::engine->transform($xml, $xsl));
64
    }
65
    else { # must be html
66
        $xslfile = 'plainMARC.xsl';
67
    }
68
    $xslfilename = "$htdocs/$theme/$lang/xslt/$xslfile";
69
    $xslfilename = "$htdocs/$theme/en/xslt/$xslfile" unless ( $lang ne 'en' && -f $xslfilename );
70
    $xslfilename = "$htdocs/prog/$lang/xslt/$xslfile" unless ( -f $xslfile );
71
    $xslfilename = "$htdocs/prog/en/xslt/$xslfile" unless ( $lang ne 'en' && -f $xslfilename );
72
73
    my $newxmlrecord = C4::XSLT::engine->transform($xmlrecord, $xslfilename);
74
    print $input->header(-charset => 'UTF-8'), Encode::encode_utf8($newxmlrecord);
75
}
64
}
76
else { #view eq marc
65
else { #view eq marc
77
    my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
66
    my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
78
- 

Return to bug 13170