golf_backend/app/Controllers/Sendmail_controller.php
2023-05-11 18:05:26 +05:30

115 lines
3.4 KiB
PHP

<?php namespace App\Controllers;
// use App\Models\Dashboard_model;
use App\Models\Member_model;
class Sendmail_controller extends BaseController
{
public function __construct()
{
$this->session = session();
$this->MemberModel = new Member_model();
}
public function index($to,$code,$return)
{
$email = \Config\Services::email();
$email->setFrom('suseendhiran.1702117@srit.org', 'suseendhiran');
$email->setTo($to);
if ($return == 2)
{
$message = $code;
}
if($return == 3)
{
$message = "<p>username : $to </p>";
$message .= "<p>password : $code </p>";
$message .= '<p><a href="'.base_url().'admin">Login here</a></p>';
}
else
{
$message = '<p>Please click the following link to verify your email address</p>';
$message .= '<p><a href="'.base_url().'verify_email/'.md5($code).'">Verify Email</a></p>';
}
$email->setSubject('Verify your email address');
$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()
{
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);
}
}
}
}