diff --git a/app/Config/Routes.php b/app/Config/Routes.php index f9a64c85..00661747 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -35,7 +35,7 @@ $routes->get('/', 'Authentication::index'); $routes->get('login/', 'Authentication::index'); $routes->post('authenticate/', 'Authentication::authenticate');//Routes For Authentication. $routes->get('logout/', 'Authentication::logout'); -$routes->get('auth_confirm_mail/', 'Authentication::auth_confirm_mail');//Routes For Confirmation Mail alert page. +$routes->post('auth_confirm_mail/', 'Authentication::auth_confirm_mail');//Routes For Confirmation Mail alert page. $routes->get('auth_reset_password/', 'Authentication::auth_reset_password');//Routes For Load Reset password Page. $routes->post('auth_reset_password_save/', 'Authentication::auth_reset_password_save');//Routes For update the Resetted password. $routes->get('lockscreen/', 'Authentication::lockscreen'); diff --git a/app/Controllers/Authentication.php b/app/Controllers/Authentication.php index f366ba5a..51ca3413 100755 --- a/app/Controllers/Authentication.php +++ b/app/Controllers/Authentication.php @@ -83,18 +83,22 @@ class Authentication extends BaseController ## Load Forgot password Confirmation Alert public function auth_confirm_mail() { - // Get the email address from the request - $mail_id = $this->request->getGet('email'); + $mail_id = $this->request->getPost('email'); $url_domain = base_url(); + $this->logger->info("auth confirm mail : Mail = ".$mail_id); + $this->logger->info("auth confirm mail : Domain = ".$url_domain); + // Validate the email address $validation_rules = [ 'email' => 'required|valid_email', ]; if (!$this->validate($validation_rules)) { - $this->logger->error('enter correct mail to reset your Password'); - return redirect()->back()->withInput()->with('error', 'Enter correct E-mail to reset your password'); + $response['status'] = false; + $response['message'] = 'Enter correct E-mail to reset your password'; + $this->logger->error($response['message']); + return $this->response->setJSON(['data' => $response]); } // Check if the email exists in the database @@ -102,22 +106,26 @@ class Authentication extends BaseController // $user = $auth_model->where('email', $mail_id)->first(); $where = ['email' => $mail_id, 'isactive' => 1]; $user = $auth_model->where($where)->first(); - + if (!$user) { - $this->logger->error('There is no user enteries against given mail'); - return redirect()->back()->withInput()->with('error', 'There is no user enteries against given mail'); + $response['status'] = false; + $response['message'] = 'There is no user enteries against given mail'; + $this->logger->error($response['message']); + return $this->response->setJSON(['data' => $response]); } else { + $this->logger->info("auth confirm mail : count = ".count($user)); $data['mail_id'] = $mail_id; // Generate a unique token for password reset $token = bin2hex(random_bytes(32)); $content = "Click the link below to reset your password : " . $url_domain . "auth_reset_password?email=" . $mail_id . "&token=" . $token; + $this->logger->info("auth confirm mail : content = ".$content); $email = \Config\Services::email(); // $recipient = 'venbalap08@gmail.com'; $recipient = $mail_id; // Compose the email $email->setTo($recipient); - $email->setFrom('no-reply@tripapprovaltool.com', 'BB-VBP'); + $email->setFrom('no-reply@tripapprovaltool.com', 'BB-Donor'); $email->setSubject('Email Notification'); // $email->setMessage('This is a notification email from CodeIgniter.'); $email->setMessage($content); @@ -125,22 +133,20 @@ class Authentication extends BaseController $update_token['reset_link'] = $token; $auth_model->update($user['user_id'], $update_token); $data['link'] = $url_domain . "auth_reset_password?email=" . $mail_id . "&token=" . $token; - // Retrieve flashed session data - $successMessage = session()->getFlashdata('success'); - $validationErrors = session()->getFlashdata('error'); - - // Load and display the form view with the above data - // Here, we'll use the default View class for demonstration purposes - $data['successMessage'] = $successMessage; - $data['validationErrors'] = $validationErrors; - // return view('auth_confirm_mail', $data); + if ($email->send()) { - // Email sent successfully - return view('auth_confirm_mail', $data); + $this->logger->info("auth confirm mail = Email sent successfully"); + $response['status'] = true; + $response['message'] = "Password Reset Link Shared on Your Email"; + $this->logger->error($response['message']); + return $this->response->setJSON(['data' => $response]); } else { - $this->logger->error('Email Not Sended,Try Again'); - return redirect()->back()->withInput()->with('error', 'Email Not Sended,Try Again'); + $response['status'] = false; + $response['message'] = 'There is no user enteries against given mail'; + $this->logger->error($response['message']); + // return redirect()->back()->withInput()->with('error', 'Email Not Sended,Try Again'); } + return $this->response->setJSON(['data' => $response]); } } diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php index 1806c7d4..c5780cfe 100644 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -66,8 +66,13 @@ abstract class BaseController extends Controller // echo $requestedRoute; } else { - if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate' && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') { - $this->authData = $this->session_log(); + if ($uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') { + $this->authData = $this->session_log(); + } + + $routesArr = ['login', 'authenticate', 'auth_confirm_mail', 'auth_reset_password', 'auth_reset_password_save']; + if (!in_array($requestedRoute, $routesArr)) { + $this->authData = $this->session_log(); } } diff --git a/app/Views/auth_login.php b/app/Views/auth_login.php index 9a45727e..173470f8 100755 --- a/app/Views/auth_login.php +++ b/app/Views/auth_login.php @@ -120,11 +120,44 @@