/** * @param string $email * @param \Model\Core\User\User $user */ private function sendActivationEmail($email, $user) { $template = $this->template; $template->setFile(__DIR__ . "/activate.email.latte"); $template->appname = $this->presenter->getAppName(); $template->username = $user->getUsername(); $key = $this->actionKey->createKey(\Model\Core\ActionKey\ActionKeyTypeCode::REGISTER, $user->getId()); $template->link = $this->presenter->link("//Homepage:activate", array("id" => $user->getId(), "key" => $key->getKey())); $template->activate = $this->container->getParameters()["register"]["activation"]; $this->mailer->createMessage($email, "Vítejte na " . $this->presenter->getAppName(), (string) $template); $this->mailer->send(); }
/** * @param \Nette\Application\UI\Form $form */ public function processForm(\Nette\Application\UI\Form $form) { $values = $form->getValues(); $ok = true; $user = $this->userRepository->findUserByEmail($values->email); if (!is_null($user)) { try { $actionKey = $this->actionKeyRepository->createKey(\Model\Core\ActionKey\ActionKeyTypeCode::PASSWORD, $user->getId()); $this->sendEmail($actionKey, $user); } catch (\Exception $e) { $ok = false; $this->catchFormError($e, $form, $this->t("global.errors.action-error")); } if ($ok) { $this->presenter->flashMessage($this->t("forms.forgot-password.messages.sended"), "info"); $this->presenter->redirect("Homepage:default"); } } else { $this->flashMessage($this->t("forms.forgot-password.errors.wrong-email"), "warning"); } }