/* μ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 editTrack() { var userForm = document.getElementsByName('user')[0]; var trackUser = (userForm !== undefined) ? userForm.options[userForm.selectedIndex].text : auth; if (trackUser != auth && !admin) { alert(lang['owntrackswarn']); return; } var trackForm = document.getElementsByName('track')[0]; if (trackForm.selectedIndex < 0) { return; } var trackId = trackForm.options[trackForm.selectedIndex].value; var trackName = trackForm.options[trackForm.selectedIndex].text; var message = '
' + sprintf(lang['editingtrack'], '' + htmlEncode(trackName) + '') + '
'; message += '
' + lang['deltrack'] + '
'; message += '
'; var form = '
'; form += ''; form += ''; form += '
'; form += '
'; showModal(message + form); } function confirmedDelete(name) { return confirm(sprintf(lang['trackdelwarn'], '"' + name + '"')); } function submitTrack(action) { var form = document.getElementById('trackForm'); var trackId = parseInt(form.elements['trackid'].value); var trackName = form.elements['trackname'].value.trim(); if (isNaN(trackId)) { alert(lang['allrequired']); return; } if (action != 'delete') { if (!trackName) { alert(lang['allrequired']); return; } } else { if (!confirmedDelete(trackName)) { return; } } var xhr = getXHR(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { var error = true; var message = ''; if (xhr.status == 200) { var xml = xhr.responseXML; if (xml) { var root = xml.getElementsByTagName('root'); if (root.length && getNode(root[0], 'error') == 0) { removeModal(); alert(lang['actionsuccess']); var f = document.getElementsByName('track')[0]; if (action == 'delete') { // select current track in tracks form f.remove(f.selectedIndex); clearMap(); selectTrack(f); } else { f.options[f.selectedIndex].innerHTML = htmlEncode(trackName); } error = false; } else if (root.length) { errorMsg = getNode(root[0], 'message'); if (errorMsg) { message = errorMsg; } } } } if (error) { alert(lang['actionfailure'] + '\n' + message); } xhr = null; } } xhr.open('POST', 'utils/handletrack.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); var params = 'action=' + action + '&trackid=' + trackId + '&trackname=' + encodeURIComponent(trackName); params = params.replace(/%20/g, '+'); xhr.send(params); return; }