Commit 86a325610d4af33c6a62eda10c2244084ede9cdc

Authored by Dmytry Fedorchuk
1 parent dee603c7

restet password mail

Showing 1 changed file with 50 additions and 1 deletions   Show diff stats
common/models/Customer.php
... ... @@ -3,6 +3,10 @@
3 3 namespace common\models;
4 4 use common\widgets\Mailer;
5 5 use Yii;
  6 +use Yii;
  7 +use yii\base\NotSupportedException;
  8 +use yii\behaviors\TimestampBehavior;
  9 +use yii\db\ActiveRecord;
6 10  
7 11 class Customer extends \yii\db\ActiveRecord implements \yii\web\IdentityInterface
8 12 {
... ... @@ -210,5 +214,50 @@ class Customer extends \yii\db\ActiveRecord implements \yii\web\IdentityInterfac
210 214  
211 215 public function getImageProfile(){
212 216 return !empty($this->image) ? $this->image : 'user_photo.png';
213   - }
  217 + }
  218 +
  219 + public static function findByPasswordResetToken($token)
  220 + {
  221 + if (!static::isPasswordResetTokenValid($token)) {
  222 + return null;
  223 + }
  224 +
  225 + return static::findOne([
  226 + 'password_reset_token' => $token,
  227 + 'status' => self::STATUS_ACTIVE,
  228 + ]);
  229 + }
  230 +
  231 + /**
  232 + * Finds out if password reset token is valid
  233 + *
  234 + * @param string $token password reset token
  235 + * @return boolean
  236 + */
  237 + public static function isPasswordResetTokenValid($token)
  238 + {
  239 + if (empty($token)) {
  240 + return false;
  241 + }
  242 +
  243 + $timestamp = (int) substr($token, strrpos($token, '_') + 1);
  244 + $expire = Yii::$app->params['user.passwordResetTokenExpire'];
  245 + return $timestamp + $expire >= time();
  246 + }
  247 +
  248 + /**
  249 + * Generates new password reset token
  250 + */
  251 + public function generatePasswordResetToken()
  252 + {
  253 + $this->password_reset_token = Yii::$app->security->generateRandomString() . '_' . time();
  254 + }
  255 +
  256 + /**
  257 + * Removes password reset token
  258 + */
  259 + public function removePasswordResetToken()
  260 + {
  261 + $this->password_reset_token = null;
  262 + }
214 263 }
... ...