Bug 5727 Warning in log due to XSLT.pm
authorFrédéric Demians <f.demians@tamil.fr>
Thu, 10 Feb 2011 17:42:53 +0000 (17:42 +0000)
committerChris Nighswonger <chris.nighswonger@gmail.com>
Mon, 14 Feb 2011 02:40:14 +0000 (21:40 -0500)
XSLT.pm add few syspref to MARCXML record send to be transformed by XSLT. If
one of those syspref doesn't exist, it generated a warning.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit bfec5ef4c1d16b3dc4cccd3982883a21b09955a6)

Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
C4/XSLT.pm

index 7844330..f1c5293 100644 (file)
@@ -129,9 +129,9 @@ sub XSLTParse4Display {
     my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
     my $sysxml = "<sysprefs>\n";
     foreach my $syspref ( qw/OPACURLOpenInNewWindow DisplayOPACiconsXSLT URLLinkText viewISBD OPACBaseURL/ ) {
-        $sysxml .= "<syspref name=\"$syspref\">" .
-                   C4::Context->preference( $syspref ) .
-                   "</syspref>\n";
+        my $sp = C4::Context->preference( $syspref );
+        next unless defined($sp);
+        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
     }
     $sysxml .= "</sysprefs>\n";
     $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;