public function confirmAction() { $this->view->disable(); $mail = $this->dispatcher->getParam('mail'); $user = User::findFirst(array('conditions' => 'mail = ?1', 'bind' => array(1 => $mail))); if ($user) { $conf = Confirmation::findFirst(array('conditions' => 'user = ?1', 'bind' => array(1 => $user->id))); if ($conf) { if ($conf->code == $this->dispatcher->getParam('code')) { $user->confirmed = 1; if ($user->save()) { $this->_login($user); $conf->delete(); message($this, "s", "Аккаунт подтвержден. Добро пожаловать, " . $user->name); return $this->response->redirect(); } else { message($this, "d", "Ошибка активации. Попробуйте позже"); return $this->response->redirect(); } } else { message($this, "d", "Код подтверждения не подходит"); return $this->response->redirect(); } } else { message($this, "w", "Пользователь уже подтвержден"); return $this->response->redirect(); } } else { message($this, "d", "Пользователя " . $mail . " не существует"); return $this->response->redirect(); } }