From bd06cb773bc19f078313a4843e2048515f4589be Mon Sep 17 00:00:00 2001 From: Zhao vistart Date: Mon, 27 Mar 2017 16:15:23 +0800 Subject: [PATCH] switch to use getter & setter. --- traits/IdentityTrait.php | 14 +++++++------- traits/PasswordTrait.php | 24 ++++++++++++++---------- traits/RegistrationTrait.php | 6 +++--- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/traits/IdentityTrait.php b/traits/IdentityTrait.php index df5fc1e..9762d9a 100644 --- a/traits/IdentityTrait.php +++ b/traits/IdentityTrait.php @@ -141,8 +141,8 @@ public function setAuthKeyRules($rules) public function onInitAuthKey($event) { $sender = $event->sender; - $authKeyAttribute = $sender->authKeyAttribute; - $sender->$authKeyAttribute = sha1(Yii::$app->security->generateRandomString()); + /* @var $sender static */ + $sender->setAuthKey(sha1(Yii::$app->security->generateRandomString())); } /** @@ -204,8 +204,8 @@ public function setAccessTokenRules($rules) public function onInitAccessToken($event) { $sender = $event->sender; - $accessTokenAttribute = $sender->accessTokenAttribute; - $sender->$accessTokenAttribute = sha1(Yii::$app->security->generateRandomString()); + /* @var $sender static */ + $sender->setAccessToken(sha1(Yii::$app->security->generateRandomString())); } /** @@ -267,9 +267,9 @@ public function setStatusRules($rules) public function onInitStatusAttribute($event) { $sender = $event->sender; - $statusAttribute = $sender->statusAttribute; - if (empty($sender->$statusAttribute)) { - $sender->$statusAttribute = self::$statusActive; + /* @var $sender static */ + if (empty($sender->getStatus())) { + $sender->setStatus(self::$statusActive); } } } diff --git a/traits/PasswordTrait.php b/traits/PasswordTrait.php index 1bbfd07..c63abc4 100644 --- a/traits/PasswordTrait.php +++ b/traits/PasswordTrait.php @@ -204,6 +204,9 @@ public function setPassword($password = null) $password = $this->getEmptyPasswordSpecialty(); } $phAttribute = $this->passwordHashAttribute; + if (empty($phAttribute) || !is_string($phAttribute)) { + return; + } $this->$phAttribute = $this->generatePasswordHash($password); $this->_password = $password; $this->trigger(static::$eventAfterSetPassword); @@ -247,8 +250,7 @@ public function applyForNewPassword() $this->trigger(static::$eventNewPasswordAppliedFor); return true; } - $prtAttribute = $this->passwordResetTokenAttribute; - $this->$prtAttribute = static::generatePasswordResetToken(); + $this->setPasswordResetToken(static::generatePasswordResetToken()); if (!$this->save()) { $this->trigger(static::$eventResetPasswordFailed); return false; @@ -272,9 +274,7 @@ public function resetPassword($password, $token) } $this->trigger(static::$eventBeforeResetPassword); $this->password = $password; - if (is_string($this->passwordResetTokenAttribute)) { - $this->setPasswordResetToken(); - } + $this->setPasswordResetToken(); if (!$this->save()) { $this->trigger(static::$eventResetPasswordFailed); return false; @@ -311,7 +311,7 @@ public function onAfterSetNewPassword($event) */ protected function validatePasswordResetToken($token) { - if (!is_string($this->passwordResetTokenAttribute)) { + if (!is_string($this->passwordResetTokenAttribute) || empty($this->passwordResetTokenAttribute)) { return true; } return $this->getPasswordResetToken() === $token; @@ -324,10 +324,8 @@ protected function validatePasswordResetToken($token) public function onInitPasswordResetToken($event) { $sender = $event->sender; - if (!is_string($sender->passwordResetTokenAttribute)) { - return; - } - $this->setPasswordResetToken(); + /* @var $sender static */ + return $sender->setPasswordResetToken(); } /** @@ -337,6 +335,9 @@ public function onInitPasswordResetToken($event) */ public function setPasswordResetToken($token = '') { + if (empty($this->passwordResetTokenAttribute) || !is_string($this->passwordResetTokenAttribute)) { + return null; + } return $this->{$this->passwordResetTokenAttribute} = $token; } @@ -346,6 +347,9 @@ public function setPasswordResetToken($token = '') */ public function getPasswordResetToken() { + if (empty($this->passwordResetTokenAttribute) || !is_string($this->passwordResetTokenAttribute)) { + return null; + } return $this->{$this->passwordResetTokenAttribute}; } } diff --git a/traits/RegistrationTrait.php b/traits/RegistrationTrait.php index a17d371..e37c1cb 100644 --- a/traits/RegistrationTrait.php +++ b/traits/RegistrationTrait.php @@ -209,7 +209,7 @@ public function getSource() public function setSource($source) { $sourceAttribute = $this->sourceAttribute; - return is_string($sourceAttribute) ? $this->$sourceAttribute = $source : null; + return (is_string($sourceAttribute) && !empty($sourceAttribute)) ? $this->$sourceAttribute = $source : null; } /** @@ -250,7 +250,7 @@ public function setSourceRules($rules) public function onInitSourceAttribute($event) { $sender = $event->sender; - $sourceAttribute = $sender->sourceAttribute; - $sender->$sourceAttribute = static::$sourceSelf; + /* @var $sender static */ + return $sender->setSource(static::$sourceSelf); } }