public function recoveryFormSucceeded($form, $values) { $userData = $this->model->getBy(array("email" => $values->username)); if (!$userData) { $this->flashMessage("Neznámé uživatelské jméno.", "danger"); $this->redirect("password"); } else { try { $random = \Nette\Utils\Random::generate(); $id = $userData->id; $loginData = $this->localUserModel->query("SELECT * FROM login_local WHERE user_id = " . $id)->fetch(); if (!$loginData) { $this->localUserModel->add($id, \Nette\Utils\Random::generate()); } $this->localUserModel->setToken($id, $random); $template = $this->createTemplate()->setFile(__DIR__ . '/../templates/emails/passwordRecovery.latte'); $template->username = $values->username; $template->theme = "Nastavení hesla"; $template->verificationToken = $random; $mail = new \Nette\Mail\Message(); $mail->setFrom($this->senderName)->addTo($values->username)->setSubject("Nastavení hesla")->setHtmlBody($template); $this->mailer->send($mail); $this->flashMessage("Na adresu " . $values->username . " byl zaslán ověřovací kód.", "info"); } catch (Exception $e) { $this->flashMessage("Při odesílání ověřovacího kódu došlo k neznámé chybě.", "danger"); } } $this->redirect("recovery", array("username" => $values->username)); }
public function passwordFormSucceeded($form, $values) { $id = $this->user->id; unset($values->id); $data = $this->model->get($id); if ($data) { if ($data->email) { try { $this->localUserModel->add($id, $values->password); $this->flashMessage("Heslo bylo nastaveno.", "success"); $this->redirect("default"); } catch (Exception $e) { $this->flashMessage("Nastavení hesla se nepodařilo.", "danger"); } } else { $this->flashMessage("Nemáte nastavenou emailovou adresu. Není ji tak možné ho použít jako přihlašovací jméno.", "danger"); } } else { $this->flashMessage("Takový účet neexistuje.", "warning"); } $this->redirect("default"); }