Changeset 25275


Ignore:
Timestamp:
2012-03-23T16:32:03+13:00 (12 years ago)
Author:
sjm84
Message:

Completely reworked the xslt for the administration pages

File:
1 edited

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>
Note: See TracChangeset for help on using the changeset viewer.