Skip to content

Commit

Permalink
auth/db: use auth_validate_form() to set auth_db_stdchangepassword wh…
Browse files Browse the repository at this point in the history
…en passtype is 'internal'

When using the 'internal' password handling, set auth_db_stdchangepassword
so we allow users to change their password normally.
  • Loading branch information
martinlanghoff committed Jul 18, 2006
1 parent 1590773 commit bd18fe9
Showing 1 changed file with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion auth/db/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -409,4 +409,43 @@ function auth_db_update_user_record($username, $updatekeys=false) {
return get_record_select("user", "username = '$username' AND deleted <> '1'");
}

?>
// A chance to validate form data, and last chance to
// do stuff before it is inserted in config_plugin
function auth_validate_form(&$form, &$err) {

// compat until we rework auth a bit
if ($form['auth_dbpasstype'] === 'internal') {
$CFG->auth_db_stdchangepassword = true;
if ($conf = get_record('config', 'name', 'auth_db_stdchangepassword')) {
$conf->value = 1;
if (! update_record('config', $conf)) {
notify("Could not update $name to $value");
}
} else {
$conf = new StdClass;
$conf->name = 'auth_db_stdchangepassword';
$conf->value = 1;
if (! insert_record('config', $conf)) {
notify("Error: could not add new variable $name !");
}
}
} else {
$CFG->auth_db_stdchangepassword = false;
if ($conf = get_record('config', 'name', 'auth_db_stdchangepassword')) {
$conf->value = 0;
if (! update_record('config', $conf)) {
notify("Could not update $name to $value");
}
} else {
$conf = new StdClass;
$conf->name = 'auth_db_stdchangepassword';
$conf->value = 0;
if (! insert_record('config', $conf)) {
notify("Error: could not add new variable $name !");
}
}
}
return true;
}

?>

0 comments on commit bd18fe9

Please sign in to comment.