Lines 189-205
sub get_xslt_sysprefs {
Link Here
|
189 |
return $sysxml; |
189 |
return $sysxml; |
190 |
} |
190 |
} |
191 |
|
191 |
|
192 |
sub XSLTParse4Display { |
192 |
sub get_xsl_filename { |
193 |
my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items, $sysxml, $xslfilename, $lang, $variables, $items_rs ) = @_; |
193 |
my ( $xslsyspref ) = @_; |
|
|
194 |
|
195 |
my $lang = C4::Languages::getlanguage(); |
194 |
|
196 |
|
195 |
$sysxml ||= C4::Context->preference($xslsyspref); |
197 |
my $xslfilename = C4::Context->preference($xslsyspref) || "default"; |
196 |
$xslfilename ||= C4::Context->preference($xslsyspref); |
|
|
197 |
$lang ||= C4::Languages::getlanguage(); |
198 |
|
198 |
|
199 |
if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) { |
199 |
if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) { |
200 |
my $htdocs; |
200 |
|
201 |
my $theme; |
201 |
my ( $htdocs, $theme, $xslfile ); |
202 |
my $xslfile; |
202 |
|
203 |
if ($xslsyspref eq "XSLTDetailsDisplay") { |
203 |
if ($xslsyspref eq "XSLTDetailsDisplay") { |
204 |
$htdocs = C4::Context->config('intrahtdocs'); |
204 |
$htdocs = C4::Context->config('intrahtdocs'); |
205 |
$theme = C4::Context->preference("template"); |
205 |
$theme = C4::Context->preference("template"); |
Lines 240-245
sub XSLTParse4Display {
Link Here
|
240 |
$xslfilename =~ s/\{langcode\}/$lang/; |
240 |
$xslfilename =~ s/\{langcode\}/$lang/; |
241 |
} |
241 |
} |
242 |
|
242 |
|
|
|
243 |
return $xslfilename; |
244 |
} |
245 |
|
246 |
sub XSLTParse4Display { |
247 |
my ( $params ) = @_; |
248 |
|
249 |
my $biblionumber = $params->{biblionumber}; |
250 |
my $orig_record = $params->{record}; |
251 |
my $xslsyspref = $params->{xsl_syspref}; |
252 |
my $fixamps = $params->{fix_amps}; |
253 |
my $hidden_items = $params->{hidden_items} || []; |
254 |
my $variables = $params->{xslt_variables}; |
255 |
my $items_rs = $params->{items_rs}; |
256 |
|
257 |
my $xslfilename = get_xsl_filename( $xslsyspref); |
258 |
|
243 |
# grab the XML, run it through our stylesheet, push it out to the browser |
259 |
# grab the XML, run it through our stylesheet, push it out to the browser |
244 |
my $record = transformMARCXML4XSLT($biblionumber, $orig_record); |
260 |
my $record = transformMARCXML4XSLT($biblionumber, $orig_record); |
245 |
my $itemsxml; |
261 |
my $itemsxml; |
Lines 272-277
sub XSLTParse4Display {
Link Here
|
272 |
} |
288 |
} |
273 |
$varxml .= "</variables>\n"; |
289 |
$varxml .= "</variables>\n"; |
274 |
|
290 |
|
|
|
291 |
my $sysxml = get_xslt_sysprefs(); |
275 |
$xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml$varxml\<\/record\>/; |
292 |
$xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml$varxml\<\/record\>/; |
276 |
if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs |
293 |
if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs |
277 |
$xmlrecord =~ s/\&amp;/\&/g; |
294 |
$xmlrecord =~ s/\&amp;/\&/g; |