106 lines
2.9 KiB
JavaScript
106 lines
2.9 KiB
JavaScript
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* function used in server privilege pages
|
|
*
|
|
* @version $Id$
|
|
*/
|
|
|
|
/**
|
|
* Validates the password field in a form
|
|
*
|
|
* @uses jsPasswordEmpty
|
|
* @uses jsPasswordNotSame
|
|
* @param object the form
|
|
* @return boolean whether the field value is valid or not
|
|
*/
|
|
function checkPassword(the_form)
|
|
{
|
|
// Did the user select 'no password'?
|
|
if (typeof(the_form.elements['nopass']) != 'undefined'
|
|
&& the_form.elements['nopass'][0].checked) {
|
|
return true;
|
|
} else if (typeof(the_form.elements['pred_password']) != 'undefined'
|
|
&& (the_form.elements['pred_password'].value == 'none'
|
|
|| the_form.elements['pred_password'].value == 'keep')) {
|
|
return true;
|
|
}
|
|
|
|
var password = the_form.elements['pma_pw'];
|
|
var password_repeat = the_form.elements['pma_pw2'];
|
|
var alert_msg = false;
|
|
|
|
if (password.value == '') {
|
|
alert_msg = jsPasswordEmpty;
|
|
} else if (password.value != password_repeat.value) {
|
|
alert_msg = jsPasswordNotSame;
|
|
}
|
|
|
|
if (alert_msg) {
|
|
alert(alert_msg);
|
|
password.value = '';
|
|
password_repeat.value = '';
|
|
password.focus();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
} // end of the 'checkPassword()' function
|
|
|
|
|
|
/**
|
|
* Validates the "add a user" form
|
|
*
|
|
* @return boolean whether the form is validated or not
|
|
*/
|
|
function checkAddUser(the_form)
|
|
{
|
|
if (the_form.elements['pred_hostname'].value == 'userdefined' && the_form.elements['hostname'].value == '') {
|
|
alert(jsHostEmpty);
|
|
the_form.elements['hostname'].focus();
|
|
return false;
|
|
}
|
|
|
|
if (the_form.elements['pred_username'].value == 'userdefined' && the_form.elements['username'].value == '') {
|
|
alert(jsUserEmpty);
|
|
the_form.elements['username'].focus();
|
|
return false;
|
|
}
|
|
|
|
return checkPassword(the_form);
|
|
} // end of the 'checkAddUser()' function
|
|
|
|
|
|
/**
|
|
* Generate a new password, which may then be copied to the form
|
|
* with suggestPasswordCopy().
|
|
*
|
|
* @param string the form name
|
|
*
|
|
* @return boolean always true
|
|
*/
|
|
function suggestPassword() {
|
|
var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ.,:";
|
|
var passwordlength = 16; // do we want that to be dynamic? no, keep it simple :)
|
|
var passwd = document.getElementById('generated_pw');
|
|
passwd.value = '';
|
|
|
|
for ( i = 0; i < passwordlength; i++ ) {
|
|
passwd.value += pwchars.charAt( Math.floor( Math.random() * pwchars.length ) )
|
|
}
|
|
return passwd.value;
|
|
}
|
|
|
|
|
|
/**
|
|
* Copy the generated password (or anything in the field) to the form
|
|
*
|
|
* @param string the form name
|
|
*
|
|
* @return boolean always true
|
|
*/
|
|
function suggestPasswordCopy() {
|
|
document.getElementById('text_pma_pw').value = document.getElementById('generated_pw').value;
|
|
document.getElementById('text_pma_pw2').value = document.getElementById('generated_pw').value;
|
|
return true;
|
|
}
|