Fixed to prevent a password reset to login an inactive user.
This commit is contained in:
parent
2b107c1610
commit
73f6430a60
@ -42,7 +42,9 @@ class IDF_Form_Password extends Pluf_Form
|
||||
public function clean_account()
|
||||
{
|
||||
$account = mb_strtolower(trim($this->cleaned_data['account']));
|
||||
$sql = new Pluf_SQL('email=%s OR login=%s',
|
||||
$db =& Pluf::db();
|
||||
$true = Pluf_DB_BooleanToDb(true, $db);
|
||||
$sql = new Pluf_SQL('(email=%s OR login=%s) AND active='.$true,
|
||||
array($account, $account));
|
||||
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
|
||||
if ($users->count() == 0) {
|
||||
|
@ -73,6 +73,9 @@ class IDF_Form_PasswordReset extends Pluf_Form
|
||||
if ($this->cleaned_data['password'] != $this->cleaned_data['password2']) {
|
||||
throw new Pluf_Form_Invalid(__('The two passwords must be the same.'));
|
||||
}
|
||||
if (!$this->user->active) {
|
||||
throw new Pluf_Form_Invalid(__('This account is not active. Please contact the forge administrator to activate it.'));
|
||||
}
|
||||
return $this->cleaned_data;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user