Show
Ignore:
Timestamp:
23.03.2012 16:32:03 (8 years ago)
Author:
sjm84
Message:

Completely reworked the xslt for the administration pages

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/transform/pages/authen.xsl

    r25123 r25275  
    77    extension-element-prefixes="java util" 
    88    exclude-result-prefixes="java util"> 
    9    
    10     <!-- use the 'main' layout --> 
     9     
     10    <!-- use the 'main' layout --> 
    1111    <xsl:import href="layouts/main.xsl"/> 
    1212    <xsl:output method="html"/> 
    1313     
    1414    <!-- set page title --> 
    15     <xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/></xsl:template> 
     15    <xsl:template name="pageTitle"> 
     16        <xsl:choose> 
     17            <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'"> 
     18                <xsl:text>Add a new user</xsl:text> 
     19            </xsl:when> 
     20            <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'"> 
     21                <xsl:text>Register</xsl:text> 
     22            </xsl:when> 
     23            <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'"> 
     24                <xsl:text>Edit user</xsl:text> 
     25            </xsl:when> 
     26            <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'"> 
     27                <xsl:text>Account settings</xsl:text> 
     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> 
    1634 
    1735    <!-- set page breadcrumbs --> 
    1836    <xsl:template name="breadcrumbs"> 
    19         <gslib:siteLink/><gslib:rightArrow/>  
     37        <gslib:siteLink/><gslib:rightArrow/><a href="{$library_name}/admin/ListUsers"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/></a> 
    2038    </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>Username: </td><td><input type="text" name="username"/></td></tr> 
     56                            <tr><td>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                </xsl:when> 
    2161 
    22     <xsl:template match="/page"> 
    23         <xsl:call-template name="addGroup" /> 
    24         <xsl:variable name="authen_service" select="/page/pageRequest/paramList/param[@name='s']/@value"/> 
    25         <xsl:variable name="sub_action" select="/page/pageRequest/@subaction"/> 
    26         <xsl:variable name="asn_param" select ="/page/pageRequest/paramList/param[@name='s1.asn']/@value"/> 
    27         <xsl:variable name="uan" select ="/page/pageRequest/paramList/param[@name='s1.uan']/@value"/> 
    28         <xsl:variable name="pro_action" select ="/page/pageResponse/authenticationNode/service/@aup"/> 
    29         <xsl:variable name="au_node" select ="/page/pageResponse/authenticationNode"/> 
    30         <xsl:variable name="asn" select ="/page/pageResponse/authenticationNode/service/@asn"/> 
    31         <xsl:variable name="info" select ="/page/pageResponse/authenticationNode/service/@info"/> 
    32         <xsl:variable name="err" select ="/page/pageResponse/authenticationNode/service/@err"/> 
    33         <xsl:variable name="rt" select="/page/pageRequest/paramList/param[@name='rt']/@value"/> 
    34         <xsl:variable name="un_s" select="/page/pageResponse/authenticationNode/service/@un"/> 
    35         <xsl:variable name="pw_s" select="/page/pageResponse/authenticationNode/service/@pw"/> 
     62                <!-- *************** --> 
     63                <!-- LIST USERS PAGE --> 
     64                <!-- *************** --> 
     65                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'ListUsers'"> 
     66                    <table id="userListTable"> 
     67                        <tr class="ui-widget-header"> 
     68                            <td colspan="7"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_of_current_users_title')"/></td> 
     69                        </tr> 
     70                        <tr class="ui-state-default"> 
     71                            <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></td> 
     72                            <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status')"/></td> 
     73                            <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/></td> 
     74                            <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/></td> 
     75                            <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/></td> 
     76                            <td><xsl:text> </xsl:text></td> 
     77                            <td><xsl:text> </xsl:text></td> 
     78                        </tr> 
     79                        <xsl:for-each select="/page/pageResponse/authenticationNode/service/userNodeList/userNode"> 
     80                            <tr class="ui-widget-content"> 
     81                                <td><xsl:value-of select="@username"/></td> 
     82                                <td> 
     83                                    <xsl:choose> 
     84                                        <xsl:when test="@status = 'true'"> 
     85                                            <xsl:text>enabled</xsl:text> 
     86                                        </xsl:when> 
     87                                        <xsl:otherwise> 
     88                                            <xsl:text>disabled</xsl:text> 
     89                                        </xsl:otherwise> 
     90                                    </xsl:choose> 
     91                                </td> 
     92                                <td><xsl:value-of select='util:replace(@groups, ",", " ")'/></td> 
     93                                <td><xsl:value-of select="@comment"/></td> 
     94                                <td><xsl:value-of select="@email"/></td> 
     95                                <td><a href="{$library_name}/admin/EditUser?s1.username={@username}"><button>Edit</button></a></td> 
     96                                <td><a href="{$library_name}/admin/PerformDeleteUser?s1.username={@username}"><button>Delete</button></a></td> 
     97                            </tr> 
     98                        </xsl:for-each> 
     99                    </table> 
     100                    <div id="auth_navbar"> 
     101                        <!-- Add User link--> 
     102                        <span class="ui-state-default ui-corner-all"> 
     103                            <a href="{$library_name}/admin/AddUser"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user')"/></a> 
     104                        </span> 
     105                    </div> 
     106                </xsl:when> 
    36107 
    37         <div id="navbar"> 
    38             <table style="margin:auto;"><tr> 
    39  
    40                 <!--list users--> 
    41                 <td style="padding-left:2em; padding-right:2em;"> 
     108                <!-- ********************************* --> 
     109                <!-- EDIT USER / ACCOUNT SETTINGS PAGE --> 
     110                <!-- ********************************* --> 
     111                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser' or /page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'"> 
     112                    <form method="POST"> 
     113                        <xsl:attribute name="action"> 
     114                            <xsl:choose> 
     115                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'"> 
     116                                    <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformEdit</xsl:text> 
     117                                </xsl:when> 
     118                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'"> 
     119                                    <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAccEdit</xsl:text> 
     120                                </xsl:when> 
     121                            </xsl:choose> 
     122                        </xsl:attribute> 
     123                        <input type="hidden" name="s1.prevUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/> 
     124                        <table> 
     125                            <tr> 
     126                                <td><xsl:text>Username: </xsl:text></td> 
     127                                <td> 
     128                                    <input type="text" name="s1.newUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/> 
     129                                </td> 
     130                            </tr> 
     131                            <xsl:choose> 
     132                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'"> 
     133                                    <tr> 
     134                                        <td id="passwordLabelCell"> 
     135                                            <button id="changePasswordButton">Change Password...</button> 
     136                                            <script type="text/javascript"> 
     137                                                <xsl:text disable-output-escaping="yes"> 
     138                                                    var changePasswordButton = document.getElementById("changePasswordButton"); 
     139                                                    changePasswordButton.onclick = function() 
     140                                                    { 
     141                                                        changePasswordButton.parentNode.removeChild(changePasswordButton); 
     142                                                         
     143                                                        var passwordLabel = document.createTextNode("Password: "); 
     144                                                        document.getElementById("passwordLabelCell").appendChild(passwordLabel); 
     145                                                         
     146                                                        var passwordInput = document.createElement("INPUT"); 
     147                                                        passwordInput.setAttribute("name", "s1.password"); 
     148                                                        passwordInput.setAttribute("type", "password"); 
     149                                                        document.getElementById("passwordInputCell").appendChild(passwordInput); 
     150                                                    } 
     151                                                </xsl:text> 
     152                                            </script> 
     153                                        </td> 
     154                                        <td id="passwordInputCell"> 
     155                                            <xsl:text> </xsl:text> 
     156                                        </td> 
     157                                    </tr> 
     158                                </xsl:when> 
     159                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'"> 
     160                                    <tr> 
     161                                        <td><button id="changePasswordButton">Change Password...</button></td> 
     162                                        <script type="text/javascript"> 
     163                                            <xsl:text disable-output-escaping="yes"> 
     164                                                var changePasswordButton = document.getElementById("changePasswordButton"); 
     165                                                changePasswordButton.onclick = function() 
     166                                                { 
     167                                                    changePasswordButton.parentNode.removeChild(changePasswordButton); 
     168                                                     
     169                                                    var names = ["s1.oldPassword", "s1.newPassword", ""]; 
     170                                                    var ids = ["oldPassword", "passwordOne", "passwordTwo"]; 
     171                                                    var labels = ["Old password: ", "New password: ", "Retype new password: "]; 
     172                                                    var parents = ["oldPassword", "password", "retypePassword"]; 
     173                                                     
     174                                                    for(var i = 0; i &lt; names.length; i++) 
     175                                                    { 
     176                                                        $("#" + parents[i] + "LabelCell").append(labels[i]); 
     177                                                         
     178                                                        var input = $("&lt;input&gt;"); 
     179                                                        input.attr("name", names[i]); 
     180                                                        input.attr("type", "password"); 
     181                                                        input.attr("id", ids[i]); 
     182                                                         
     183                                                        $("#" + parents[i] + "InputCell").append(input); 
     184                                                    } 
     185                                                } 
     186                                            </xsl:text> 
     187                                        </script> 
     188                                    </tr> 
     189                                    <tr> 
     190                                        <td id="oldPasswordLabelCell"><xsl:text> </xsl:text></td> 
     191                                        <td id="oldPasswordInputCell"><xsl:text> </xsl:text></td> 
     192                                    </tr> 
     193                                    <tr> 
     194                                        <td id="passwordLabelCell"><xsl:text> </xsl:text></td> 
     195                                        <td id="passwordInputCell"><xsl:text> </xsl:text></td> 
     196                                    </tr> 
     197                                    <tr> 
     198                                        <td id="retypePasswordLabelCell"><xsl:text> </xsl:text></td> 
     199                                        <td id="retypePasswordInputCell"><xsl:text> </xsl:text></td> 
     200                                    </tr> 
     201                                </xsl:when> 
     202                            </xsl:choose>                        
     203                            <tr> 
     204                                <td><xsl:text>Email address: </xsl:text></td> 
     205                                <td> 
     206                                    <input type="text" name="s1.newEmail" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@email}"/> 
     207                                </td> 
     208                            </tr> 
     209                            <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'"> 
     210                                <tr> 
     211                                    <td><xsl:text>Groups: </xsl:text></td> 
     212                                    <td> 
     213                                        <input id="groupsInput" size="50" type="text" name="s1.groups" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@groups}"/> 
     214                                    </td> 
     215                                    <td> 
     216                                        <select id="groupSelector"> 
     217                                            <option>administrator</option> 
     218                                            <option>all-collections-editor</option> 
     219                                            <option>personal-collections-editor</option> 
     220                                        </select> 
     221                                    </td> 
     222                                    <td> 
     223                                        <button id="addGroupButton">Add Group</button> 
     224                                        <script type="text/javascript"> 
     225                                            <xsl:text disable-output-escaping="yes"> 
     226                                                var addGroupButton = document.getElementById("addGroupButton"); 
     227                                                addGroupButton.onclick = function() 
     228                                                { 
     229                                                    var groupsInput = document.getElementById("groupsInput"); 
     230                                                    var groupSelector = document.getElementById("groupSelector"); 
     231                                                    var options = groupSelector.getElementsByTagName("OPTION"); 
     232                                                    var selectedGroup = options[groupSelector.selectedIndex].innerHTML; 
     233                                                    var currentValue = groupsInput.value; 
     234                                                     
     235                                                    if(currentValue &amp;&amp; currentValue.search(/\w/) != -1) 
     236                                                    { 
     237                                                        groupsInput.value = currentValue + "," + selectedGroup; 
     238                                                    } 
     239                                                    else 
     240                                                    { 
     241                                                        groupsInput.value = selectedGroup; 
     242                                                    } 
     243                                                    return false; 
     244                                                } 
     245                                            </xsl:text> 
     246                                        </script> 
     247                                    </td> 
     248                                </tr> 
     249                                <tr> 
     250                                    <td><xsl:text>Comment: </xsl:text></td> 
     251                                    <td> 
     252                                        <textarea name="s1.comment" style="width:100%;"><xsl:value-of select="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@comment"/></textarea> 
     253                                    </td> 
     254                                </tr> 
     255                                <tr> 
     256                                    <td><xsl:text>Status: </xsl:text></td> 
     257                                    <td> 
     258                                        <input type="radio" name="s1.status" value="true"> 
     259                                            <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'true'"> 
     260                                                <xsl:attribute name="checked">true</xsl:attribute> 
     261                                            </xsl:if> 
     262                                        </input> 
     263                                        <xsl:text>Enabled </xsl:text> 
     264                                         
     265                                        <input type="radio" name="s1.status" value="false"> 
     266                                            <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'false'"> 
     267                                                <xsl:attribute name="checked">true</xsl:attribute> 
     268                                            </xsl:if> 
     269                                        </input> 
     270                                        <xsl:text>Disabled </xsl:text> 
     271                                    </td> 
     272                                </tr> 
     273                            </xsl:if> 
     274                            <tr> 
     275                                <td> 
     276                                    <input id="submitButton" type="submit" value="Submit"/> 
     277                                    <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'"> 
     278                                        <script type="text/javascript"> 
     279                                            <xsl:text disable-output-escaping="yes"> 
     280                                                $("#submitButton").click(function() 
     281                                                { 
     282                                                    var passwordOne = $("#passwordOne"); 
     283                                                    var passwordTwo = $("#passwordTwo"); 
     284                                                     
     285                                                    if(passwordOne.val() != passwordTwo.val()) 
     286                                                    { 
     287                                                        alert("The passwords you have entered do not match"); 
     288                                                        return false; 
     289                                                    } 
     290                                                    else 
     291                                                    { 
     292                                                        return true; 
     293                                                    } 
     294                                                }); 
     295                                            </xsl:text> 
     296                                        </script> 
     297                                    </xsl:if> 
     298                                </td> 
     299                            </tr> 
     300                            <tr> 
     301                                <td style="font-size:0.6em;"><a href="{$library_name}/admin/PerformResetPassword?s1.username={/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"><br/>Reset Password...</a></td> 
     302                            </tr> 
     303                        </table> 
     304                    </form> 
     305                </xsl:when> 
     306                 
     307                <!-- ************************ --> 
     308                <!-- ADD USER / REGISTER PAGE --> 
     309                <!-- ************************ --> 
     310                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser' or /page/pageResponse/authenticationNode/service/@operation = 'Register'"> 
     311                    <form method="POST"> 
     312                        <xsl:attribute name="action"> 
     313                            <xsl:choose> 
     314                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'"> 
     315                                    <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAdd</xsl:text> 
     316                                </xsl:when> 
     317                                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'"> 
     318                                    <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformRegister</xsl:text> 
     319                                </xsl:when> 
     320                            </xsl:choose> 
     321                        </xsl:attribute> 
     322                        <table> 
     323                            <tr> 
     324                                <td><xsl:text>Username: </xsl:text></td> 
     325                                <td> 
     326                                    <input type="text" name="s1.username"/> 
     327                                </td> 
     328                            </tr> 
     329                            <tr> 
     330                                <td><xsl:text>Password: </xsl:text></td> 
     331                                <td> 
     332                                    <input id="passwordOne" type="password" name="s1.password"/> 
     333                                </td> 
     334                            </tr> 
     335                            <tr> 
     336                                <td><xsl:text>Retype password: </xsl:text></td> 
     337                                <td> 
     338                                    <input id="passwordTwo" type="password"/> 
     339                                </td> 
     340                            </tr> 
     341                            <tr> 
     342                                <td><xsl:text>Email address: </xsl:text></td> 
     343                                <td> 
     344                                    <input type="text" name="s1.email"/> 
     345                                </td> 
     346                            </tr> 
     347                            <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'"> 
     348                                <tr> 
     349                                    <td><xsl:text>Groups: </xsl:text></td> 
     350                                    <td> 
     351                                        <input id="groupsInput" size="50" type="text" name="s1.groups"/> 
     352                                    </td> 
     353                                    <td> 
     354                                        <select id="groupSelector"> 
     355                                            <option>administrator</option> 
     356                                            <option>all-collections-editor</option> 
     357                                            <option>personal-collections-editor</option> 
     358                                        </select> 
     359                                    </td> 
     360                                    <td> 
     361                                        <button id="addGroupButton">Add Group</button> 
     362                                        <script type="text/javascript"> 
     363                                            <xsl:text disable-output-escaping="yes"> 
     364                                                var addGroupButton = document.getElementById("addGroupButton"); 
     365                                                addGroupButton.onclick = function() 
     366                                                { 
     367                                                    var groupsInput = document.getElementById("groupsInput"); 
     368                                                    var groupSelector = document.getElementById("groupSelector"); 
     369                                                    var options = groupSelector.getElementsByTagName("OPTION"); 
     370                                                    var selectedGroup = options[groupSelector.selectedIndex].innerHTML; 
     371                                                    var currentValue = groupsInput.getAttribute("value"); 
     372                                                     
     373                                                    if(currentValue &amp;&amp; currentValue.search(/\w/) != -1) 
     374                                                    { 
     375                                                        groupsInput.setAttribute("value", currentValue + "," + selectedGroup); 
     376                                                    } 
     377                                                    else 
     378                                                    { 
     379                                                        groupsInput.setAttribute("value", selectedGroup); 
     380                                                    } 
     381                                                    return false; 
     382                                                } 
     383                                            </xsl:text> 
     384                                        </script> 
     385                                    </td> 
     386                                </tr> 
     387                                <tr> 
     388                                    <td><xsl:text>Comment: </xsl:text></td> 
     389                                    <td> 
     390                                        <textarea name="s1.comment" style="width:100%;"><xsl:text> </xsl:text></textarea> 
     391                                    </td> 
     392                                </tr> 
     393                                <tr> 
     394                                    <td><xsl:text>Status: </xsl:text></td> 
     395                                    <td> 
     396                                        <input type="radio" name="s1.status" value="true" checked="true"/><xsl:text>Enabled </xsl:text> 
     397                                        <input type="radio" name="s1.status" value="false"/><xsl:text>Disabled </xsl:text> 
     398                                    </td> 
     399                                </tr> 
     400                            </xsl:if> 
     401                            <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'Register'"> 
     402                                <tr> 
     403                                    <td colspan="2"> 
     404                                        <xsl:value-of disable-output-escaping="yes" select="util:reCAPTCHAimage()"/> 
     405                                    </td> 
     406                                    <script type="text/javascript"> 
     407                                        <xsl:text disable-output-escaping="yes"> 
     408                                            function changeParams() 
     409                                            { 
     410                                                $("#recaptcha_challenge_field").attr("name", "s1.recaptcha_challenge_field"); 
     411                                                $("#recaptcha_response_field").attr("name", "s1.recaptcha_response_field"); 
     412                                            } 
     413                                            $(window).load(changeParams()); 
     414                                        </xsl:text> 
     415                                    </script> 
     416                                </tr> 
     417                            </xsl:if> 
     418                            <tr> 
     419                                <td> 
     420                                    <input id="submitButton" type="submit" value="Submit"/> 
     421                                    <script type="text/javascript"> 
     422                                        <xsl:text disable-output-escaping="yes"> 
     423                                            $("#submitButton").click(function() 
     424                                            { 
     425                                                var passwordOne = $("#passwordOne"); 
     426                                                var passwordTwo = $("#passwordTwo"); 
     427                                                 
     428                                                if(passwordOne.val() != passwordTwo.val()) 
     429                                                { 
     430                                                    alert("The passwords you have entered do not match"); 
     431                                                    return false; 
     432                                                } 
     433                                                else 
     434                                                { 
     435                                                    return true; 
     436                                                } 
     437                                            }); 
     438                                        </xsl:text> 
     439                                    </script> 
     440                                </td> 
     441                            </tr> 
     442                        </table> 
     443                    </form> 
     444                </xsl:when> 
     445                 
     446                <!-- ********************** --> 
     447                <!-- REGISTER RESPONSE PAGE --> 
     448                <!-- ********************** --> 
     449                <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'PerformRegister'"> 
    42450                    <xsl:choose> 
    43                         <xsl:when test="$asn!='' and $asn!='0' and $un_s!=''"> 
    44                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.aup=ListUsers&amp;s1.asn={$asn}&amp;s1.uan=1&amp;s1.un={$un_s}&amp;s1.pw="><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_users')"/></a> 
     451                        <xsl:when test="/page/pageResponse/error"> 
     452                            <xsl:text>Error: Failed to add user</xsl:text> 
    45453                        </xsl:when> 
    46454                        <xsl:otherwise> 
    47                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.asn=&amp;s1.aup=Login"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_users')"/></a> 
     455                            <xsl:text>User added successfully</xsl:text> 
     456                            <meta http-equiv="refresh" content="2; url={/page/pageRequest/@baseURL}{$library_name}"/>  
    48457                        </xsl:otherwise> 
    49458                    </xsl:choose> 
    50                 </td> 
    51    
    52                 <!--add a new user--> 
    53                 <td style="padding-left:2em; padding-right:2em;"> 
    54                     <xsl:choose> 
    55                         <xsl:when test="$asn!='' and $asn!='0' and $un_s!=''"> 
    56                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.aup=AddUser&amp;s1.asn={$asn}&amp;s1.uan=1&amp;s1.un={$un_s}&amp;s1.pw=&amp;s1.umun=&amp;s1.umpw=&amp;s1.umgp=&amp;s1.umas=&amp;s1.umc="><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user')"/></a>  
    57                         </xsl:when> 
    58                         <xsl:otherwise> 
    59                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.asn=&amp;s1.aup=Login"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user')"/></a> 
    60                         </xsl:otherwise> 
    61                     </xsl:choose> 
    62                 </td> 
    63    
    64                 <!-- change password--> 
    65                 <td style="padding-left:2em; padding-right:2em;"> 
    66                     <xsl:choose> 
    67                         <xsl:when test="$asn!='' and $asn!='0' and $un_s!=''"> 
    68                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.aup=ModifyPassword&amp;s1.asn={$asn}&amp;s1.uan=1&amp;s1.un={$un_s}&amp;s1.pw=&amp;s1.umpw1=&amp;s1.umpw2=&amp;s1.umpw="><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/></a> 
    69                         </xsl:when> 
    70                         <xsl:otherwise> 
    71                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.asn=&amp;s1.aup=Login"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/></a> 
    72                         </xsl:otherwise> 
    73                     </xsl:choose> 
    74                 </td> 
    75  
    76                 <td style="padding-left:2em; padding-right:2em;"> 
    77                     <xsl:choose> 
    78                         <xsl:when test="$un_s!='' and $asn!='' and $asn!='0'"> 
    79                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.asn=&amp;s1.aup=Login&amp;s1.un=&amp;s1.pw="><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.logout')"/></a> 
    80                         </xsl:when> 
    81                         <xsl:otherwise> 
    82                             <a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s=Authentication&amp;s1.asn=&amp;s1.aup=Login"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.login')"/></a> 
    83                         </xsl:otherwise> 
    84                     </xsl:choose> 
    85                 </td> 
    86             </tr></table> 
    87         </div> 
    88  
    89         <table style="text-align:left; width:100%;"> 
    90             <tr> 
    91                 <td> 
    92                     <div id="content" style="text-align:center"> 
    93  
    94                         <!-- login --> 
    95                         <xsl:if test="$pro_action='Login'"> 
    96                             <xsl:choose> 
    97                                 <xsl:when test="$asn!='' and $asn!='0'"> 
    98                                     <p style="text-align:left;"> <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.login_successfully')"/></p> 
    99                                 </xsl:when> 
    100                                 <xsl:otherwise> 
    101                                     <p style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.login_descibe_line_3')"/><br/></p> 
    102                                     <xsl:if test="$err='un-pw-err'"> 
    103                                         <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.wrong_password_warning')"/></p> 
    104                                     </xsl:if> 
    105                                     <xsl:if test="$err='no-permission' and $info='Login'"> 
    106                                         <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.no_permission')"/></p> 
    107                                     </xsl:if> 
    108                                     <xsl:if test="$err='as-false'"> 
    109                                         <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status_false')"/></p> 
    110                                     </xsl:if> 
    111                                     <xsl:call-template name="login"> 
    112                                         <xsl:with-param name="sub_action" select="$sub_action"/> 
    113                                         <xsl:with-param name="authen_service" select="$authen_service"/> 
    114                                         <xsl:with-param name="pro_action" select="$pro_action"/>     
    115                                     </xsl:call-template> 
    116                                 </xsl:otherwise> 
    117                             </xsl:choose> 
    118                         </xsl:if> 
    119  
    120                         <!-- list users--> 
    121                         <xsl:if test="$pro_action='ListUsers'"> 
    122                             <xsl:if test="$asn='1' and $info='all-un'"> 
    123                                 <xsl:call-template name="listusers"/> 
    124                             </xsl:if> 
    125  
    126                             <xsl:if test="$info='Login'"> 
    127                                 <p style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.login_descibe_line_2')"/><br/></p> 
    128                                 <xsl:if test="$err='no-permission' and $info='Login'"> 
    129                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.no_permission')"/></p> 
    130                                 </xsl:if> 
    131                             </xsl:if> 
    132                         </xsl:if> 
    133  
    134                         <!-- add a new user--> 
    135                         <xsl:if test="$pro_action='AddUser'">  
    136                             <xsl:if test="$err!='' and $err!='no-permission' and $err!='un-exist' and $err!='un-err' and $err!='pw-err'"> 
    137                                 <p style="text-align:left; color:red;"><xsl:value-of select="$err" /></p> 
    138                             </xsl:if> 
    139  
    140                             <xsl:if test="$asn!='1'"> 
    141                                 <p style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.login_descibe_line_2')"/><br/></p> 
    142                                 <xsl:if test="$err='no-permission'"> 
    143                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.no_permission')"/></p> 
    144                                 </xsl:if> 
    145                             </xsl:if> 
    146          
    147                             <xsl:if test="count(/page/pageResponse/authenticationNode/service/userNodeList) = 1"> 
    148                                 <xsl:call-template name="listusers" /> 
    149                             </xsl:if> 
    150      
    151                             <xsl:if test="$info='adduser_interface'"> 
    152                                 <h2 style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user_title')"/></h2> 
    153                                 <xsl:if test="$err='pw-err'"> 
    154                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password_err')"/></p> 
    155                                 </xsl:if>    
    156                                 <xsl:if test="$err='un-err'"> 
    157                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.unsername_err')"/></p> 
    158                                 </xsl:if>    
    159                                 <xsl:if test="$err='un-exist'"> 
    160                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.user_has_existed')"/></p> 
    161                                 </xsl:if> 
    162                                 <xsl:call-template name="edituser" > 
    163                                     <xsl:with-param name="sub_action" select="$sub_action"/> 
    164                                     <xsl:with-param name="authen_service" select="$authen_service"/> 
    165                                     <xsl:with-param name="pro_action" select="$pro_action"/> 
    166                                     <xsl:with-param name="umun_s" /> 
    167                                     <xsl:with-param name="umpw_s" /> 
    168                                     <xsl:with-param name="umas_s" /> 
    169                                     <xsl:with-param name="umgp_s" /> 
    170                                     <xsl:with-param name="umc_s" /> 
    171                                     <xsl:with-param name="oumun_s" /> 
    172                                     <xsl:with-param name="un_s" select="$un_s"/> 
    173                                     <xsl:with-param name="pw_s" select="$pw_s"/> 
    174                                     <xsl:with-param name="asn" select="$asn"/> 
    175                                 </xsl:call-template> 
    176                             </xsl:if> 
    177                         </xsl:if> 
    178  
    179                         <!-- modify the passwrod of a user--> 
    180                         <xsl:if test="$pro_action='ModifyPassword'"> 
    181                             <xsl:if test="$err!='' and $err!='umpw1-err' and $err!='umpw2-err' and $err!='pw-umpw-nm-err' and $err!='umpw-null-err' and $err!='umpw1-umpw2-nm-err' and $err!='umpw1-umpw2-null-err'"> 
    182                                 <p style="text-align:left; color:red;"><xsl:value-of select="$err" /></p> 
    183                             </xsl:if> 
    184  
    185                             <xsl:if test="$err=''"> 
    186                                 <h2 style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password_title')"/></h2> 
    187                                 <p style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password_successed_content')"/></p> 
    188                             </xsl:if> 
    189          
    190                             <xsl:if test="$asn!='0' and $info='modify_interface'"> 
    191                                 <h2 style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password_title')"/></h2> 
    192                                 <p style="text-align:left; color:gray;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password_describe_line_1')"/></p> 
    193  
    194                                 <xsl:if test="$err='umpw1-err'"> 
    195                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password_invalid')"/></p> 
    196                                 </xsl:if> 
    197                                 <xsl:if test="$err='umpw2-err'"> 
    198                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retyped_password_invalid')"/></p> 
    199                                 </xsl:if> 
    200                                 <xsl:if test="$err='pw-umpw-nm-err' or $err='umpw-null-err'"> 
    201                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password_warning')"/></p> 
    202                                 </xsl:if>   
    203                                 <xsl:if test="$err='umpw1-umpw2-nm-err'"> 
    204                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.two_password_not_match')"/></p> 
    205                                 </xsl:if>  
    206                                 <xsl:if test="$err='umpw1-umpw2-null-err'"> 
    207                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password_empty_warning')"/></p> 
    208                                 </xsl:if>  
    209            
    210                                 <xsl:call-template name="modifypassword"> 
    211                                     <xsl:with-param name="sub_action" select="$sub_action"/> 
    212                                     <xsl:with-param name="authen_service" select="$authen_service"/> 
    213                                     <xsl:with-param name="pro_action" select="$pro_action"/> 
    214                                     <xsl:with-param name="un_s" select="$un_s"/> 
    215                                     <xsl:with-param name="pw_s" select="$pw_s"/> 
    216                                     <xsl:with-param name="asn" select="$asn"/> 
    217                                 </xsl:call-template> 
    218                             </xsl:if> 
    219                         </xsl:if> 
    220  
    221                         <!-- delete a user --> 
    222                         <xsl:if test="$pro_action='DeleteUser'">  
    223                             <xsl:if test="$err!=''"> 
    224                                 <p style="text-align:left; color:red;"><xsl:value-of select="$err" /></p> 
    225                             </xsl:if> 
    226  
    227                             <xsl:if test="$info='confirm'"> 
    228                                 <xsl:call-template name="deleteuser">  
    229                                     <xsl:with-param name="sub_action" select="$sub_action"/> 
    230                                     <xsl:with-param name="authen_service" select="$authen_service"/> 
    231                                     <xsl:with-param name="pro_action" select="$pro_action"/> 
    232                                     <xsl:with-param name="un_s" select="$un_s"/> 
    233                                     <xsl:with-param name="umun_s" select="/page/pageResponse/authenticationNode/service/@umun"/>     
    234                                     <xsl:with-param name="asn" select="$asn"/> 
    235                                 </xsl:call-template> 
    236                             </xsl:if> 
    237                             <xsl:if test="count(/page/pageResponse/authenticationNode/service/userNodeList) = 1"> 
    238                                 <xsl:call-template name="listusers"/> 
    239                             </xsl:if> 
    240                         </xsl:if> 
    241  
    242                         <!-- edit the user's info --> 
    243                         <xsl:if test="$pro_action='EditUser'">  
    244                             <xsl:if test="$err!='' and $err!='umpw-err' and $err!='umun-err' and $err!='ini-umpw-err' and $err!='un-exist'"> 
    245                                 <p style="text-align:left; color:red;"><xsl:value-of select="$err" /></p> 
    246                             </xsl:if> 
    247  
    248                             <xsl:if test="$info='edituser-interface'">  
    249                                 <h2 style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.edit_user_information')"/></h2> 
    250                                 <xsl:if test="$err='umpw-err'">  
    251                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password_err')"/></p> 
    252                                 </xsl:if> 
    253                                 <xsl:if test="$err='umun-err'">  
    254                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.unsername_err')"/></p> 
    255                                 </xsl:if> 
    256                                 <xsl:if test="$err='ini-umpw-err'">  
    257                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password_initial')"/></p> 
    258                                 </xsl:if> 
    259                                 <xsl:if test="$err='un-exist'"> 
    260                                     <p style="text-align:left; color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.user_has_existed')"/></p> 
    261                                 </xsl:if> 
    262                                 <xsl:call-template name="edituser" > 
    263                                     <xsl:with-param name="sub_action" select="$sub_action"/> 
    264                                     <xsl:with-param name="authen_service" select="$authen_service"/> 
    265                                     <xsl:with-param name="pro_action" select="$pro_action"/> 
    266                                     <xsl:with-param name="umun_s" select="/page/pageResponse/authenticationNode/service/@umun"/> 
    267                                     <xsl:with-param name="umpw_s" select="/page/pageResponse/authenticationNode/service/@umpw"/> 
    268                                     <xsl:with-param name="umas_s" select="/page/pageResponse/authenticationNode/service/@umas"/> 
    269                                     <xsl:with-param name="umgp_s" select="/page/pageResponse/authenticationNode/service/@umgp"/> 
    270                                     <xsl:with-param name="umc_s" select="/page/pageResponse/authenticationNode/service/@umc"/> 
    271                                     <xsl:with-param name="oumun_s" select="/page/pageResponse/authenticationNode/service/@oumun"/> 
    272                                     <xsl:with-param name="un_s" select="$un_s"/> 
    273                                     <xsl:with-param name="pw_s" select="$pw_s"/> 
    274                                     <xsl:with-param name="asn" select="$asn"/> 
    275                                 </xsl:call-template> 
    276                             </xsl:if>  
    277                             <xsl:if test="$info='all-un'"> 
    278                                 <xsl:if test="count(/page/pageResponse/authenticationNode/service/userNodeList) = 1"> 
    279                                     <xsl:call-template name="listusers" /> 
    280                                 </xsl:if> 
    281                             </xsl:if> 
    282                         </xsl:if>      
    283                     </div> 
    284                 </td> 
    285             </tr> 
    286         </table> 
    287     </xsl:template> 
    288    
    289     <!--template name="login"--> 
    290     <xsl:template name="login"> 
    291         <xsl:param name="sub_action"/> 
    292         <xsl:param name="authen_service"/> 
    293         <xsl:param name="pro_action"/> 
    294         <div> 
    295             <form id="LoginForm" method="post" action="{$library_name}"> 
    296                 <input type='hidden' name='a' value='g'/> 
    297                 <input type='hidden' name='sa' value='{$sub_action}'/> 
    298                 <input type='hidden' name='s' value='{$authen_service}'/> 
    299                 <input type='hidden' name='rt' value='r'/> 
    300                 <input type='hidden' name='s1.asn' value='0'/> 
    301                 <input type='hidden' name='s1.uan' value='1'/> 
    302                 <input type='hidden' name='s1.aup' value='{$pro_action}'/> 
    303                 <input type='hidden' name='s1.umpw1' value=''/> 
    304                 <input type='hidden' name='s1.umpw2' value=''/> 
    305                 <input type='hidden' name='s1.umc' value=''/> 
    306                 <input type='hidden' name='s1.umgp' value=''/> 
    307                 <input type='hidden' name='s1.umun' value=''/> 
    308                 <input type='hidden' name='s1.umpw' value=''/> 
    309                 <input type='hidden' name='s1.umas' value=''/> 
    310  
    311                 <table style="text-align:center;"> 
    312                     <tr> 
    313                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></td><td><input type="string" name="s1.un" size="10" value=""/></td><td></td> 
    314                     </tr> 
    315                     <tr> 
    316                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/></td><td><input type="password" name="s1.pw" size="10" value=""/></td><td> 
    317                         <input type="submit" value="submit"></input></td> 
    318                     </tr> 
    319                 </table> 
    320             </form> 
     459                </xsl:when> 
     460                 
     461                <xsl:otherwise> 
     462                    <xsl:text>Page not found.</xsl:text> 
     463                </xsl:otherwise> 
     464            </xsl:choose> 
    321465        </div> 
    322466    </xsl:template> 
    323  
    324     <!--template name="listusers"--> 
    325     <xsl:template name="listusers" > 
    326         <h2 style="text-align:left;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_of_current_users_title')"/></h2> 
    327  
    328         <table id='mainTable' style="text-align:left;" border="0" cellspacing="1" cellpadding="3" width="100%" > 
    329             <tr> 
    330                 <th bgcolor="#d0d0d0"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></th> 
    331                 <th bgcolor="#d0d0d0"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status')"/></th> 
    332                 <th bgcolor="#d0d0d0"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/></th> 
    333                 <th bgcolor="#d0d0d0"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/></th> 
    334                 <th bgcolor="#d0d0d0"></th> 
    335             </tr> 
    336             <xsl:for-each select="/page/pageResponse/authenticationNode/service/userNodeList/userNode"> 
    337                 <script type="text/javascript"> 
    338                     <xsl:text disable-output-escaping="yes"> 
    339                         var username="</xsl:text><xsl:value-of select="@umun"/><xsl:text disable-output-escaping="yes">"; 
    340                     </xsl:text> 
    341                 </script> 
    342                 <tr> 
    343                     <td bgcolor="#eeeeee"><xsl:value-of select="@umun"/></td>      
    344                     <td id="status{@umun}" bgcolor="#eeeeee">      
    345                         <script type="text/javascript"> 
    346                             <xsl:text disable-output-escaping="yes"> 
    347                                 var status="</xsl:text><xsl:value-of select="@umas"/><xsl:text disable-output-escaping="yes">"; 
    348                                 if (status=="true"){ 
    349                                     document.getElementById("status"+username).innerHTML="enabled"; 
    350                                 } 
    351                                 if (status=="false"){ 
    352                                     document.getElementById("status"+username).innerHTML="disabled"; 
    353                                 } 
    354                             </xsl:text>       
    355                         </script> 
    356                     </td> 
    357                     <td id="group{@umun}" bgcolor="#eeeeee"> 
    358                         <script type="text/javascript"> 
    359                             <xsl:text disable-output-escaping="yes"> 
    360                                 var groups="</xsl:text><xsl:value-of select="@umgp"/><xsl:text disable-output-escaping="yes">"; 
    361                                 var split_groups= groups.split(","); 
    362                                 var new_groups=""; 
    363                                 for (j=0; j &lt; split_groups.length ; j++){ 
    364                                   new_groups+=split_groups[j]+" &lt;br /&gt; "; 
    365                                 } 
    366                                 document.getElementById('group'+username).innerHTML=new_groups; 
    367                             </xsl:text>       
    368                         </script> 
    369                     </td> 
    370                     <td bgcolor="#eeeeee"><xsl:value-of select="@umc"/></td> 
    371                     <td bgcolor="#eeeeee"> 
    372                         <form name="ListUsersForm" method="post" action="{$library_name}"> 
    373                             <input type='hidden' name='a' value='g'/> 
    374                             <input type='hidden' name='sa' value='authen'/> 
    375                             <input type='hidden' name='s' value='Authentication'/> 
    376                             <input type='hidden' name='rt' value='r'/> 
    377                             <input type='hidden' name='s1.asn' value='1'/> 
    378                             <input type='hidden' name='s1.uan' value='1'/> 
    379  
    380                             <input type='hidden'><xsl:attribute name="name">s1.oumun</xsl:attribute><xsl:attribute name="value"><xsl:value-of select="@umun"/></xsl:attribute></input> 
    381                             <input type='hidden'><xsl:attribute name="name">s1.umun</xsl:attribute><xsl:attribute name="value"><xsl:value-of select="@umun"/></xsl:attribute></input> 
    382                             <input type='hidden' name='s1.cm' value=''/> 
    383  
    384                             <input type="submit"><xsl:attribute name="name">s1.aup</xsl:attribute><xsl:attribute name="value">EditUser</xsl:attribute></input> 
    385                             <input type="submit"><xsl:attribute name="name">s1.aup</xsl:attribute><xsl:attribute name="value">DeleteUser</xsl:attribute></input> 
    386                         </form> 
    387                     </td> 
    388                 </tr> 
    389             </xsl:for-each> 
    390         </table> 
    391     </xsl:template> 
    392  
    393     <!--template name="modifypassword"--> 
    394     <xsl:template name="modifypassword" > 
    395         <xsl:param name="sub_action"/> 
    396         <xsl:param name="authen_service"/> 
    397         <xsl:param name="pro_action"/> 
    398         <xsl:param name="un_s"/> 
    399         <xsl:param name="pw_s"/> 
    400         <xsl:param name="asn"/> 
    401         <div> 
    402             <form id="modifyForm" method="post" action="{$library_name}"> 
    403                 <input type='hidden' name='a' value='g'/> 
    404                 <input type='hidden' name='sa' value='{$sub_action}'/> 
    405                 <input type='hidden' name='s' value='{$authen_service}'/> 
    406                 <input type='hidden' name='rt' value='r'/> 
    407                 <input type='hidden' name='s1.un' value='{$un_s}'/> 
    408                 <input type='hidden' name='s1.pw' value='{$pw_s}'/> 
    409                 <input type='hidden' name='s1.asn' value='{$asn}'/> 
    410                 <input type='hidden' name='s1.uan' value='1'/> 
    411                 <input type='hidden' name='s1.aup' value='{$pro_action}'/> 
    412467     
    413                 <table style="text-align:center;"><tr><td style="text-align:right;"> 
    414                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password')"/></td><td><input type="password" name="s1.umpw" size="10" value=""/></td></tr> 
    415                     <tr> 
    416                         <td style="text-align:right;"> 
    417                             <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password')"/></td><td><input type="password" name="s1.umpw1" size="10" value=""/></td></tr> 
    418                         <tr><td style="text-align:right;"> 
    419                             <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_new_password')"/></td><td><input type="password" name="s1.umpw2" size="10" value=""/></td></tr> 
    420                         <tr><td></td><td> 
    421                         <input type="submit" value="submit"></input></td> 
    422                     </tr> 
    423                 </table> 
    424             </form> 
    425         </div> 
    426     </xsl:template> 
    427  
    428     <!--template name="deleteuser"--> 
    429     <xsl:template name="deleteuser"> 
    430         <xsl:param name="sub_action"/> 
    431         <xsl:param name="authen_service"/> 
    432         <xsl:param name="pro_action"/> 
    433         <xsl:param name="un_s"/> 
    434         <xsl:param name="umun_s"/> 
    435         <xsl:param name="asn"/> 
    436         <div> 
    437             <form id="deleteForm" method="post" action="{$library_name}"> 
    438                 <input type='hidden' name='a' value='g'/> 
    439                 <input type='hidden' name='sa' value='{$sub_action}'/> 
    440                 <input type='hidden' name='s' value='{$authen_service}'/> 
    441                 <input type='hidden' name='rt' value='r'/> 
    442                 <input type='hidden' name='s1.aup' value='{$pro_action}'/> 
    443                 <input type='hidden' name='s1.asn' value='{$asn}'/> 
    444                 <input type='hidden' name='s1.uan' value='1'/> 
    445                 <input type='hidden' name='s1.umun' value='{$umun_s}'/> 
    446                 <p style="color:red;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.do_you_really_want_to_permanently_remove_user')"/> <xsl:value-of select="$umun_s"/>" ?</p> 
    447                 <input type="submit" value="yes"><xsl:attribute name="name">s1.cm</xsl:attribute></input> 
    448                 <input type="submit" value="no"><xsl:attribute name="name">s1.cm</xsl:attribute></input> 
    449             </form> 
    450         </div> 
    451     </xsl:template> 
    452    
    453     <!--template name="edituser"--> 
    454     <xsl:template name="edituser"> 
    455         <xsl:param name="sub_action"/> 
    456         <xsl:param name="authen_service"/> 
    457         <xsl:param name="pro_action"/> 
    458         <xsl:param name="un_s"/> 
    459         <xsl:param name="pw_s"/> 
    460         <xsl:param name="umun_s"/> 
    461         <xsl:param name="umpw_s"/> 
    462         <xsl:param name="umas_s"/> 
    463         <xsl:param name="umgp_s"/> 
    464         <xsl:param name="umc_s"/> 
    465         <xsl:param name="oumun_s"/>  
    466         <xsl:param name="asn"/> 
    467             <form id="editForm" method="post" action="{$library_name}"> 
    468                 <input type='hidden' name='a' value='g'/> 
    469                 <input type='hidden' name='sa' value='{$sub_action}'/> 
    470                 <input type='hidden' name='s' value='{$authen_service}'/> 
    471                 <input type='hidden' name='rt' value='r'/> 
    472                 <input type='hidden' name='s1.asn' value='{$asn}'/> 
    473                 <input type='hidden' name='s1.uan' value='1'/> 
    474                 <input type='hidden' name='s1.aup' value='{$pro_action}'/> 
    475                 <input type='hidden' name='s1.un' value='{$un_s}'/> 
    476                 <input type='hidden' name='s1.pw' value='{$pw_s}'/> 
    477                  
    478                 <table style="text-align:left;">     
    479                     <tr> 
    480                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></td> 
    481                         <td><input type="text" name="s1.umun" size="15" value="{$umun_s}"/></td> 
    482                         <td style="color:gray;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username_describe')"/></td> 
    483                     </tr> 
    484                     <tr> 
    485                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/></td> 
    486                         <td><input type="password" name="s1.umpw" size="15" value="{$umpw_s}"/></td> 
    487                         <td style="color:gray;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password_describe')"/></td> 
    488                     </tr> 
    489                     <tr> 
    490                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status')"/></td> 
    491                         <td> 
    492                             <select name="s1.umas"> 
    493                                 <xsl:if test="$umas_s=''"> 
    494                                     <option value="true" selected="selected"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/></option> 
    495                                     <option value="false"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/></option> 
    496                                 </xsl:if>  
    497                                 <xsl:if test="$umas_s='true'"> 
    498                                     <option value="true" selected="selected"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/></option> 
    499                                     <option value="false"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/></option> 
    500                                 </xsl:if>  
    501                                 <xsl:if test="$umas_s='false'"> 
    502                                     <option value="true"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/></option> 
    503                                     <option value="false" selected="selected"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/></option> 
    504                                 </xsl:if>  
    505                             </select> 
    506                         </td> 
    507                         <td></td> 
    508                     </tr> 
    509                     <tr> 
    510                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/></td> 
    511                         <td><input type="text" id="group" name="s1.umgp" size="70" value="{$umgp_s}"/></td> 
    512                         <td style="color:gray;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups_describe')"/></td> 
    513                     </tr> 
    514                     <tr> 
    515                         <td></td> 
    516                         <td  style="text-align:right;">  
    517                             <select id="groups" size="0"> 
    518                                 <script type="text/javascript"> 
    519                                     <xsl:text disable-output-escaping="yes"> 
    520                                         var group_arr=Array("administrator","all-collections-editor","personal-collections-editor"); 
    521                                         var group_string=document.getElementById("group").value; 
    522                                         var split_group_string=group_string.split(","); 
    523                                         var find=0; 
    524                                         for (i=0; i &lt; group_arr.length; i++){ 
    525                                             find=0; 
    526                                             for (j=0; j &lt; group_arr.length; j++){ 
    527                                                 if (split_group_string[j]==group_arr[i]){ 
    528                                                     find=1; 
    529                                                 } 
    530                                             } 
    531                                             if (find==0){ 
    532                                                 op = document.createElement('option'); 
    533                                                 op.innerHTML = group_arr[i]; 
    534                                                 op.setAttribute("value", group_arr[i]); 
    535                                                 document.getElementById("groups").appendChild(op); 
    536                                             } 
    537                                         } 
    538                                     </xsl:text>       
    539                                 </script> 
    540                             </select> 
    541                         </td> 
    542                         <td><input type="button" name="addGroupButton" value="add" onClick="addGroup('groups')"/></td> 
    543                     </tr> 
    544                     <tr> 
    545                         <td></td> 
    546                         <td  style="text-align:right;">  
    547                             <select  id="collects" size="0"> 
    548                                 <xsl:for-each select="/page/pageResponse/collectionList/collection"> 
    549                                     <script type="text/javascript"> 
    550                                         <xsl:text disable-output-escaping="yes"> 
    551                                             var group="</xsl:text><xsl:value-of select="@name"/>-collection-editor<xsl:text disable-output-escaping="yes">"; 
    552                                             var group_string=document.getElementById("group").value; 
    553                                             var split_group_string=group_string.split(","); 
    554                                             var find=0; 
    555                                             for (i=0; i &lt; split_group_string.length; i++){ 
    556                                                 if (split_group_string[i]==group){ 
    557                                                 find=1; 
    558                                                 } 
    559                                             } 
    560                                             if (find==0){ 
    561                                                 op = document.createElement('option'); 
    562                                                 op.innerHTML = group; 
    563                                                 op.setAttribute("value", group); 
    564                                                 document.getElementById("collects").appendChild(op); 
    565                                             } 
    566                                         </xsl:text>       
    567                                     </script> 
    568                                 </xsl:for-each> 
    569                             </select> 
    570                         </td> 
    571                         <td><input type="button" name="addGroupButton" value="add" onClick="addGroup('collects')"/></td> 
    572                     </tr> 
    573                     <tr> 
    574                         <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/></td> 
    575                         <td colspan="2"> 
    576                             <div> 
    577                                 <textarea cols="40" rows="5" name="s1.umc"> 
    578                                     <xsl:value-of select="$umc_s"/> 
    579                                 </textarea> 
    580                             </div> 
    581                         </td> 
    582                     </tr>  
    583                     <tr> 
    584                         <td></td> 
    585                         <td> 
    586                             <input type="submit" value="submit"><xsl:attribute name="name">s1.cm</xsl:attribute></input> 
    587                             <xsl:if test="$pro_action!='AddUser'"> 
    588                                 <input type="submit" value="cancel"><xsl:attribute name="name">s1.cm</xsl:attribute></input> 
    589                             </xsl:if> 
    590                         </td> 
    591                         <td></td> 
    592                     </tr> 
    593                 </table> 
    594                 <input type='hidden' name='s1.oumun' value='{$oumun_s}'/> 
    595             </form> 
    596     </xsl:template> 
    597  
    598     <!-- addGroup() javascript --> 
    599     <xsl:template name="addGroup"> 
    600         <script type="text/javascript"> 
    601             <xsl:text disable-output-escaping="yes"> 
    602                 function addGroup(g){ 
    603                     var itemSelected; 
    604                     var splitGroup; 
    605                     var groupExit; 
    606  
    607                     if (document.getElementById("editForm")!=null){ 
    608                         //itemSelected=document.getElementById("editForm").groups.options.selectedIndex; 
    609                         itemSelected=document.getElementById(g).options.selectedIndex; 
    610                         if (document.getElementById(g).options[itemSelected].text!=""){ 
    611                             if (document.getElementById("group").value==""){ 
    612                                 document.getElementById("group").value=document.getElementById("group").value+document.getElementById(g).options[itemSelected].text; 
    613                             }else{ 
    614                                 splitGroup=document.getElementById("group").value.split(","); 
    615                                 for (var i=0; i &lt; splitGroup.length; i++){ 
    616                                     if (splitGroup[i]==document.getElementById(g).options[itemSelected].text){ 
    617                                         alert(document.getElementById(g).options[itemSelected].text + " has been added."); 
    618                                         groupExit=1; 
    619                                         break; 
    620                                     } 
    621                                 } 
    622                                 if (groupExit!=1) { 
    623                                     document.getElementById("group").value=document.getElementById("group").value+","+document.getElementById(g).options[itemSelected].text; 
    624                                 } 
    625                             } 
    626                             document.getElementById(g).options[itemSelected]=new Option("",itemSelected); 
    627                         } 
    628                     } 
    629                 } 
    630             </xsl:text> 
    631         </script>     
    632     </xsl:template> 
    633    
    634 </xsl:stylesheet>   
    635  
     468</xsl:stylesheet>