UserManager::verifyEmail PHP Method

verifyEmail() public method

public verifyEmail ( $token ) : boolean
$token
return boolean
    public function verifyEmail($token)
    {
        $transaction = Yii::app()->getDb()->beginTransaction();
        try {
            $tokenModel = $this->tokenStorage->get($token, UserToken::TYPE_EMAIL_VERIFY);
            if (null === $tokenModel) {
                Yii::app()->eventManager->fire(UserEvents::FAILURE_EMAIL_CONFIRM, new UserEmailConfirmEvent($token));
                return false;
            }
            $userModel = User::model()->active()->findByPk($tokenModel->user_id);
            if (null === $userModel) {
                Yii::app()->eventManager->fire(UserEvents::FAILURE_EMAIL_CONFIRM, new UserEmailConfirmEvent($token));
                return false;
            }
            $userModel->email_confirm = User::EMAIL_CONFIRM_YES;
            if ($this->tokenStorage->activate($tokenModel) && $userModel->save()) {
                Yii::app()->eventManager->fire(UserEvents::SUCCESS_EMAIL_CONFIRM, new UserEmailConfirmEvent($token, $userModel));
                $transaction->commit();
                return true;
            }
        } catch (Exception $e) {
            $transaction->rollback();
            Yii::app()->eventManager->fire(UserEvents::FAILURE_EMAIL_CONFIRM, new UserEmailConfirmEvent($token));
        }
        return false;
    }