/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * function used in server privilege pages * * @version $Id: server_privileges.js 12391 2009-05-04 16:32:16Z lem9 $ */ /** * Validates the password field in a form * * @uses PMA_messages['strPasswordEmpty'] * @uses PMA_messages['strPasswordNotSame'] * @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 = PMA_messages['strPasswordEmpty']; } else if (password.value != password_repeat.value) { alert_msg = PMA_messages['strPasswordNotSame']; } 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(PMA_messages['strHostEmpty']); the_form.elements['hostname'].focus(); return false; } if (the_form.elements['pred_username'].value == 'userdefined' && the_form.elements['username'].value == '') { alert(PMA_messages['strUserEmpty']); the_form.elements['username'].focus(); return false; } return checkPassword(the_form); } // end of the 'checkAddUser()' function /** * Generate a new password and copy it to the password input areas * * @param string the form name * * @return boolean always true */ function suggestPassword() { // restrict the password to just letters and numbers to avoid problems: // "editors and viewers regard the password as multiple words and // things like double click no longer work" 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 ) ) } document.getElementById('text_pma_pw').value = passwd.value; document.getElementById('text_pma_pw2').value = passwd.value; return true; }