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