session = session(); $this->MemberModel = new Member_model(); } public function index($to,$code,$return=null) { $email = \Config\Services::email(); $email->setFrom('suseendhiran.1702117@srit.org', 'suseendhiran'); $email->setTo($to); if($return == 4) { $subject = 'Expire Alert'; $message = $code; } else if ($return == 2) { $data['id'] = '2'; $data['otp'] = $code; $subject ='Verify your email address'; $message = view('verification_mail_temp',$data); } else if($return == 3) { $data['id'] = '3'; $data['username'] = $to; $data['password'] = $code; $data['url'] = base_url()."admin"; $subject ='Verify your email address'; $message = view('verification_mail_temp',$data); } else { $data['to'] = $to; $data['code'] = $code; $data['url'] = base_url()."/verify_email/".md5($code); $subject ='Verify your email address'; $message = view('verification_mail_temp',$data); } $email->setSubject($subject); $email->setMessage($message); if ($email->send()) { if ($return == 1) { $this->session->setTempdata('mail_success', "Please check your mail to verify",3); // return redirect()->to(base_url()); } } else { echo 0; } } public function verify_email($verification_code) { // Get the user data corresponding to the verification code $user_data = $this->MemberModel->where('md5(verification_code)', $verification_code)->find(); if($user_data) { //print_r($user_data);die(); if($user_data[0]['is_email_verified'] == 0) { // Update the users status // $update_data = $this->MemberModel->update_status($user_data['id']); $data['is_email_verified'] = 1; $update_data = $this->MemberModel->where('id', $user_data[0]['id'] )->set($data)->update(); if($update_data) { return redirect()->to(base_url()."set_password/".md5($user_data[0]['id'])); } else { // Show error message echo 'Error in verifying email. Please try again.'; } }else{ // Show error message echo 'Email already verified.'; } } else { // Show error message echo 'Invalid verification code.'; } } public function forgot_password() { $this->session->setTempdata('user',"member",3); if($this->request->getmethod() == 'get') { return view('forgot_password.php'); } else if($this->request->getmethod() == 'post') { $email = $this->request->getVar('email'); $user_data = $this->MemberModel->where('email', $email)->where('is_email_verified', 1 )->find(); if ($user_data) { $otp = rand(1000 , 9999); $this->index($this->request->getVar('email') , $otp , 2 ); $data['status'] = 'success'; $data['otp'] = $otp; echo json_encode($data); } else { $data['status'] = 'failed'; echo json_encode($data); } } } }