source: main/trunk/greenstone3/web/interfaces/default/transform/pages/authen.xsl@ 31070

Last change on this file since 31070 was 31070, checked in by kjdon, 7 years ago

added some helpful text about groups

  • Property svn:executable set to *
File size: 26.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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:gslib="http://www.greenstone.org/skinning"
6 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util">
9
10 <!-- use the 'main' layout -->
11 <xsl:import href="layouts/main.xsl"/>
12 <xsl:output method="html"/>
13
14 <!-- set page title -->
15 <xsl:template name="pageTitle">
16 <xsl:choose>
17 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
18 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user_title')"/>
19 </xsl:when>
20 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'">
21 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.register')"/>
22 </xsl:when>
23 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
24 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.edit_user_information')"/>
25 </xsl:when>
26 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
27 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_settings')"/>
28 </xsl:when>
29 <xsl:otherwise>
30 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/>
31 </xsl:otherwise>
32 </xsl:choose>
33 </xsl:template>
34
35 <!-- set page breadcrumbs -->
36 <xsl:template name="breadcrumbs">
37 <gslib:siteLink/><gslib:rightArrow/><a href="{$library_name}/admin/ListUsers"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/></a>
38 </xsl:template>
39
40 <xsl:template match="/page">
41 <xsl:if test="/page/pageResponse/error">
42 <div id="gs_error" class="ui-state-error ui-corner-all">
43 <span class="ui-icon ui-icon-alert" style="float: left;"><xsl:text> </xsl:text></span><xsl:value-of select="/page/pageResponse/error"/>
44 </div>
45 <br/>
46 </xsl:if>
47 <div id="main">
48 <xsl:choose>
49 <!-- ********** -->
50 <!-- LOGIN PAGE -->
51 <!-- ********** -->
52 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Login'">
53 <form method="POST" action="{$library_name}/admin/{/page/pageRequest/paramList/param[@name = 's1.authpage']/@value}">
54 <table id="loginTable">
55 <tr><td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/>: </td><td><input type="text" name="username"/></td></tr>
56 <tr><td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/>: </td><td><input type="password" name="password"/></td></tr>
57 <tr><td><input type="submit" value="Login"/></td><td><xsl:text> </xsl:text></td></tr>
58 </table>
59 </form>
60 <script type="text/javascript">
61 <xsl:text disable-output-escaping="yes">
62 {
63 $("#loginTable input[name=\"username\"]").focus();
64 }
65 </xsl:text>
66 </script>
67 </xsl:when>
68
69 <!-- *************** -->
70 <!-- LIST USERS PAGE -->
71 <!-- *************** -->
72 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'ListUsers'">
73 <table id="userListTable">
74 <tr class="ui-widget-header">
75 <td colspan="7"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_of_current_users_title')"/></td>
76 </tr>
77 <tr class="ui-state-default">
78 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></td>
79 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status')"/></td>
80 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/></td>
81 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/></td>
82 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/></td>
83 <td><xsl:text> </xsl:text></td>
84 <td><xsl:text> </xsl:text></td>
85 </tr>
86 <xsl:for-each select="/page/pageResponse/authenticationNode/service/userNodeList/userNode">
87 <tr class="ui-widget-content">
88 <td><xsl:value-of select="@username"/></td>
89 <td>
90 <xsl:choose>
91 <xsl:when test="@status = 'true'">
92 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/>
93 </xsl:when>
94 <xsl:otherwise>
95 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/>
96 </xsl:otherwise>
97 </xsl:choose>
98 </td>
99 <td><xsl:value-of select='util:replace(@groups, ",", " ")'/></td>
100 <td><xsl:value-of select="@comment"/></td>
101 <td><xsl:value-of select="@email"/></td>
102 <td><a href="{$library_name}/admin/EditUser?s1.username={@username}"><button><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.edit')"/></button></a></td>
103 <td>
104 <xsl:variable name="user-pos">username<xsl:number value="position()"/></xsl:variable>
105 <xsl:variable name="message-pos">confirmMessage<xsl:number value="position()"/></xsl:variable>
106 <form method="GET" action="{$library_name}/admin/PerformDeleteUser">
107 <input type="hidden" name="s1.username" value="{@username}"/>
108 <input id="delUser{@username}" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.delete')}"/>
109 <script type="text/javascript">
110 <xsl:text disable-output-escaping="yes">
111 {
112 var </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes"> = "</xsl:text><xsl:value-of select="@username"/><xsl:text disable-output-escaping="yes">";
113 var </xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes"> = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.delete_warning')"/><xsl:text disable-output-escaping="yes">" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes"> + "?";
114 var button = $("#delUser" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes">);
115 button.click(function()
116 {
117 if(confirm(</xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes">))
118 {
119 return true;
120 }
121 else
122 {
123 return false;
124 }
125 });
126 }
127 </xsl:text>
128 </script>
129 </form>
130 </td>
131 </tr>
132 </xsl:for-each>
133 </table>
134 <div id="auth_navbar">
135 <!-- Add User link-->
136 <span class="ui-state-default ui-corner-all">
137 <a href="{$library_name}/admin/AddUser"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user')"/></a>
138 </span>
139 </div>
140 </xsl:when>
141
142 <!-- ********************************* -->
143 <!-- EDIT USER / ACCOUNT SETTINGS PAGE -->
144 <!-- ********************************* -->
145 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser' or /page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
146 <form method="POST">
147 <xsl:attribute name="action">
148 <xsl:choose>
149 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
150 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformEdit</xsl:text>
151 </xsl:when>
152 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
153 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAccEdit</xsl:text>
154 </xsl:when>
155 </xsl:choose>
156 </xsl:attribute>
157 <input type="hidden" name="s1.prevUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/>
158 <table>
159 <tr>
160 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/><xsl:text>: </xsl:text></td>
161 <td>
162 <input type="text" name="s1.newUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/>
163 </td>
164 </tr>
165 <tr>
166 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/><xsl:text>: </xsl:text></td>
167 <td>
168 <input type="text" name="s1.newEmail" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@email}"/>
169 </td>
170 </tr>
171 <xsl:choose>
172 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
173 <tr>
174 <td id="passwordLabelCell">
175 <button id="changePasswordButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/>...</button>
176 <script type="text/javascript">
177 <xsl:text disable-output-escaping="yes">
178 var passwordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/><xsl:text disable-output-escaping="yes">";
179 var changePasswordButton = document.getElementById("changePasswordButton");
180 changePasswordButton.onclick = function()
181 {
182 changePasswordButton.parentNode.removeChild(changePasswordButton);
183
184 var passwordLabel = document.createTextNode(passwordLabelText + ": ");
185 document.getElementById("passwordLabelCell").appendChild(passwordLabel);
186
187 var passwordInput = document.createElement("INPUT");
188 passwordInput.setAttribute("name", "s1.password");
189 passwordInput.setAttribute("type", "password");
190 document.getElementById("passwordInputCell").appendChild(passwordInput);
191 }
192 </xsl:text>
193 </script>
194 </td>
195 <td id="passwordInputCell">
196 <xsl:text> </xsl:text>
197 </td>
198 </tr>
199 </xsl:when>
200 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
201 <tr>
202 <xsl:if test="not(/page/pageResponse/error/@type = 'Incorrect Password')">
203 <td><button id="changePasswordButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/>...</button></td>
204 <script type="text/javascript">
205 <xsl:text disable-output-escaping="yes">
206 var oldPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password')"/><xsl:text disable-output-escaping="yes">";
207 var newPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password')"/><xsl:text disable-output-escaping="yes">";
208 var rtNewPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/><xsl:text disable-output-escaping="yes">";
209
210 var changePasswordButton = document.getElementById("changePasswordButton");
211 changePasswordButton.onclick = function()
212 {
213 changePasswordButton.parentNode.removeChild(changePasswordButton);
214
215 var names = ["s1.oldPassword", "s1.newPassword", ""];
216 var ids = ["oldPassword", "passwordOne", "passwordTwo"];
217 var labels = [oldPasswordLabelText, newPasswordLabelText, rtNewPasswordLabelText];
218 var parents = ["oldPassword", "password", "retypePassword"];
219
220 for(var i = 0; i &lt; names.length; i++)
221 {
222 $("#" + parents[i] + "LabelCell").append(labels[i] + ": ");
223
224 var input = $("&lt;input&gt;");
225 input.attr("name", names[i]);
226 input.attr("type", "password");
227 input.attr("id", ids[i]);
228
229 $("#" + parents[i] + "InputCell").append(input);
230 }
231 }
232 </xsl:text>
233 </script>
234 </xsl:if>
235 </tr>
236
237 <xsl:choose>
238 <xsl:when test="not(/page/pageResponse/error/@type = 'Incorrect Password')">
239 <tr>
240 <td id="oldPasswordLabelCell"><xsl:text> </xsl:text></td>
241 <td id="oldPasswordInputCell"><xsl:text> </xsl:text></td>
242 </tr>
243 <tr>
244 <td id="passwordLabelCell"><xsl:text> </xsl:text></td>
245 <td id="passwordInputCell"><xsl:text> </xsl:text></td>
246 </tr>
247 <tr>
248 <td id="retypePasswordLabelCell"><xsl:text> </xsl:text></td>
249 <td id="retypePasswordInputCell"><xsl:text> </xsl:text></td>
250 </tr>
251 </xsl:when>
252 <xsl:otherwise>
253 <tr>
254 <td id="oldPasswordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password')"/></td>
255 <td id="oldPasswordInputCell"><input id="oldPassword" name="s1.oldPassword" type="password"/></td>
256 </tr>
257 <tr>
258 <td id="passwordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password')"/></td>
259 <td id="passwordInputCell"><input id="passwordOne" name="s1.newPassword" type="password"/></td>
260 </tr>
261 <tr>
262 <td id="retypePasswordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/></td>
263 <td id="retypePasswordInputCell"><input id="passwordTwo" type="password"/></td>
264 </tr>
265 </xsl:otherwise>
266 </xsl:choose>
267 </xsl:when>
268 </xsl:choose>
269 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
270 <tr>
271 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/><xsl:text>: </xsl:text></td>
272 <td>
273 <input id="groupsInput" size="50" type="text" name="s1.groups" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@groups}"/>
274 </td>
275 <td>
276 <select id="groupSelector">
277 <option>COLLNAME-collection-editor</option>
278 <option>personal-collections-editor</option>
279 <option>all-collections-editor</option>
280 <option>administrator</option>
281 </select>
282 </td>
283 <td>
284 <button id="addGroupButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_group')"/></button>
285 <script type="text/javascript">
286 <xsl:text disable-output-escaping="yes">
287 var addGroupButton = document.getElementById("addGroupButton");
288 addGroupButton.onclick = function()
289 {
290 var groupsInput = document.getElementById("groupsInput");
291 var groupSelector = document.getElementById("groupSelector");
292 var options = groupSelector.getElementsByTagName("OPTION");
293 var selectedGroup = options[groupSelector.selectedIndex].innerHTML;
294 var currentValue = groupsInput.value;
295
296 if(currentValue &amp;&amp; currentValue.search(/\w/) != -1)
297 {
298 groupsInput.value = currentValue + "," + selectedGroup;
299 }
300 else
301 {
302 groupsInput.value = selectedGroup;
303 }
304 return false;
305 }
306 </xsl:text>
307 </script>
308 </td>
309 </tr>
310 <tr><td colspan="4"><xsl:value-of select="util:getInterfaceText('default', /page/@lang, 'authen.group_desc')"/><ul><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.admin_desc')"/></li><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.all_coll_edit_desc')"/> </li> <li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.pers_coll_edit_desc')"/></li><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.single_coll_edit_desc')"/> </li></ul></td></tr>
311 <tr>
312 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/><xsl:text>: </xsl:text></td>
313 <td>
314 <textarea name="s1.comment" style="width:100%;"><xsl:value-of select="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@comment"/></textarea>
315 </td>
316 </tr>
317 <tr>
318 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.status')"/><xsl:text>: </xsl:text></td>
319 <td>
320 <input type="radio" name="s1.status" value="true">
321 <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'true'">
322 <xsl:attribute name="checked">true</xsl:attribute>
323 </xsl:if>
324 </input>
325 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/><xsl:text> </xsl:text>
326
327 <input type="radio" name="s1.status" value="false">
328 <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'false'">
329 <xsl:attribute name="checked">true</xsl:attribute>
330 </xsl:if>
331 </input>
332 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/><xsl:text> </xsl:text>
333 </td>
334 </tr>
335 </xsl:if>
336 <tr>
337 <td>
338 <input id="submitButton" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.submit')}"/>
339 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
340 <script type="text/javascript">
341 <xsl:text disable-output-escaping="yes">
342 $("#submitButton").click(function()
343 {
344 var passwordOne = $("#passwordOne");
345 var passwordTwo = $("#passwordTwo");
346
347 if(passwordOne.val() != passwordTwo.val())
348 {
349 alert("The passwords you have entered do not match");
350 return false;
351 }
352 else
353 {
354 return true;
355 }
356 });
357 </xsl:text>
358 </script>
359 </xsl:if>
360 </td>
361 </tr>
362 <!--<tr>
363 <td style="font-size:0.6em;"><a href="{$library_name}/admin/PerformResetPassword?s1.username={/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"><br/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.reset_password')"/>...</a></td>
364 </tr>-->
365 </table>
366 </form>
367 </xsl:when>
368
369 <!-- ************************ -->
370 <!-- ADD USER / REGISTER PAGE -->
371 <!-- ************************ -->
372 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser' or /page/pageResponse/authenticationNode/service/@operation = 'Register'">
373 <div id="errorArea"><xsl:text> </xsl:text></div>
374 <form method="POST">
375 <xsl:attribute name="action">
376 <xsl:choose>
377 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
378 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAdd</xsl:text>
379 </xsl:when>
380 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'">
381 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformRegister</xsl:text>
382 </xsl:when>
383 </xsl:choose>
384 </xsl:attribute>
385 <table>
386 <tr>
387 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/><xsl:text>: </xsl:text></td>
388 <td>
389 <input type="text" name="s1.username"/>
390 </td>
391 </tr>
392 <tr>
393 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/><xsl:text>: </xsl:text></td>
394 <td>
395 <input id="passwordOne" type="password" name="s1.password"/>
396 </td>
397 </tr>
398 <tr>
399 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/><xsl:text>: </xsl:text></td>
400 <td>
401 <input id="passwordTwo" type="password"/>
402 </td>
403 </tr>
404 <tr>
405 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/><xsl:text>: </xsl:text></td>
406 <td>
407 <input type="text" name="s1.email"/>
408 </td>
409 </tr>
410 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
411 <tr>
412 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/><xsl:text>: </xsl:text></td>
413 <td>
414 <input id="groupsInput" size="50" type="text" name="s1.groups"/>
415 </td>
416 <td>
417 <select id="groupSelector">
418 <option>personal-collections-editor</option>
419 <option>all-collections-editor</option>
420 <option>administrator</option>
421 </select>
422 </td>
423 <td>
424 <button id="addGroupButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_group')"/></button>
425 <script type="text/javascript">
426 <xsl:text disable-output-escaping="yes">
427 var addGroupButton = document.getElementById("addGroupButton");
428 addGroupButton.onclick = function()
429 {
430 var groupsInput = document.getElementById("groupsInput");
431 var groupSelector = document.getElementById("groupSelector");
432 var options = groupSelector.getElementsByTagName("OPTION");
433 var selectedGroup = options[groupSelector.selectedIndex].innerHTML;
434 var currentValue = groupsInput.value;
435
436 if(currentValue &amp;&amp; currentValue.search(/\w/) != -1)
437 {
438 groupsInput.value = currentValue + "," + selectedGroup;
439 }
440 else
441 {
442 groupsInput.value = selectedGroup;
443 }
444 return false;
445 }
446 </xsl:text>
447 </script>
448 </td>
449 </tr>
450 <tr>
451 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/><xsl:text>: </xsl:text></td>
452 <td>
453 <textarea name="s1.comment" style="width:100%;"><xsl:text> </xsl:text></textarea>
454 </td>
455 </tr>
456 <tr>
457 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.status')"/><xsl:text>: </xsl:text></td>
458 <td>
459 <input type="radio" name="s1.status" value="true" checked="true"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/><xsl:text> </xsl:text>
460 <input type="radio" name="s1.status" value="false"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/><xsl:text> </xsl:text>
461 </td>
462 </tr>
463 </xsl:if>
464 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'Register' and /page/pageResponse/recaptcha/@privateKey and /page/pageResponse/recaptcha/@publicKey">
465 <tr>
466 <td colspan="2" id="recaptchaArea">
467 <xsl:value-of disable-output-escaping="yes" select="util:reCAPTCHAimage(/page/pageResponse/recaptcha/@publicKey, /page/pageResponse/recaptcha/@privateKey)"/>
468 </td>
469 <script type="text/javascript">
470 <xsl:text disable-output-escaping="yes">
471 function changeParams()
472 {
473 $("#recaptcha_challenge_field").attr("name", "s1.recaptcha_challenge_field");
474 $("#recaptcha_response_field").attr("name", "s1.recaptcha_response_field");
475 }
476 $(window).load(changeParams);
477
478 function checkreCaptchaError()
479 {
480 var html = $("#recaptchaArea").html();
481 if(html.search(/Invalid referer/g) != -1)
482 {
483 $("#recaptchaArea").html("");
484 $("#errorArea").html("The reCAPTCHA key used in the siteconfig.xml file for this site is invalid for this domain name. Please contact your collection administrator.");
485 $("#errorArea").attr("class", "ui-state-error ui-corner-all");
486 }
487 }
488 $(window).load(checkreCaptchaError);
489 </xsl:text>
490 </script>
491 </tr>
492 </xsl:if>
493 <tr>
494 <td>
495 <input id="submitButton" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.submit')}"/>
496 <script type="text/javascript">
497 <xsl:text disable-output-escaping="yes">
498 $("#submitButton").click(function()
499 {
500 var passwordOne = $("#passwordOne");
501 var passwordTwo = $("#passwordTwo");
502
503 if(passwordOne.val() != passwordTwo.val())
504 {
505 alert("The passwords you have entered do not match");
506 return false;
507 }
508 else
509 {
510 return true;
511 }
512 });
513 </xsl:text>
514 </script>
515 </td>
516 </tr>
517 </table>
518 </form>
519 </xsl:when>
520
521 <!-- ********************** -->
522 <!-- REGISTER RESPONSE PAGE -->
523 <!-- ********************** -->
524 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'PerformRegister'">
525 <xsl:choose>
526 <xsl:when test="/page/pageResponse/error">
527 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.error_failed_to_add')"/>
528 </xsl:when>
529 <xsl:otherwise>
530 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.user_added_success')"/>
531 <meta http-equiv="refresh" content="2; url={/page/pageRequest/@baseURL}{$library_name}"/>
532 </xsl:otherwise>
533 </xsl:choose>
534 </xsl:when>
535
536 <xsl:otherwise>
537 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.page_not_found')"/>
538 </xsl:otherwise>
539 </xsl:choose>
540 </div>
541 </xsl:template>
542
543</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.