public function test_handler_lostpassword() { $data = $this->run_handler('org.openpsa.user', array('lostpassword')); $this->assertEquals('lostpassword', $data['handler_id']); $user = self::create_user(); $account = new midcom_core_account($user); $old_password = $account->get_password(); $formdata = array('username' => $account->get_username()); $this->set_dm2_formdata($data['controller'], $formdata); $data = $this->run_handler('org.openpsa.user', array('lostpassword')); $this->assertEquals(array(), $data['controller']->formmanager->form->_errors); $user->refresh(); $account = new midcom_core_account($user); $this->assertEquals('lostpassword', $data['handler_id']); $this->assertNotEquals($old_password, $account->get_password()); }
/** * Reopen a blocked account. * * This will fail if someone set a new password on the account while it was blocked */ public function reopen_account() { $account = new midcom_core_account($this->_person); if ($account->get_password()) { $this->_person->set_parameter('org_openpsa_user_blocked_account', 'account_password', ""); $msg = 'Person with id #' . $this->_person->id . ' does have a password so will not be set to the old one -- Account unblocked'; throw new midcom_error($msg); } $account->set_password($this->_person->get_parameter('org_openpsa_user_blocked_account', 'account_password'), false); $account->save(); $this->_person->delete_parameter('org_openpsa_user_blocked_account', 'account_password'); }