Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div class="popupTitle">
-
- <%
- Write(system.GetVar("title"));
- string sDisabled = "";
- string sSuperAdminDisabled = "";
- string sDeviceDisabled = "";
- object oUser = dom.GetObject( system.GetSessionVar('sessionUserID') );
- if (oUser.UserLevel() != iulAdmin)
- {
- sDisabled = "disabled";
- sDeviceDisabled = "disabled";
- }
- integer uid = system.GetVar("userid");
- if (uid != 0)
- {
- object userToTest = dom.GetObject(uid);
- if (userToTest)
- {
- if( userToTest.ID() == oUser.ID() )
- {
- sDeviceDisabled = "";
- }
- if(userToTest.Name() == "Admin")
- {
- sDisabled = "disabled";
- sSuperAdminDisabled = "disabled";
- sDeviceDisabled = "disabled";
- }
- }
- }
- %>
- </div>
- <div class="CLASS00700">
- <table class="tblUserData CLASS00701" cellpadding="0" cellspacing="0" >
- <tr>
- <td class="CLASS00702">
- <table class="CLASS00703" cellpadding="5" cellspacing="0" >
- <colgroup>
- <col width="50%" />
- <col width="50%" />
- </colgroup>
- <tr>
- <td class="CLASS00704">${lblUserName}</td>
- <td class="CLASS00704">
- <input type="text" id="fullName" class="CLASS00704" <% Write(sSuperAdminDisabled); %> />
- </td>
- </tr>
- <tr>
- <td class="CLASS00704">${lblUserPassword}</td>
- <td class="CLASS00704"><input type="Password" id="txtPw" class="CLASS00704" onchange="onPwChange()"/></td>
- </tr>
- <tr>
- <td class="CLASS00704">${lblUserPasswordRepeat}</td>
- <td class="CLASS00704"><input type="Password" id="txtPw2" class="CLASS00704" onchange="onPwChange()"/></td>
- </tr>
- <tr>
- <td colspan="2" class="CLASS00705">
- ${hintUsrCfgPassword}
- </tr>
- </table>
- </td>
- <td class="CLASS00706">
- <table class="CLASS00707">
- <!-- Select language -->
- <tr>
- <td class="CLASS00704">
- <table id="selectUserLang" class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr>
- <td>${lblSelectLanguage}</td>
- <td class="CLASS00709">
- <select id="userLanguage" onchange="onLanguageChanged()">
- <option value="0">${selectLangAuto}</option>
- <option value="1">${selectLangDE}</option>
- <option value="2">${selectLangUK}</option>
- </select>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <!-- End select language -->
- <tr>
- <td class="CLASS00704">
- <table class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr><td>${lblBtnForLogin}</td><td class="CLASS00709"><input id="cbUserS" type="checkbox" checked /></td></tr>
- </table>
- </td>
- </tr>
- <tr>
- <td class="CLASS00704">
- <table class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr><td>${lblAccessLevel}</td>
- <td class="CLASS00709">
- <select onchange="ChangeLevel(this.selectedIndex);" id="selLevel" <% Write(sDisabled); %> >
- <option value="8">${lblAdmin}</option>
- <option value="2">${lblUser}</option>
- <option value="1">${lblGuest}</option>
- </select>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <!--
- <td class="CLASS00704">
- <table class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr>
- <td>Endger‰teauswahl:</td>
- <td class="CLASS00709">
- <select id="selDev" <% Write(sDeviceDisabled); %>>
- <option selected value="0">automatisch</option>
- <option value="1">PDA</option>
- <option value="3">PC</option>
- </select>
- </td>
- </tr>
- </table>
- </td>
- -->
- </tr>
- <tr>
- <td class="CLASS00704">
- <%
- object oUser = dom.GetObject( system.GetSessionVar('sessionUserID') );
- var tableStyle = "";
- if (oUser.UserLevel() != iulAdmin)
- {
- tableStyle = "style='display:none;visibility:hidden;'";
- }
- %>
- <table class="CLASS00708" <%Write(tableStyle);%>>
- <colgroup><col width="90%" /><col width="10%" /></colgroup>
- <tr><td>${lblEasyModeActive}</td><td class="CLASS00709"><input id="cbEasy" type="checkbox" checked NAME="cbEasy"/></td></tr>
- </table>
- </td>
- </tr>
- <tr>
- <td class="CLASS00704">
- <table class="CLASS00708" <%Write(tableStyle);%>>
- <colgroup><col width="90%" /><col width="10%" /></colgroup>
- <tr><td>${lblHideStickyUnreach}</td><td class="CLASS00709"><input id="cbHideStickyUnreachServiceMessage" type="checkbox" NAME="cbStickyUnreach" onchange="onHideStickyUnreachChanged()"/></td></tr>
- </table>
- </td>
- </tr>
- <tr>
- <td class="CLASS00704">
- <table class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr><td>${lblPhoneNumber}</td><td class="CLASS00709"><input id="txtPhone" size="30" type="text" class="CLASS00709" /></td></tr>
- </table>
- </td>
- </tr>
- <tr>
- <td class="CLASS00704">
- <table class="CLASS00708"><colgroup><col width="50%" /><col width="50%" /></colgroup>
- <tr><td>${lblEMailAddress}</td><td class="CLASS00709"><input id="txtMail" size="40" type="text" class="CLASS00709" /></td></tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <table class="CLASS00708"><colgroup><col width="80%" /><col width="20%" /></colgroup>
- <tr><td></td><td class="CLASS00711"><div class="FooterButton CLASS00712" onclick="saveUser();">${btnAdoptSettings}</div></td></tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr class="CLASS00713" id="svt1">
- <td colspan="2" class="CLASS00714">
- <table class="CLASS00708"><colgroup><col width="80%" /><col width="20%" /></colgroup>
- <tr>
- <td class="CLASS00715">${lblStartPageSystemInfo}</td>
- <td class="CLASS00709">
- <div class="FooterButton CLASS00716" onclick="addSysVar()">${btnAddSysVariable}</div>
- </td>
- <td class="CLASS00709">
- <div class="FooterButton CLASS00716" onclick="sortSysVar()">${btnSortSysVariable}</div>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr id="svt2">
- <td colspan="2">
- <div id="userSysVarTbl" class="CLASS00717">
- </div>
- </td>
- </tr>
- <tr class="popupTableRow" id="svt3">
- <td class="CLASS00718" colspan="2">
- <div class="FooterButton CLASS00719" onclick="PopupClose()" >${footerBtnPageBack}</div>
- </td>
- </tr>
- </table>
- </div>
- <script type="text/javascript">
- translatePage("#selectUserLang");
- var languageChanged = false;
- var passChanged = false;
- var hideStickyUnreachChanged =false;
- var arSysVars = new Array();
- var iUserId = <% Write(system.GetVar("userid")); %>;
- var arUserNames = new Array();
- // Deactivate this when the user language is not in use
- <%
- object user = dom.GetObject(uid);
- Write("var lang = homematic('User.getLanguage', {'userID' : userId});");
- Write("lang = ((lang == null) || (lang > 2)) ? 0 : lang;");
- Write("$('userLanguage').value = lang;");
- %>
- jQuery("#cbHideStickyUnreachServiceMessage").prop("checked",WebUI.HIDESTICKYUNREACH);
- ChangeLevel = function(sIdx)
- {
- switch( sIdx )
- {
- case 0:
- showSVTable();
- break;
- case 1:
- showSVTable();
- break;
- case 2:
- hideSVTable();
- break;
- }
- };
- showSVTable = function()
- {
- $('svt1').show();
- $('svt2').show();
- //$('svt3').show();
- };
- hideSVTable = function()
- {
- $('svt1').hide();
- $('svt2').hide();
- //$('svt3').hide();
- };
- onLanguageChanged = function() {
- languageChanged = true;
- };
- onHideStickyUnreachChanged = function() {
- hideStickyUnreachChanged = true;
- };
- onPwChange = function()
- {
- passChanged = true;
- };
- buildUserName = function()
- {
- var s = $("fullName").value;
- s = s.replace(/\s/g, '');
- return s;
- };
- buildFirstLastName = function()
- {
- var arTmp = new Array();
- var s = $("fullName").value;
- var iPos = s.indexOf(" ");
- if (iPos == -1)
- {
- arTmp[0] = s;
- arTmp[1] = "";
- }
- else
- {
- arTmp[0] = s.substr(0, iPos);
- arTmp[1] = s.substr(iPos + 1);
- }
- return arTmp;
- };
- sortSysVar = function()
- {
- <%
- object oUser = dom.GetObject( system.GetSessionVar('sessionUserID') );
- object uso = oUser.UserSharedObjects();
- !uso.SortByName();
- %>
- };
- addSysVar = function()
- {
- dlgResult = "";
- var user = getUserJson();
- var chooserPopup = new iseMessageBox(ID_SYS_VARS_SELECTION, 0, true);
- restorePrevious = function()
- {
- chooserPopup.restorePrevious();
- dlgPopup.readaptSize();
- chooserPopup.ShowPopup();
- if (dlgResult != "")
- {
- var bFound = false;
- for (var i = 0; i < arSysVars.length; i++) {
- if (arSysVars[i] == dlgResult) {
- bFound = true;
- break;
- }
- }
- if (!bFound)
- arSysVars[arSysVars.length] = dlgResult;
- if (iUserId == 0)
- {
- iseUser.buildTmpSysVarTable(arSysVars);
- }
- else
- {
- iseUser.addSysVarBuildTable(iUserId, dlgResult);
- }
- }
- // Eingetragene Werte wiederherstellen
- $("fullName").value = user.fullName;
- $("txtPw").value = user.pw;
- $("txtPw2").value = user.pw2;
- $("cbUserS").checked = user.btnLogin;
- var selIdx = 0;
- switch (parseInt(user.level))
- {
- case 8: selIdx = 0; break;
- case 2: selIdx = 1; break;
- case 1: selIdx = 2; break;
- }
- $("selLevel").selectedIndex = selIdx;
- // $("selDev").selectedIndex = user.devIdx;
- $("cbEasy").checked = user.simple;
- $("txtPhone").value = user.phone;
- $("txtMail").value = user.mail;
- };
- chooserPopup.ShowPopup();
- };
- getUserJson = function()
- {
- var user = {};
- user.fullName = $("fullName").value;
- user.userName = buildUserName();
- var arTmp = buildFirstLastName();
- user.firstName = arTmp[0];
- user.lastName = arTmp[1];
- user.pw = $("txtPw").value;
- user.pw2 = $("txtPw2").value;
- user.btnLogin = $("cbUserS").checked;
- user.level = $("selLevel")[$("selLevel").selectedIndex].value;
- // user.dev = $("selDev")[$("selDev").selectedIndex].value;
- // user.devIdx = $("selDev").selectedIndex;
- user.simple = $("cbEasy").checked;
- user.phone = $("txtPhone").value;
- user.mail = $("txtMail").value;
- // Activate user language
- user.language = $("userLanguage")[$("userLanguage").selectedIndex].value;
- userIsNoExpert = user.simple;
- return user;
- };
- delFromTmpVars = function(id) {
- var arTmp = new Array();
- for (var i = 0; i < arSysVars.length; i++) {
- if (arSysVars[i] != id)
- arTmp[arTmp.length] = arSysVars[i];
- }
- arSysVars = arTmp;
- iseUser.buildTmpSysVarTable(arSysVars);
- };
- userExists = function(s)
- {
- for (var i = 0; i < arUserNames.length; i++)
- {
- if( s.toLowerCase() == arUserNames[i].toLowerCase() ) return true;
- }
- return false;
- };
- saveUser = function()
- {
- var olduserlevel = -1;
- var bn = $("fullName").value;
- if ($("txtPw").value != $("txtPw2").value)
- {
- //alert("Die Passwort-Eingaben stimmen nicht ¸berein");
- alert(translateKey("alertPwdRepeatNotIdentical"));
- return;
- }
- if( !isPasswordAllowed( $("txtPw").value, 0 ) )
- {
- return;
- }
- if ( bn == "")
- {
- //alert("Bitte geben Sie einen Benutzernamen ein.");
- alert(translateKey("alertEmptyUsername"));
- return;
- }
- if (!(isTextAllowed(bn,1))) return;
- if (userExists(buildUserName()))
- {
- //alert("Ein Benutzer mit dem angegebenen Namen existiert bereits.");
- alert(translateKey("alertUserExists"));
- return;
- }
- var user = getUserJson();
- if (languageChanged) {
- homematic("User.setLanguage", {"userName": user.userName, "userLang": user.language}, function () {
- WebUI.USERLANGUAGE = user.language;
- jQuery("#header").attr("lang", WebUI.USERLANGUAGE);
- loadTextResource();
- WebUI.start();
- });
- }
- if (hideStickyUnreachChanged) {
- WebUI.HIDESTICKYUNREACH = jQuery("#cbHideStickyUnreachServiceMessage").prop("checked");
- homematic("CCU.hideStickyUnreach", {"mode": WebUI.HIDESTICKYUNREACH});
- }
- if ( <% Write(system.GetVar("userid") # "==" # system.GetSessionVar("sessionUserID")); %> )
- {
- olduserlevel = <% Write(oUser.UserLevel()); %>;
- }
- var url = "/esp/system.htm?sid="+SessionId;
- var pb = "string action = 'saveUser';";
- pb += "integer iUserid = " + iUserId + ";";
- pb += "string userName = '"+user.userName+"';";
- pb += "string firstName = '"+user.firstName+"';";
- pb += "string lastName = '"+user.lastName+"';";
- if (iUserId == 0)
- {
- var s = "";
- for(var i = 0; i < arSysVars.length; i++)
- {
- s += arSysVars[i] + "\t";
- }
- s = s.substr(0, s.length - 1);
- pb += "string sSysVars = '"+s+"';";
- }
- pb += "integer iPwChanged = " + (passChanged? 1 : 0) + ";";
- pb += "string pw = '"+user.pw+"';";
- pb += "integer iLogin = '"+(user.btnLogin? 1:0)+"';";
- // pb += "integer dev = " + user.dev + ";";
- pb += "integer dev = " + 0 + ";";
- pb += "integer level = '"+user.level+"';";
- pb += "boolean bEasy = "+(user.simple? true:false)+";";
- pb += "string phone = '"+user.phone+"';";
- pb += "string mail = '"+user.mail+"';";
- var opts =
- {
- postBody:ReGa.encode(pb),
- onComplete: function(t)
- {
- if(dbg){alert(t.responseText);}
- PopupClose();
- if( olduserlevel != -1 && olduserlevel != parseInt(user.level) )
- {
- logout();
- }
- else
- {
- reloadPage();
- }
- }
- };
- new Ajax.Request(url,opts);
- }
- <%
- uid = system.GetVar("userid");
- object users = dom.GetObject(ID_USERS);
- string tmp = "";
- foreach(tmp, users.EnumEnabledIDs())
- {
- if (tmp != uid)
- {
- object o = dom.GetObject(tmp);
- Write("arUserNames[arUserNames.length] = '"#o.Name()#"';");
- }
- }
- if (uid != 0)
- {
- object user = dom.GetObject(uid);
- if (user)
- {
- string sUserFullName = user.UserFirstName()#' '#user.UserLastName();
- if( sUserFullName == ' ' ){ sUserFullName = user.Name(); }
- ! sUserFullName
- Write("$('fullName').value = '"#sUserFullName#"';");
- Write("$('txtPw').value = '"#user.UserBlankPwd()#"';");
- Write("$('txtPw2').value = '"#user.UserBlankPwd()#"';");
- Write("$('cbUserS').checked = "#user.UserShowLogin()#";");
- Write("$('txtPhone').value = '"#user.UserPhoneNumber()#"';");
- Write("$('txtMail').value = '"#user.UserMailAddress()#"';");
- Write("$('cbEasy').checked = "#user.UserEasyLinkMode()#";");
- integer iClient = user.UserClient();
- ! if (iClient == dwcAuto) { Write("$('selDev').selectedIndex = 0;"); }
- ! if (iClient == dwcPDA) { Write("$('selDev').selectedIndex = 1;"); }
- ! if (iClient == dwcPC) { Write("$('selDev').selectedIndex = 2;"); }
- ! if (iClient == dwcHandy) { Write("$('selDev').selectedIndex = 0;"); }
- integer iLevel = user.UserLevel();
- if( iLevel == iulAdmin )
- {
- Write("$('selLevel').selectedIndex = 0;");
- }
- else
- {
- if (iLevel == iulUser)
- {
- Write("$('selLevel').selectedIndex = 1;");
- }
- else
- {
- Write("$('selLevel').selectedIndex = 2;");
- Write('hideSVTable();');
- }
- }
- if (user.UserSharedObjects().Count() > 0) {
- string tmp = "";
- object uso = user.UserSharedObjects();
- !uso.SortByName();
- foreach (tmp, uso.EnumIDs()) {
- Write("arSysVars[arSysVars.length] = "#tmp#";");
- }
- }
- Write("iseUser.buildSysVarTable("#uid#");");
- }
- }
- %>
- </script>
Advertisement
Add Comment
Please, Sign In to add comment