function forgot_password() { global $Userservice; global $UserResetPassword; global $getRouter; global $language; global $getMailer; $app = \Slim\Slim::getInstance(); $app->response->headers->set('Content-Type', 'application/json'); $app->response->setStatus(200); //Lang Call Start $hammu_lang_id = $app->request()->params("lang_id"); if (!empty($hammu_lang_id)) { getCurrentLanguages($hammu_lang_id); } //Lang Call end $email = $app->request()->params('email'); $user = $Userservice->findByEmail($email); if (empty($user)) { $messages = $language->text("hammu", "forgot_no_user_with_email"); //"There is no user with this email address"; $return_data = array("response_status" => '0', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } else { $resetPassword = $Userservice->findResetPasswordByUserId($user->getId()); if ($resetPassword !== null) { if ($resetPassword->getUpdateTimeStamp() > time()) { $messages = $language->text("hammu", "forgot_reset_code_already_sent"); //"Reset Code Already Sent.Please try again in 10 minutes."; $return_data = array("response_status" => '0', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } else { $resetPassword->setUpdateTimeStamp($resetPassword->getUpdateTimeStamp() + 600); $UserResetPassword->save($resetPassword); } } else { $resetPassword = getNewResetPassword($user->getId()); } $vars = array('code' => $resetPassword->getCode(), 'username' => $user->getUsername(), 'requestUrl' => $getRouter->urlForRoute('base.reset_user_password_request'), 'resetUrl' => $getRouter->urlForRoute('base.reset_user_password', array('code' => $resetPassword->getCode()))); $mail = $getMailer->createMail(); $mail->addRecipientEmail($email); $mail->setSubject($language->text('hammu', 'reset_password_mail_subject')); $mail->setTextContent($language->text('hammu', 'reset_password_mail_content_txt', $vars)); $mail->setHtmlContent($language->text('hammu', 'reset_password_mail_content_html', $vars)); $getMailer->send($mail); $messages = $language->text("hammu", "forgot_info_sent_to_your_email"); //"The information on changing and confirming your new password sent to your email."; $return_data = array("response_status" => '1', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } }
function forgot_password() { global $Userservice; global $UserResetPassword; global $getRouter; global $language; global $getMailer; $app = \Slim\Slim::getInstance(); $app->response->headers->set('Content-Type', 'application/json'); $app->response->setStatus(200); $email = $app->request()->params('email'); $user = $Userservice->findByEmail($email); $lang_id = (int) $app->request()->params("lang_id"); $currentLanguageId = getCurrentLanguages($lang_id); if (empty($user)) { if ($currentLanguageId == '32') { $messages = "Es gibt keinen Benutzer mit dieser Email-Adresse"; } else { if ($currentLanguageId == '33') { $messages = "No hay ningún usuario con esta direccion de email"; } else { $messages = "There is no user with this Email Address"; } } $return_data = array("response_status" => '0', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } else { $resetPassword = $Userservice->findResetPasswordByUserId($user->getId()); if ($resetPassword !== null) { if ($resetPassword->getUpdateTimeStamp() > time()) { if ($currentLanguageId == '32') { $messages = "Rückstellungscode bereits zugestellt. Bitte versuchen Sie es in 10 Minuten nochmals."; } else { if ($currentLanguageId == '33') { $messages = "Código de reseteo enviado. Vuelva a intentarlo en 10 minutos"; } else { $messages = "Reset Code already sent. Please try again in 10 minutes"; } } $return_data = array("response_status" => '0', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } else { $resetPassword->setUpdateTimeStamp($resetPassword->getUpdateTimeStamp() + 600); $UserResetPassword->save($resetPassword); } } else { $resetPassword = getNewResetPassword($user->getId()); } $vars = array('code' => $resetPassword->getCode(), 'username' => $user->getUsername(), 'requestUrl' => $getRouter->urlForRoute('base.reset_user_password_request'), 'resetUrl' => $getRouter->urlForRoute('base.reset_user_password', array('code' => $resetPassword->getCode()))); $mail = $getMailer->createMail(); $mail->addRecipientEmail($email); $mail->setSubject($language->text('hammu', 'reset_password_mail_subject')); $mail->setTextContent($language->text('hammu', 'reset_password_mail_content_txt', $vars)); $mail->setHtmlContent($language->text('hammu', 'reset_password_mail_content_html', $vars)); $getMailer->send($mail); if ($currentLanguageId == '32') { $messages = "Eine Bestätigung für ihr neues Passwort wurde an ihre Email-Adresse gesandt."; } else { if ($currentLanguageId == '33') { $messages = "El cambio de información y nueva contraseña han sido enviadas a su email"; } else { $messages = "Confirmation for your new Password sent to your Email Address"; } } $return_data = array("response_status" => '1', "response_message" => $messages); $app->response->setBody(json_encode($return_data)); } }