bbone/application/modules/Auth/controllers/Auth.php
suseendhiran17 67524e77fa suseendhiran
2023-01-10 14:36:56 +05:30

198 lines
5.9 KiB
PHP

<?php defined('BASEPATH') or exit('No direct script access allowed');
/**
* AMS
*
* @package HMVC
* @author Venba
* @copyright 2022 Venba
* @license https://venbainfotech.com/licenses/MIT MIT License
* @link <URI> (description)
* @version GIT: $Id$
* @since Version 0.0.1
* @filesource
*
*/
class Auth extends MY_Controller
{
/**
* [__construct description]
*
* @method __construct
*/
public function __construct()
{
// To inherit directly the attributes of the parent class.
parent::__construct();
$this->load->model('auth_model');
$this->load->model('MY_Model');
}
/**
* [index description]
*
* @method index
*
* @return [type] [description]
*/
public function index()
{
//echo site_url();
// Example
if(check_auth())
{
redirect('dashboard');
}
else{
$this->layout->load_view('auth/login');
}
// $this->load->view('welcome/welcome_message');
// $this->load->view('welcome_message');
}
public function authendicate()
{
$user = $this->auth_model->validate_user();
// print_r($user);die();
// echo hash_password('password');die();
if (empty($user)) {
$this->session->set_flashdata('msg', "username not avaiable");
redirect('login');
}
if (!empty($user) && $user->is_active == 0) {
$this->session->set_flashdata('msg', "deactivate user");
redirect('login');
}
// if (!empty($user)) {
// if ($user->is_active == 0) {
// $this->session->set_flashdata('msg', $user);
// redirect('login');
// }
// else{
// $this->session->set_flashdata('msg', $user);
// redirect('login');
// }
// }
// if (!empty($user) && $user->status == 0) {
// // account pending
// echo json_encode(array('st'=>2));
// exit();
// }
// if (!empty($user) && $user->status == 2) {
// // account suspend
// echo json_encode(array('st'=>3));
// exit();
// }
// if ($user->role == 'user') {
// $diff = date_difference($user->created_at);
// if (!empty($user) && $user->email_verified == 0 && $this->settings->enable_email_verify == 1 && $diff < 2) {
// // email verify
// echo json_encode(array('st'=>4));
// exit();
// }
// }
// if ($user->role == 'subadmin' || $user->role == 'editor' || $user->role == 'viewer') {
// $user_id = $user->parent_id;
// }else{
// $user_id = $user->id;
// }
// if valid
if(password_verify($this->input->post('password'), $user->password))
{
$data = array(
'id' => $user->id,
'name' => $user->name,
//'thumb' => $user->thumb,
'email' =>$user->email,
'role' =>$user->role,
'action_permit' =>$user->action_permit,
'business_id' =>$user->business_id,
'logged_in' => TRUE
);
$data = $this->security->xss_clean($data);
$this->session->set_userdata($data);
redirect('dashboard');
}
// pass the value 1 when the username or password is wrong
$this->session->set_flashdata('msg',"password doesn't match");
redirect('login');
}
public function logout()
{
$this->auth_model->logout();
redirect('login');
}
public function lost_your_password()
{
$this->layout->load_view("auth/otp_verification");
}
public function send__mail(){
// otp generator
$otp = rand ( 1000 , 9999 );
$data['otp'] = $otp;
$mail = $this->input->post('email');
$user = $this->auth_model->validate_user();
if (empty($user)) {
$data['csrf_hash'] = $this->security->get_csrf_hash();
$data['status'] = "failed";
echo json_encode($data);
}
else{
// $to = "suseendhiran1999@gmail.com"; // $mail
// $subject = "OTP";
// $message = $otp;
// $success_msg = $this->auth_model->send_email($to, $subject, $message);
$data['csrf_hash'] = $this->security->get_csrf_hash();
$data['status'] = "success";
$data['id'] = $user->id;
echo json_encode($data);
}
}
public function verify_otp(){
$generate_otp = $this->input->post('hidden_otp');
$user_entered_otp = $this->input->post('otp');
$id = $this->input->post('id');
if ($generate_otp == $user_entered_otp)
{
$data['generate_otp'] = $generate_otp;
$data['user_entered_otp'] = $user_entered_otp;
$data['csrf_hash'] = $this->security->get_csrf_hash();
$data['status'] = "success";
$data['id'] = $id;
$htmlPage = $this->load->view('change_password_form.php',$data,true);
$data['htmlPage'] = $htmlPage;
echo json_encode($data);
}
else
{
$data['csrf_hash'] = $this->security->get_csrf_hash();
$data['status'] = "failed";
echo json_encode($data);
}
}
public function change_password()
{
$id = $this->input->post('id');
$data['password'] = hash_password($this->input->post('password'));
$table="users";
$userData = $this->MY_Model->edit_option($data, $id, $table);
redirect('login');
}
}