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

(-)a/C4/Search.pm (-3 / +10 lines)
Lines 1902-1907 sub searchResults { Link Here
1902
    # We get the biblionumber position in MARC
1902
    # We get the biblionumber position in MARC
1903
    my ($bibliotag,$bibliosubf)=GetMarcFromKohaField('biblio.biblionumber','');
1903
    my ($bibliotag,$bibliosubf)=GetMarcFromKohaField('biblio.biblionumber','');
1904
1904
1905
    # set stuff for XSLT processing here once, not later again for every record we retrieved
1906
    my $interface = $search_context eq 'opac' ? 'OPAC' : '';
1907
    my $xslsyspref = $interface . "XSLTResultsDisplay";
1908
    my $xslfile = C4::Context->preference($xslsyspref);
1909
    my $lang = C4::Languages::getlanguage();
1910
    my ($sysxml) = C4::XSLT::_get_xslt_sysprefs();
1911
1905
    # loop through all of the records we've retrieved
1912
    # loop through all of the records we've retrieved
1906
    for ( my $i = $offset ; $i <= $times - 1 ; $i++ ) {
1913
    for ( my $i = $offset ; $i <= $times - 1 ; $i++ ) {
1907
1914
Lines 2229-2237 sub searchResults { Link Here
2229
        }
2236
        }
2230
2237
2231
        # XSLT processing of some stuff
2238
        # XSLT processing of some stuff
2232
        my $interface = $search_context eq 'opac' ? 'OPAC' : '';
2239
        # we fetched the sysprefs already before the loop through all retrieved record!
2233
        if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
2240
        if (!$scan && $xslfile) {
2234
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", 1, \@hiddenitems);
2241
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $xslsyspref, 1, \@hiddenitems, $sysxml, $xslfile);
2235
        # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2242
        # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2236
        }
2243
        }
2237
2244
(-)a/C4/XSLT.pm (-20 / +39 lines)
Lines 156-168 sub _get_best_default_xslt_filename { Link Here
156
    return $xslfilename;
156
    return $xslfilename;
157
}
157
}
158
158
159
sub _get_xslt_sysprefs {
160
    my $sysxml = "<sysprefs>\n";
161
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
162
                              DisplayOPACiconsXSLT URLLinkText viewISBD
163
                              OPACBaseURL TraceCompleteSubfields UseICU
164
                              UseAuthoritiesForTracings TraceSubjectSubdivisions
165
                              Display856uAsImage OPACDisplay856uAsImage
166
                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
167
                              singleBranchMode OPACItemLocation DisplayIconsXSLT
168
                              AlternateHoldingsField AlternateHoldingsSeparator
169
                              TrackClicks opacthemes IdRef / )
170
    {
171
        my $sp = C4::Context->preference( $syspref );
172
        next unless defined($sp);
173
        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
174
    }
175
    $sysxml .= "</sysprefs>\n";
176
    return $sysxml;
177
}
178
159
sub XSLTParse4Display {
179
sub XSLTParse4Display {
160
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items ) = @_;
180
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items, $sysxml, $xslfilename, $lang ) = @_;
161
    my $xslfilename = C4::Context->preference($xslsyspref);
181
    #my $xslfilename = C4::Context->preference($xslsyspref);
162
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
182
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
163
        my $htdocs;
183
        my $htdocs;
164
        my $theme;
184
        my $theme;
165
        my $lang = C4::Languages::getlanguage();
185
        # my $lang = C4::Languages::getlanguage();
166
        my $xslfile;
186
        my $xslfile;
167
        if ($xslsyspref eq "XSLTDetailsDisplay") {
187
        if ($xslsyspref eq "XSLTDetailsDisplay") {
168
            $htdocs  = C4::Context->config('intrahtdocs');
188
            $htdocs  = C4::Context->config('intrahtdocs');
Lines 197-218 sub XSLTParse4Display { Link Here
197
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
217
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
198
    my $itemsxml  = buildKohaItemsNamespace($biblionumber, $hidden_items);
218
    my $itemsxml  = buildKohaItemsNamespace($biblionumber, $hidden_items);
199
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
219
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
200
    my $sysxml = "<sysprefs>\n";
220
#    my $sysxml = "<sysprefs>\n";
201
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
221
#    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
202
                              DisplayOPACiconsXSLT URLLinkText viewISBD
222
#                              DisplayOPACiconsXSLT URLLinkText viewISBD
203
                              OPACBaseURL TraceCompleteSubfields UseICU
223
#                              OPACBaseURL TraceCompleteSubfields UseICU
204
                              UseAuthoritiesForTracings TraceSubjectSubdivisions
224
#                              UseAuthoritiesForTracings TraceSubjectSubdivisions
205
                              Display856uAsImage OPACDisplay856uAsImage 
225
#                              Display856uAsImage OPACDisplay856uAsImage 
206
                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
226
#                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
207
                              singleBranchMode OPACItemLocation DisplayIconsXSLT
227
#                              singleBranchMode OPACItemLocation DisplayIconsXSLT
208
                              AlternateHoldingsField AlternateHoldingsSeparator
228
#                              AlternateHoldingsField AlternateHoldingsSeparator
209
                              TrackClicks opacthemes IdRef / )
229
#                              TrackClicks opacthemes IdRef / )
210
    {
230
#    {
211
        my $sp = C4::Context->preference( $syspref );
231
#        my $sp = C4::Context->preference( $syspref );
212
        next unless defined($sp);
232
#        next unless defined($sp);
213
        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
233
#        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
214
    }
234
#    }
215
    $sysxml .= "</sysprefs>\n";
235
#    $sysxml .= "</sysprefs>\n";
216
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
236
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
217
    if ($fixamps) { # We need to correct the HTML entities that Zebra outputs
237
    if ($fixamps) { # We need to correct the HTML entities that Zebra outputs
218
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
238
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
219
- 

Return to bug 15263