public function validateSecureToken($token, $userId) { $user = \admin\models\User::findOne($userId); // @todo chekc if secure token timestamp is to old ?! if ($user->secure_token == sha1($token)) { return $user; } return false; }
public static function getList() { $time = time(); $return = []; foreach (self::find()->asArray()->all() as $item) { $user = User::findOne($item['user_id']); if ($user) { $inactiveSince = $time - $item['last_timestamp']; $return[] = ['firstname' => $user->firstname, 'lastname' => $user->lastname, 'email' => $user->email, 'last_timestamp' => $item['last_timestamp'], 'is_active' => $inactiveSince >= 120 ? false : true, 'inactive_since' => round($inactiveSince / 60) . ' min']; } } return $return; }
/** * Sends an email with a link, for resetting the password. * * @return boolean whether the email was send */ public function sendEmail() { /* @var $user User */ $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]); if ($user) { if (!User::isPasswordResetTokenValid($user->password_reset_token)) { $user->generatePasswordResetToken(); } if ($user->save()) { return \Yii::$app->mailer->compose(['text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send(); } } return false; }
/** * Returns an active record object for the admin user who last time updated this page. * * @return \admin\models\User|boolean Returns an ActiceRecord for the admin user who last time updated this page, if not * found the return value is false. */ public function getUserUpdated() { return User::findOne($this->itemArray['update_user_id']); }