source: main/trunk/greenstone3/web/interfaces/default/transform/pages/pref.xsl@ 33755

Last change on this file since 33755 was 33755, checked in by kjdon, 4 years ago

set the encoding to utf-8 for all the files

File size: 12.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gslib="http://www.greenstone.org/skinning"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util">
9
10 <!-- use the 'main' layout -->
11 <xsl:include href="layouts/main.xsl"/>
12
13 <!-- set page title -->
14 <xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></xsl:template>
15
16 <!-- set page breadcrumbs -->
17 <xsl:template name="breadcrumbs">
18 <gslib:siteLink/><gslib:rightArrow/>
19 <xsl:if test="/page/pageResponse/collection">
20 <gslib:collectionNameLinked/><gslib:rightArrow/>
21 </xsl:if>
22 </xsl:template>
23
24 <!-- the page content -->
25 <xsl:template match="/page">
26 <xsl:call-template name="prefs-javascript"/>
27 <xsl:variable name="collName" select="/page/pageRequest/paramList/param[@name='c']/@value"/>
28
29 <div id="queryform">
30 <form name="PrefForm" method="get" action="{$library_name}" id="prefform">
31
32 <input type='hidden' name='a' value='p'/>
33 <input type='hidden' name='sa' value='pref'/>
34 <input type='hidden' name='c' value="{$collName}"/>
35
36 <p id="SaveInstructions" style="color:red; text-align:center; display:none;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs_help')"/></p>
37 <xsl:call-template name="presentation-prefs"/>
38 <br/>
39
40 <input type='submit' onclick="bypass=true;"><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs')"/></xsl:attribute></input>
41
42 </form>
43 </div>
44
45 </xsl:template>
46 <xsl:template name="presentation-prefs">
47 <h3 class="formheading"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.prespref')"/></h3>
48 <div id="presprefs">
49 <xsl:call-template name="lang-param"/>
50 <!-- <xsl:call-template name="encoding-param"/>-->
51 <xsl:call-template name="format-edit-param"/>
52 <xsl:if test="/page/pageResponse/interfaceOptions/option[@name = 'berryBasket']/@value = 'true'">
53 <xsl:call-template name="berry-basket-param"/>
54 </xsl:if>
55 <xsl:if test="/page/pageResponse/interfaceOptions/option[@name = 'favouriteBasket']/@value = 'true'">
56 <xsl:call-template name="favourite-basket-param"/>
57 </xsl:if>
58 <!--<xsl:call-template name="document-maker-param"/> not working at moment-->
59 <xsl:call-template name="book-param"/>
60 <xsl:call-template name="theme-change-param"/>
61 </div>
62 </xsl:template>
63
64 <xsl:template name="prefs-javascript">
65 <!--
66 Add some javascript to the page that notices when a preference
67 is changed so that, if the user tries to navigate away from
68 the page without clicking the "Set preferences" button, it
69 gives a stay/leave dialog. -->
70 <script type="text/javascript"><xsl:text disable-output-escaping="yes">
71 var modified = false;
72 var bypass = false;
73
74 function unsavedChanges(e) {
75 if (modified &amp;&amp; !bypass) {
76 document.getElementById("SaveInstructions").style.display="block";
77 return "Provide the prompt";
78 }
79 // no return statement - no dialog will be shown
80 }
81
82 function changed()
83 {
84 modified = true;
85 bypass = false;
86 }
87
88 function pageLoad()
89 {
90 var formElem = document.getElementById("prefform");
91
92 var selectNodes = formElem.getElementsByTagName("select");
93 var inputNodes = formElem.getElementsByTagName("input");
94
95 YAHOO.util.Event.addListener(selectNodes, 'change', changed);
96
97 for(var i = 0; i &lt; inputNodes.length; i++)
98 {
99 current = inputNodes[i];
100 if(current.getAttribute("type") == null)
101 {
102 YAHOO.util.Event.on(current, 'keyup', changed);
103 }
104 }
105 }
106
107 YAHOO.util.Event.addListener(window, 'load', pageLoad);
108 $(window).bind("beforeunload", unsavedChanges);
109 </xsl:text></script>
110 </xsl:template>
111
112
113 <xsl:template name="lang-param">
114 <xsl:if test="/page/pageResponse/languageList/language">
115 <div class="paramLabel">
116 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.interfacelang')"/>
117 </div>
118 <div class="paramValue">
119 <select name="l">
120 <xsl:for-each select="/page/pageResponse/languageList/language">
121 <option value="{@name}"><xsl:if test="@name=/page/@lang"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option>
122 </xsl:for-each>
123 </select>
124
125 </div>
126 <br class="clear"/>
127 </xsl:if>
128 </xsl:template>
129
130
131 <xsl:template name="encoding-param">
132 <div class="paramValue">
133 <span class="rightspace"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.encoding')"/></span>
134 </div>
135 <br class="clear"/>
136
137 </xsl:template>
138
139
140 <xsl:template name="format-edit-param">
141 <xsl:if test="/page/pageResponse/collection/serviceList/service[@name='CoverageMetadataRetrieve']">
142 <div id="formateditprefs">
143 <xsl:variable name="formatedit"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='formatedit']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='formatedit']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
144 <div class="paramLabel">
145 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.formatedit')"/>
146 </div>
147 <div class="paramValue">
148 <select name="formatedit">
149 <option value="on"><xsl:if test="$formatedit='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.on')"/></option>
150 <option value="off"><xsl:if test="$formatedit='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.off')"/></option>
151 </select>
152 </div>
153 <br class="clear"/>
154 </div>
155 </xsl:if>
156</xsl:template>
157
158<xsl:template name="berry-basket-param">
159 <div id="berrybasketprefs">
160 <xsl:variable name="berrybasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='berrybasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='berrybasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
161 <div class="paramLabel">
162 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket')"/>
163 </div>
164 <div class="paramValue">
165 <select name="berrybasket">
166 <option value="on"><xsl:if test="$berrybasket='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.on')"/></option>
167 <option value="off"><xsl:if test="$berrybasket='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.off')"/></option>
168 </select>
169 </div>
170 <br class="clear"/>
171 </div>
172</xsl:template>
173
174
175<xsl:template name="favourite-basket-param">
176 <div id="favouritebasketprefs">
177 <xsl:variable name="favouritebasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='favouritebasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='favouritebasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
178 <div class="paramLabel">
179 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.favouritebasket')"/>
180 </div>
181 <div class="paramValue">
182 <select name="favouritebasket">
183 <option value="on"><xsl:if test="$favouritebasket='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.on')"/></option>
184 <option value="off"><xsl:if test="$favouritebasket='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.off')"/></option>
185 </select>
186 </div>
187 <br class="clear"/>
188 </div>
189</xsl:template>
190
191 <xsl:template name="document-maker-param">
192 <xsl:if test="/page/pageRequest/userInformation and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))">
193 <div id="documentmakerprefs">
194 <xsl:variable name="documentbasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='documentbasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='documentbasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
195 <div class="paramLabel"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.documentbasket')"/></div>
196 <div class="paramValue">
197 <select name="documentbasket">
198 <option value="on"><xsl:if test="$documentbasket='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.on')"/></option>
199 <option value="off"><xsl:if test="$documentbasket='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.off')"/></option>
200 </select>
201 </div>
202 <br class="clear"/>
203 </div>
204 </xsl:if>
205 </xsl:template>
206 <xsl:template name="book-param">
207 <!-- tidy (?) -->
208 <xsl:variable name="tidyoption"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='tidyoption']"/></xsl:variable>
209 <xsl:if test="$tidyoption='tidy'">
210 <xsl:variable name="book">
211 <xsl:choose>
212 <xsl:when test="/page/pageRequest/paramList/param[@name='book']">
213 <xsl:value-of select="/page/pageRequest/paramList/param[@name='book']/@value"/>
214 </xsl:when>
215 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.book']">
216 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.book']/@value"/>
217 </xsl:when>
218 <xsl:otherwise>off</xsl:otherwise>
219 </xsl:choose>
220 </xsl:variable>
221 <div class="paramLabel">
222 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.book')"/>
223 </div>
224 <div class="paramValue">
225 <select name="s1.book">
226 <option value="on"><xsl:if test="$book='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.on')"/></option>
227 <option value="off"><xsl:if test="$book='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.off')"/></option>
228 </select>
229 </div>
230 <br class="clear"/>
231 </xsl:if>
232 </xsl:template>
233 <xsl:template name="theme-change-param">
234 <!-- Theme Changer -->
235 <xsl:if test="/page/pageRequest/userInformation and util:contains(/page/pageRequest/userInformation/@groups, 'administrator')">
236 <div>
237 <div class="paramLabel"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.theme')"/></div>
238 <script type="text/javascript">
239 <xsl:text disable-output-escaping="yes">
240 $(document).ready(function(){
241 $("#switcher").themeswitcher({
242 imgpath: "interfaces/" + gs.xsltParams.interface_name + "/style/images/",
243 additionalThemes: [
244 {title:gs.text.pref.theme_default, name:"custom-theme0", icon:"theme_90_greenstone.png", url:"interfaces/" + gs.xsltParams.interface_name + "/style/themes/main/jquery-ui-1.8.16.custom.css"},
245 {title:gs.text.pref.theme_custom1, name:"custom-theme1", icon:"theme_90_start_menu.png", url:"interfaces/" + gs.xsltParams.interface_name + "/style/themes/alt_theme_1/jquery-ui-1.8.16.custom.css"},
246 {title: gs.text.pref.theme_custom2, name:"custom-theme2", icon:"theme_90_mint_choco.png", url:"interfaces/" + gs.xsltParams.interface_name + "/style/themes/alt_theme_2/jquery-ui-1.8.16.custom.css"},
247
248]
249 });
250 });
251 </xsl:text>
252 </script>
253 <div class="paramValue" id="switcher"><xsl:text> </xsl:text></div>
254 </div>
255 <br class="clear"/>
256 </xsl:if>
257</xsl:template>
258
259</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.