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

(-)a/C4/Search.pm (-3 / +10 lines)
Lines 1872-1877 sub searchResults { Link Here
1872
    # We get the biblionumber position in MARC
1872
    # We get the biblionumber position in MARC
1873
    my ($bibliotag,$bibliosubf)=GetMarcFromKohaField('biblio.biblionumber','');
1873
    my ($bibliotag,$bibliosubf)=GetMarcFromKohaField('biblio.biblionumber','');
1874
1874
1875
    # set stuff for XSLT processing here once, not later again for every record we retrieved
1876
    my $interface = $search_context eq 'opac' ? 'OPAC' : '';
1877
    my $xslsyspref = $interface . "XSLTResultsDisplay";
1878
    my $xslfile = C4::Context->preference($xslsyspref);
1879
    my $lang = C4::Languages::getlanguage();
1880
    my ($sysxml) = C4::XSLT::_get_xslt_sysprefs();
1881
1875
    # loop through all of the records we've retrieved
1882
    # loop through all of the records we've retrieved
1876
    for ( my $i = $offset ; $i <= $times - 1 ; $i++ ) {
1883
    for ( my $i = $offset ; $i <= $times - 1 ; $i++ ) {
1877
1884
Lines 2200-2208 sub searchResults { Link Here
2200
        }
2207
        }
2201
2208
2202
        # XSLT processing of some stuff
2209
        # XSLT processing of some stuff
2203
        my $interface = $search_context eq 'opac' ? 'OPAC' : '';
2210
        # we fetched the sysprefs already before the loop through all retrieved record!
2204
        if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
2211
        if (!$scan && $xslfile) {
2205
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", 1, \@hiddenitems);
2212
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $xslsyspref, 1, \@hiddenitems, $sysxml, $xslfile);
2206
        # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2213
        # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2207
        }
2214
        }
2208
2215
(-)a/C4/XSLT.pm (-25 / +29 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
176
    # singleBranchMode was a system preference, but no longer is
177
    # we can retain it here for compatibility
178
    my $singleBranchMode = Koha::Libraries->search->count == 1;
179
    $sysxml .= "<syspref name=\"singleBranchMode\">$singleBranchMode</syspref>\n";
180
181
    $sysxml .= "</sysprefs>\n";
182
    return $sysxml;
183
}
184
159
sub XSLTParse4Display {
185
sub XSLTParse4Display {
160
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items ) = @_;
186
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items, $sysxml, $xslfilename, $lang ) = @_;
161
    my $xslfilename = C4::Context->preference($xslsyspref);
187
    #my $xslfilename = C4::Context->preference($xslsyspref);
162
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
188
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
163
        my $htdocs;
189
        my $htdocs;
164
        my $theme;
190
        my $theme;
165
        my $lang = C4::Languages::getlanguage();
191
        # my $lang = C4::Languages::getlanguage();
166
        my $xslfile;
192
        my $xslfile;
167
        if ($xslsyspref eq "XSLTDetailsDisplay") {
193
        if ($xslsyspref eq "XSLTDetailsDisplay") {
168
            $htdocs  = C4::Context->config('intrahtdocs');
194
            $htdocs  = C4::Context->config('intrahtdocs');
Lines 197-224 sub XSLTParse4Display { Link Here
197
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
223
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
198
    my $itemsxml  = buildKohaItemsNamespace($biblionumber, $hidden_items);
224
    my $itemsxml  = buildKohaItemsNamespace($biblionumber, $hidden_items);
199
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
225
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
200
    my $sysxml = "<sysprefs>\n";
201
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
202
                              DisplayOPACiconsXSLT URLLinkText viewISBD
203
                              OPACBaseURL TraceCompleteSubfields UseICU
204
                              UseAuthoritiesForTracings TraceSubjectSubdivisions
205
                              Display856uAsImage OPACDisplay856uAsImage 
206
                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
207
                              OPACItemLocation DisplayIconsXSLT
208
                              AlternateHoldingsField AlternateHoldingsSeparator
209
                              TrackClicks opacthemes IdRef / )
210
    {
211
        my $sp = C4::Context->preference( $syspref );
212
        next unless defined($sp);
213
        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
214
    }
215
216
    # singleBranchMode was a system preference, but no longer is
217
    # we can retain it here for compatibility
218
    my $singleBranchMode = Koha::Libraries->search->count == 1;
219
    $sysxml .= "<syspref name=\"singleBranchMode\">$singleBranchMode</syspref>\n";
220
226
221
    $sysxml .= "</sysprefs>\n";
222
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
227
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
223
    if ($fixamps) { # We need to correct the HTML entities that Zebra outputs
228
    if ($fixamps) { # We need to correct the HTML entities that Zebra outputs
224
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
229
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
225
- 

Return to bug 15263