/* μlogger * * Copyright(C) 2017 Bartek Fabiszewski (www.fabiszewski.net) * * This is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ function addUser() { var form = '
'; form += ''; form += ''; form += ''; form += '
'; form += '
'; showModal(form); } function editUser() { var userForm = document.getElementsByName('user')[0]; var userLogin = userForm.options[userForm.selectedIndex].text; if (userLogin == auth) { alert(lang['selfeditwarn']); return; } var message = '
' + sprintf(lang['editinguser'], '' + htmlEncode(userLogin) + '') + '
'; message += '
' + lang['deluser'] + '
'; message += '
'; var form = '
'; form += ''; form += ''; form += ''; form += '
'; form += '
'; showModal(message + form); } function confirmedDelete(login) { return confirm(sprintf(lang['userdelwarn'], '"' + login + '"')); } function submitUser(action) { var form = document.getElementById('userForm'); var login = form.elements['login'].value.trim(); if (!login) { alert(lang['allrequired']); return; } var pass = null; var pass2 = null; if (action != 'delete') { pass = form.elements['pass'].value; pass2 = form.elements['pass2'].value; if (!pass || !pass2) { alert(lang['allrequired']); return; } if (pass != pass2) { alert(lang['passnotmatch']); return; } if (!pass_regex.test(pass)) { alert(lang['passlenmin'] + '\n' + lang['passrules']); return; } } else { if (!confirmedDelete(login)) { return; } } var xhr = getXHR(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var xml = xhr.responseXML; var message = ""; if (xml) { var root = xml.getElementsByTagName('root'); if (root.length && getNode(root[0], 'error') == 0) { removeModal(); alert(lang['actionsuccess']); if (action == 'delete') { // select current user in users form var f = document.getElementsByName('user')[0]; f.remove(f.selectedIndex); selectUser(f); } return; } errorMsg = getNode(root[0], 'message'); if (errorMsg) { message = errorMsg; } } alert(lang['actionfailure'] + '\n' + message); xhr = null; } } xhr.open('POST', 'utils/handleuser.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); var params = 'action=' + action + '&login=' + encodeURIComponent(login) + '&pass=' + encodeURIComponent(pass); params = params.replace(/%20/g, '+'); xhr.send(params); return; }