public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new MailTemplateEngine(); } return self::$instance; }
private function addForgotPasswordToDatabase(User $user) { $forgotPasswordEngine = ForgotPasswordEngine::getInstance(); $exists = $forgotPasswordEngine->getForgotPasswordByUserID($user->getUserID()); if (is_object($exists)) { if ($forgotPasswordEngine->forgotPasswordIsOfValidAge($exists)) { return; } $forgotPasswordEngine->removeForgotPassword($exists); } $forgotPassword = $forgotPasswordEngine->generateNewForgotPassword($user->getUserID()); if ($forgotPassword === false) { $this->showErrorMessageForForgotPassword(); return; } $mailTemplateEngine = MailTemplateEngine::getInstance(); $mail = $mailTemplateEngine->loadTemplate("forgotPassword"); if ($mail === false) { $this->showErrorMessageForForgotPassword(); return; } $mail->addRecipient($user->getEmail()); $mail->setBulkMail(false); $mail->addReplacementValue("[[name]]", $user->getEmail(), $user->getFirstName()); $passwordTokenLink = new Link("users/forgotPassword/{$forgotPassword->getToken()}", false, false, false, true); $mail->addReplacementValue("[[passwordToken]]", $user->getEmail(), $passwordTokenLink->getHref()); if (!$mail->sendMail()) { $this->showErrorMessageForForgotPassword(); return; } }