198 lines
5.9 KiB
PHP
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');
|
|
}
|
|
}
|