Beispiel #1
0
 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));
 }
Beispiel #2
0
 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");
 }