Bug 8947: [SIGNED-OFF] XSLT fallback logic backwards
authorJared Camins-Esakov <jcamins@cpbibliography.com>
Fri, 19 Oct 2012 12:33:04 +0000 (08:33 -0400)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 26 Oct 2012 15:41:08 +0000 (17:41 +0200)
The logic for the XSLT fallback was backwards, which meant that
non-English installations of the CCSR theme were unable to use XSLT
stylesheets. This patch corrects the logic.

To test:
1) Switch to the ccsr OPAC theme.
2) Switch to a language other than English for the OPAC.
3) Turn on the default XSLT stylesheets for the OPAC.
4) Do a search or view a record that would result in something being
   displayed with XSLT. This will work after the patch, but not before.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Works as advertised!

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
C4/XSLT.pm

index d17b828..19ec162 100644 (file)
@@ -166,9 +166,9 @@ sub XSLTParse4Display {
                        "slim2OPACResults.xsl";
         }
         $xslfilename = "$htdocs/$theme/$lang/xslt/$xslfile";
-        $xslfilename = "$htdocs/$theme/en/xslt/$xslfile" unless ( $lang ne 'en' && !-f $xslfilename );
-        $xslfilename = "$htdocs/prog/$lang/xslt/$xslfile" unless ( !-f $xslfilename );
-        $xslfilename = "$htdocs/prog/en/xslt/$xslfile" unless ( $lang ne 'en' && !-f $xslfilename );
+        $xslfilename = "$htdocs/$theme/en/xslt/$xslfile" unless ( $lang ne 'en' && -f $xslfilename );
+        $xslfilename = "$htdocs/prog/$lang/xslt/$xslfile" unless ( -f $xslfilename );
+        $xslfilename = "$htdocs/prog/en/xslt/$xslfile" unless ( $lang ne 'en' && -f $xslfilename );
     }
 
     if ( $xslfilename =~ m/\{langcode\}/ ) {