Merge pull request #9841 from owncloud/fix-password-reset-master

Fix password reset in console command and lost password controller
This commit is contained in:
Thomas Müller 2014-07-24 15:58:02 +02:00
commit 788a2eca2f
3 changed files with 28 additions and 5 deletions

View File

@ -20,13 +20,36 @@ use \OC\Core\LostPassword\EncryptedDataException;
class LostController extends Controller {
/**
* @var \OCP\IURLGenerator
*/
protected $urlGenerator;
/**
* @var \OCP\IUserManager
*/
protected $userManager;
/**
* @var \OC_Defaults
*/
protected $defaults;
/**
* @var IL10N
*/
protected $l10n;
protected $from;
protected $isDataEncrypted;
/**
* @var IConfig
*/
protected $config;
/**
* @var IUserSession
*/
protected $userSession;
public function __construct($appName,
@ -110,7 +133,7 @@ class LostController extends Controller {
throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is invalid'));
}
if (!$user->setPassword($userId, $password)) {
if (!$user->setPassword($password)) {
throw new \Exception();
}

View File

@ -156,7 +156,7 @@ class User implements IUser {
* @param string $recoveryPassword for the encryption app to reset encryption keys
* @return bool
*/
public function setPassword($password, $recoveryPassword) {
public function setPassword($password, $recoveryPassword = null) {
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'preSetPassword', array($this, $password, $recoveryPassword));
}

View File

@ -18,14 +18,14 @@ interface IUser {
public function getUID();
/**
* get the displayname for the user, if no specific displayname is set it will fallback to the user id
* get the display name for the user, if no specific display name is set it will fallback to the user id
*
* @return string
*/
public function getDisplayName();
/**
* set the displayname for the user
* set the display name for the user
*
* @param string $displayName
* @return bool
@ -59,7 +59,7 @@ interface IUser {
* @param string $recoveryPassword for the encryption app to reset encryption keys
* @return bool
*/
public function setPassword($password, $recoveryPassword);
public function setPassword($password, $recoveryPassword = null);
/**
* get the users home folder to mount