diff -r d62212462f9b -r 1b4288399b1f scripts/config.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/config.js Tue Sep 23 23:26:18 2008 -0400 @@ -0,0 +1,157 @@ +var userlist = []; + +function register_user(username) +{ + userlist.push(username); +} + +function draw_user(ul, username) +{ + var inp = document.createElement('input'); + inp.type = 'hidden'; + inp.name = 'users[]'; + inp.value = username; + ul.parentNode.appendChild(inp); + var li = document.createElement('li'); + li.username = username; + li.userinput = inp; + var delbtn = document.createElement('a'); + delbtn.style.color = '#ff0000'; + delbtn.href = '#'; + delbtn.onclick = function() + { + delete_user(this); + return false; + } + delbtn.appendChild(document.createTextNode('[X]')); + li.appendChild(delbtn); + + li.appendChild(document.createTextNode(' ' + username)); + ul.appendChild(li); +} + +function draw_new_user(username, password) +{ + for ( var i = 0; i < userlist.length; i++ ) + { + if ( userlist[i] == username ) + { + alert('The username you entered is already in the list, please delete the current user and re-add it if you want to change the password.'); + return false; + } + } + + userlist.push(username); + + var ul = document.getElementById('userlist'); + + var inp = document.createElement('input'); + inp.type = 'hidden'; + inp.name = 'users_add[' + username + ']'; + inp.value = password; + ul.parentNode.appendChild(inp); + var li = document.createElement('li'); + li.username = username; + li.userinput = inp; + var delbtn = document.createElement('a'); + delbtn.style.color = '#ff0000'; + delbtn.href = '#'; + delbtn.onclick = function() + { + delete_user(this); + return false; + } + delbtn.appendChild(document.createTextNode('[X]')); + li.appendChild(delbtn); + + li.appendChild(document.createTextNode(' ' + username)); + ul.appendChild(li); + + return true; +} + +function userlist_init() +{ + var ul = document.getElementById('userlist'); + for ( var i = 0; i < userlist.length; i++ ) + { + draw_user(ul, userlist[i]); + } +} + +function delete_user(a) +{ + var li = a.parentNode; + var username = li.username; + li.parentNode.parentNode.removeChild(li.userinput); + li.parentNode.removeChild(li); + + for ( var i = 0; i < userlist.length; i++ ) + { + if ( userlist[i] == username ) + { + delete(userlist[i]); + break; + } + } +} + +function add_user_form() +{ + var ul = document.getElementById('userlist'); + + if ( ul.parentNode.getElementsByTagName('form').length > 0 ) + { + return false; + } + + var theform = document.createElement('form'); + theform.action = 'javascript:void(0);'; + theform.onsubmit = function() + { + if ( this.username.value == '' || this.password.value == '' ) + { + alert('Please enter a username and password.'); + return false; + } + if ( draw_new_user(this.username.value, this.password.value) ) + { + this.parentNode.removeChild(this); + } + else + { + this.username.focus(); + } + + return false; + } + + theform.appendChild(document.createTextNode('user: ')); + + var i_user = document.createElement('input'); + i_user.type = 'text'; + i_user.name = 'username'; + i_user.size = '12'; + theform.appendChild(i_user); + + theform.appendChild(document.createTextNode(' pass: ')); + + var i_pass = document.createElement('input'); + i_pass.type = 'password'; + i_pass.name = 'password'; + i_pass.size = '12'; + theform.appendChild(i_pass); + + theform.appendChild(document.createTextNode(' ')); + + var i_sub = document.createElement('input'); + i_sub.type = 'submit'; + i_sub.value = 'Add'; + theform.appendChild(i_sub); + + ul.parentNode.appendChild(theform); + + i_user.focus(); +} + +window.onload = userlist_init;