From a8d1309395d20ca364b844923eb4ad662512a6e5 Mon Sep 17 00:00:00 2001
From: Doug Dearden <dearden@sarsf.org>
Date: Fri, 11 Feb 2011 15:21:48 -0700
Subject: [PATCH] bug 5738 Display the URI in the 856u field as an image - enh
 On branch mywork
 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)
 modified:   koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
 modified:   koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
Content-type: text/plain; charset="utf-8"

---
 install_misc/apt-get-debian-lenny.sh               |    2 +-
 .../prog/en/xslt/MARC21slim2OPACDetail.xsl         |   21 +++++++----------
 .../prog/en/xslt/MARC21slim2OPACResults.xsl        |   24 ++++++++-----------
 3 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/install_misc/apt-get-debian-lenny.sh b/install_misc/apt-get-debian-lenny.sh
index 015a32d..a94d47f 100755
--- a/install_misc/apt-get-debian-lenny.sh
+++ b/install_misc/apt-get-debian-lenny.sh
@@ -100,7 +100,7 @@ libxslt1.1 \
 libxslt1-dev \
 libyaml-perl \
 libyaml-syck-perl  \
-libyaz-dev \
+libyaz3-dev \
 libyaz3 \
 make  \
 mysql-server  \
diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
index 2c42039..58ef6d4 100755
--- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
@@ -23,6 +23,7 @@
     <xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/>
     <xsl:variable name="ShowISBD" select="marc:sysprefs/marc:syspref[@name='viewISBD']"/>
     <xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/>
+    <xsl:variable name ="SubqIsImage" select="0"/>
         <xsl:variable name="leader" select="marc:leader"/>
         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
@@ -511,9 +512,7 @@
         <xsl:for-each select="marc:datafield[@tag=856]">
                             <xsl:if test="$OPACURLOpenInNewWindow='0'">
                                    <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
-                                    <xsl:if test="$Show856uAsImage='Details' or $Show856uAsImage='Both'">
-                                      <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element>
-                                    </xsl:if>
+                                    <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
                                     <xsl:choose>
                                     <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
                                         <xsl:call-template name="subfieldSelect">
@@ -522,12 +521,12 @@
                                     </xsl:when>
                                     <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
                                         <xsl:choose>
+                                        <xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and ($SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
+                                                <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
+                                        </xsl:when>                                        
                                         <xsl:when test="$URLLinkText!=''">
                                                 <xsl:value-of select="$URLLinkText"/>
                                         </xsl:when>
-                                        <xsl:when test="$Show856uAsImage='Details' or $Show856uAsImage='Both'">
-                                                 <xsl:text></xsl:text>
-                                        </xsl:when>
                                         <xsl:otherwise>
                                                 <xsl:text>Click here to access online</xsl:text>
                                         </xsl:otherwise>
@@ -538,9 +537,7 @@
                               </xsl:if>
                             <xsl:if test="$OPACURLOpenInNewWindow='1'">
                                    <a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
-                                    <xsl:if test="$Show856uAsImage='Details' or $Show856uAsImage='Both'">
-                                      <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element>
-                                    </xsl:if>
+                                    <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
                                     <xsl:choose>
                                     <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
                                         <xsl:call-template name="subfieldSelect">
@@ -549,12 +546,12 @@
                                     </xsl:when>
                                     <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
                                         <xsl:choose>
+                                        <xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and ($SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
+                                                <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
+                                        </xsl:when>                                       
                                         <xsl:when test="$URLLinkText!=''">
                                                 <xsl:value-of select="$URLLinkText"/>
                                         </xsl:when>
-                                        <xsl:when test="$Show856uAsImage='Details' or $Show856uAsImage='Both'">
-                                                 <xsl:text></xsl:text>
-                                        </xsl:when>
                                         <xsl:otherwise>
                                                 <xsl:text>Click here to access online</xsl:text>
                                         </xsl:otherwise>
diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
index 03ae40f..61547a7 100644
--- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
+++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
@@ -906,9 +906,7 @@
                             <xsl:for-each select="marc:datafield[@tag=856]">
                             <xsl:if test="$OPACURLOpenInNewWindow='0'">
                                    <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
-                                   <xsl:if test="$Show856uAsImage='Results' or $Show856uAsImage='Both'">
-                                      <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element>
-                                   </xsl:if>
+                                     <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
                                     <xsl:choose>
                                     <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
                                         <xsl:call-template name="subfieldSelect">                        
@@ -917,12 +915,12 @@
                                     </xsl:when>
                                     <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
 					<xsl:choose>
-					<xsl:when test="$URLLinkText!=''">
+					<xsl:when test="($Show856uAsImage='Results' or $Show856uAsImage='Both') and ($SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
+            <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
+          </xsl:when>
+          <xsl:when test="$URLLinkText!=''">
 						<xsl:value-of select="$URLLinkText"/>
 					</xsl:when>
-					<xsl:when test="$Show856uAsImage='Results' or $Show856uAsImage='Both'">
-             <xsl:text></xsl:text>
-          </xsl:when>
 					<xsl:otherwise>
 						<xsl:text>Click here to access online</xsl:text>
 					</xsl:otherwise>
@@ -933,9 +931,7 @@
                               </xsl:if>
                             <xsl:if test="$OPACURLOpenInNewWindow='1'">
                                    <a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
-                                   <xsl:if test="$Show856uAsImage='Results' or $Show856uAsImage='Both'">
-                                      <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element>
-                                   </xsl:if>                               
+                                     <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
                                     <xsl:choose>
                                     <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
                                         <xsl:call-template name="subfieldSelect">                        
@@ -944,12 +940,12 @@
                                     </xsl:when>
                                     <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
 					<xsl:choose>
-					<xsl:when test="$URLLinkText!=''">
+					<xsl:when test="($Show856uAsImage='Results' or $Show856uAsImage='Both') and ($SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
+            <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
+          </xsl:when>
+          <xsl:when test="$URLLinkText!=''">
 						<xsl:value-of select="$URLLinkText"/>
 					</xsl:when>
-					<xsl:when test="$Show856uAsImage='Results' or $Show856uAsImage='Both'">
-             <xsl:text></xsl:text>
-          </xsl:when>
 					<xsl:otherwise>
 						<xsl:text>Click here to access online</xsl:text>
 					</xsl:otherwise>
-- 
1.5.6.5