Exemplo n.º 1
0
 /**
  * Страница активации для подтверждения сменя email
  *
  * @param string $code код подтверждения
  *
  * @return string|\yii\web\Response
  *
  * @throws \cs\web\Exception
  */
 public function actionChange_email_activate($code)
 {
     $row = EmailChangeDispatcher::find(['code' => $code]);
     if (is_null($row)) {
         throw new Exception('Данный код уже активирован или не найден');
     }
     if (Yii::$app->user->isGuest) {
         /** @var \app\models\User $user */
         $user = User::find($row->getField('parent_id'));
         $user->update(['email' => $row->getField('email')]);
         Yii::$app->user->login($user);
     } else {
         /** @var \app\models\User $user */
         $user = Yii::$app->user->identity;
         $user->update(['email' => $row->getField('email')]);
     }
     $row->delete();
     return $this->render();
 }