public function registrationAction() { $this->view->disable(); if ($this->request->isPost()) { $email = $this->request->getPost('email', 'striptags'); $user = User::findFirst(array('conditions' => 'mail = ?1', 'bind' => array(1 => $email))); if ($user) { message($this, "d", "Такой пользователь уже есть"); return $this->response->redirect(); } else { $user = new User(); $user->mail = $email; $user->password = $this->security->hash($this->request->getPost('password')); $user->surname = $this->request->getPost('surname', 'striptags'); $user->name = $this->request->getPost('name', 'striptags'); $user->patronymic = $this->request->getPost('patronymic', 'striptags'); $user->phone = $this->request->getPost('phone', 'striptags'); $user->role = 'user'; $user->confirmed = false; if ($user->save()) { $conf = new Confirmation(); $conf->user = $user->id; $conf->code = $this->security->getSaltBytes(); if ($conf->save()) { $this->getDI()->getMail()->send(array($user->mail => $user->name), "Пожалуйста, подтвердите почту", 'confirmation', array('confirmUrl' => '/confirm/' . $user->mail . '/' . $conf->code, 'publicUrl' => 'carrepair.eu1.frbit.net')); message($this, "i", "На почту " . $user->mail . " направлено письмо для подтверждения аккаунта"); return $this->response->redirect(); } else { foreach ($conf->getMessages() as $message) { message($this, "d", "Ошибка: " . $message->getMessage() . " в поле " . $message->getField() . ". Тип: " . $message->getType()); } return $this->response->redirect(); } } else { foreach ($user->getMessages() as $message) { message($this, "d", "Ошибка: " . $message->getMessage() . " в поле " . $message->getField() . ". Тип: " . $message->getType()); } return $this->response->redirect(); } } } }