source: greenstone3/trunk/web/interfaces/default/transform/util.xsl@ 20291

Last change on this file since 20291 was 20291, checked in by kjdon, 15 years ago

made the authentication link always active. If the service has not been activated in siteConfig, then nothing will show up. If it has, then I don't think the user should have to modify the interface files as well. Activating the service in siteConfig should be enough.

File size: 12.4 KB
RevLine 
[18482]1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0"
[19895]3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:gslib="http://www.greenstone.org/XSL/Library"
[20160]5 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
[19895]6 xmlns:util="http://org.greenstone.gsdl3.util.XSLTUtil"
[20160]7 exclude-result-prefixes="util gslib gsf">
[19895]8
9 <!-- some global parameters - these are set by whoever is invoking the transformation -->
[18482]10 <xsl:param name="interface_name"/>
11 <xsl:param name="library_name"/>
12
[19895]13 <!-- every pages ................................................. -->
[18482]14
[19895]15 <xsl:variable name="a"><xsl:value-of select="/page/pageRequest/paramList/param[@name='a']/@value"/></xsl:variable>
16 <xsl:variable name="collections" select="/page/pageResponse/collectionList/collection"/>
[18482]17
18
[19895]19 <xsl:template name="textDirectionAttribute">
20 <xsl:attribute name="dir">
[18482]21 <xsl:choose>
[19895]22 <xsl:when test="/page/@lang='ar' or /page/@lang='fa' or /page/@lang='he' or /page/@lang='ur' or /page/@lang='ps' or /page/@lang='prs'">rtl</xsl:when>
23 <xsl:otherwise>ltr</xsl:otherwise>
24 </xsl:choose>
25 </xsl:attribute>
26 </xsl:template>
27
28
29 <xsl:template name="defaultDividerBar">
30 <xsl:param name='text'/>
31 <xsl:choose>
[18482]32 <xsl:when test="$text">
[19895]33 <div class="divbar"><xsl:value-of select="$text"/></div>
[18482]34 </xsl:when>
35 <xsl:otherwise>
[19895]36 <div class="divbar"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></div>
[18482]37 </xsl:otherwise>
38 </xsl:choose>
[19895]39 </xsl:template>
[18482]40
41
[19895]42 <xsl:template match="error">
[18482]43 Error: <xsl:value-of select="."/>
[19895]44 </xsl:template>
[18482]45
46
[19895]47 <xsl:template name="displayErrorsIfAny">
48 <xsl:if test="descendant::error">
[18482]49 <script language="Javascript">
50 <xsl:text disable-output-escaping="yes">
51 function removeAllChildren(node) {
[19895]52 while (node.hasChildNodes()) {
53 node.removeChild(node.firstChild);
[18482]54 }
[19895]55 }
[18482]56
57 function toggleHideError(obj) {
[19895]58 if (obj.style.display == "none") {
59 obj.style.display = "";
60 hide_link = document.getElementById("hide");
61 removeAllChildren(hide_link);
62 hide_link.appendChild(document.createTextNode("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'hide_error')"/><xsl:text disable-output-escaping="yes">"));
63 } else {
64 obj.style.display = "none";
65 hide_link = document.getElementById("hide");
66 removeAllChildren(hide_link);
67 hide_link.appendChild(document.createTextNode("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'show_error')"/><xsl:text disable-output-escaping="yes">"));
68 }
[18482]69 }
70 </xsl:text>
71 </script>
72 <p align='right'><a id="hide" href="javascript:toggleHideError(error);"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'show_error')"/></a></p>
73 <div id="error" style="display: none;">
74 <xsl:apply-templates select="descendant::error"/>
75 </div>
76 </xsl:if>
[19895]77 </xsl:template>
[18482]78
79
[19895]80 <xsl:template name="noTextBar">
81 <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
[18482]82 </xsl:template>
83
84
[19895]85 <xsl:template name="poweredByGS3TextBar">
86 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gs3power')"/>
87 </xsl:template>
88
89
90 <!-- site home ...................................................... -->
[18482]91
[19895]92 <xsl:template name="siteHomePageTitle">
93 <!-- put a space in the title in case the actual value is missing - mozilla will not display a page with no title-->
94 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gsdl')"/><xsl:text> </xsl:text>
95 </xsl:template>
[18482]96
97
[19895]98 <xsl:template name="selectACollectionTextBar">
99 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.select_a_collection')"/>
[18482]100 </xsl:template>
101
102
[19902]103 <xsl:template name="crossCollectionQuickSearchForm">
104 <xsl:apply-templates select="serviceList/service[@name='TextQuery']" mode="quicksearch"/>
[19895]105 </xsl:template>
106
[19896]107 <xsl:template match="service[@name='TextQuery']" mode="quicksearch">
[19895]108 <form name="QuickSearch" method="get" action="{$library_name}">
109 <input type="hidden" name="a" value="q"/>
110 <input type="hidden" name="rt" value="rd"/>
111 <input type="hidden" name="s" value="{@name}"/>
112 <input type="hidden" name="s1.collection" value="all"/>
113 <input type="text" name="s1.query" size="20"/>
114 <input type="submit"><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.quick_search')"/></xsl:attribute></input>
115 </form>
[18482]116 </xsl:template>
117
118
[19895]119 <xsl:template name="collectionLinkWithImage">
120 <xsl:choose>
121 <xsl:when test="displayItem[@name='icon']">
122 <a href="{$library_name}?a=p&amp;sa=about&amp;c={@name}">
123 <img>
124 <xsl:attribute name="src">
125 <xsl:value-of select="metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="displayItem[@name='icon']"/>
126 </xsl:attribute>
127 <xsl:attribute name="alt">
128 <xsl:value-of select="displayItem[@name='name']"/>
129 </xsl:attribute>
130 </img>
131 </a>
132 </xsl:when>
133 <xsl:otherwise>
134 <a class="noimage" href="{$library_name}?a=p&amp;sa=about&amp;c={@name}">
135 <xsl:value-of select="displayItem[@name='name']"/>
136 </a>
137 </xsl:otherwise>
138 </xsl:choose>
139 </xsl:template>
[18482]140
141
[19895]142 <xsl:template name="serviceClusterList">
143 <xsl:apply-templates select="serviceClusterList"/>
144 </xsl:template>
145
146 <xsl:template match="serviceClusterList">
147 <xsl:for-each select="serviceCluster">
148 <a href="{$library_name}?a=p&amp;sa=about&amp;c={@name}"><xsl:value-of select='@name'/><xsl:value-of select="displayItem[@name='name']"/></a>
149 </xsl:for-each>
150 </xsl:template>
[18482]151
[19895]152
153 <xsl:template name="serviceLink">
154 <a href="{$library_name}?a=q&amp;rt=d&amp;s={@name}"><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/>
155 </xsl:template>
[18482]156
[19895]157
158 <xsl:template name="authenticationLink">
[20291]159 <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s={@name}&amp;s1.aup=Login&amp;s1.un=&amp;s1.asn="><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/>
[18482]160 </xsl:template>
161
162
[19895]163 <xsl:template name="libraryInterfaceLink">
164 <li><a href="{$library_name}?a=p&amp;sa=gli4gs3"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.librarian_interface')"/></a></li>
[18482]165 </xsl:template>
166
167
[19895]168 <xsl:template name="greenstoneLogoAlternateText">
169 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gsdl')"/>
170 </xsl:template>
[18482]171
[19895]172 <!-- about page - collection home ......................... -->
173 <xsl:variable name="collName" select="/page/pageRequest/paramList/param[@name='c']/@value"/>
174 <xsl:param name="collName" select="/page/pageRequest/paramList/param[@name='c']/@value"/>
175 <xsl:param name="pageType"/>
176 <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
177 <xsl:variable name="this-service" select="/page/pageResponse/service/@name"/>
[18482]178
179
[19895]180 <xsl:template name="aboutCollectionPageTitle">
181 <!-- put a space in the title in case the actual value is missing - mozilla will not display a page with no title-->
182 <xsl:value-of select="/page/pageResponse/*/displayItem[@name='name']"/><xsl:text> </xsl:text>
183 </xsl:template>
[18482]184
[19895]185
186 <xsl:template name="collectionHomeLinkWithLogoIfAvailable">
187 <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
188 <xsl:choose>
189 <xsl:when test="$this-element/displayItem[@name='icon']">
190 <img border="0">
191 <xsl:attribute name="src">
192 <xsl:value-of select="$this-element/metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="$this-element/displayItem[@name='icon']"/>
193 </xsl:attribute>
194 <xsl:attribute name="alt">
[18595]195 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
[19895]196 </xsl:attribute>
197 <xsl:attribute name="title">
198 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'aboutpage')"/>
199 </xsl:attribute>
200 </img>
201 </xsl:when>
202 <xsl:otherwise>
203 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
204 </xsl:otherwise>
205 </xsl:choose>
206 </a>
207 </xsl:template>
[18482]208
[18595]209
[19895]210 <xsl:template name="homeButtonTop">
211 <a href="{$library_name}?a=p&amp;sa=home"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_tip')"/></xsl:attribute>
212 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/></a>
213 </xsl:template>
[18595]214
215
[19895]216 <xsl:template name="helpButtonTop">
[18595]217 <xsl:choose>
218 <xsl:when test="$pageType='help'">
219 <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/></a></li>
220 </xsl:when>
221 <xsl:otherwise>
222 <li><a href="{$library_name}?a=p&amp;sa=help&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_tip')"/></xsl:attribute>
223 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
224 </a></li>
225 </xsl:otherwise>
226 </xsl:choose>
[19895]227 </xsl:template>
[18595]228
229
[19895]230 <xsl:template name="preferencesButtonTop">
[18595]231 <xsl:choose>
232 <xsl:when test="$pageType='pref'">
233 <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></a></li>
234 </xsl:when>
235 <xsl:otherwise>
236 <li><a href="{$library_name}?a=p&amp;sa=pref&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_tip')"/></xsl:attribute>
237 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
238 </a></li>
239 </xsl:otherwise>
240 </xsl:choose>
[19895]241 </xsl:template>
[18595]242
[19895]243 <xsl:template name="servicesNavigationBar">
244 <xsl:for-each select="$this-element/serviceList/service">
245 <xsl:variable name="action"><xsl:choose>
246 <xsl:when test="@name=$this-service">CURRENT</xsl:when>
247 <xsl:when test="@type='query'">q</xsl:when>
248 <xsl:when test="@type='browse'">b</xsl:when>
249 <xsl:when test="@type='process'">pr</xsl:when>
250 <xsl:when test="@type='applet'">a</xsl:when>
251 <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
252 </xsl:choose></xsl:variable>
253 <xsl:choose>
254 <xsl:when test="$action='CURRENT'">
255 <li><a><xsl:value-of select="displayItem[@name='name']"/></a></li>
256 </xsl:when>
257 <xsl:when test="$action !='DO_NOT_DISPLAY'">
258 <li><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:if test="displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></a></li>
259 </xsl:when>
260 </xsl:choose>
261 </xsl:for-each>
262 </xsl:template>
[18595]263
264
[19895]265 <xsl:template name="collectionDescriptionTextAndServicesLinks">
266 <xsl:apply-templates select="pageResponse/collection|serviceCluster"/>
267 </xsl:template>
[18595]268
[19895]269 <xsl:template match="collection|serviceCluster">
270 <xsl:value-of select="displayItem[@name='description']" disable-output-escaping="yes"/>
271
272 <xsl:apply-templates select="serviceList">
273 <xsl:with-param name="collName" select="$collName"/>
274 </xsl:apply-templates>
275 </xsl:template>
[18595]276
277
[19895]278 <xsl:template match="serviceList">
[18595]279 <xsl:param name="collName"/>
280 <h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.services')"/></h3>
281 <xsl:choose>
282 <xsl:when test="service">
283 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.servicehelp')"/>
284 </xsl:when>
285 <xsl:otherwise>
286 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.noservices')"/>
287 </xsl:otherwise>
288 </xsl:choose>
289
[19895]290
[18595]291 <xsl:if test="service">
292 <ul id="servicelist">
293 <xsl:for-each select="service">
294 <xsl:variable name="action"><xsl:choose>
295 <xsl:when test="@type='query'">q</xsl:when>
296 <xsl:when test="@type='browse'">b</xsl:when>
297 <xsl:when test="@type='process'">pr</xsl:when>
298 <xsl:when test="@type='applet'">a</xsl:when>
299 <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
300 </xsl:choose></xsl:variable>
301 <xsl:if test="$action !='DO_NOT_DISPLAY'">
302 <li><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/></li>
303 </xsl:if>
304 </xsl:for-each>
305 </ul>
306 </xsl:if>
307 </xsl:template>
308
[19895]309</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.