patashala/application/controllers/Login.php
Vivek a53135a78d Added based code
Added base code to the repo
2024-02-07 20:19:28 +05:30

162 lines
6.2 KiB
PHP
Executable File

<?php if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Login extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('crud_model');
$this->load->database();
$this->load->library('session');
$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
$this->output->set_header("Expires: Mon, 26 Jul 2010 05:00:00 GMT");
}
public function index()
{
if ($this->session->userdata('admin_login') == 1)
{
redirect(base_url() . 'admin/panel/', 'refresh');
}
if ($this->session->userdata('teacher_login') == 1)
{
redirect(base_url() . 'teacher/teacher_dashboard/', 'refresh');
}
if ($this->session->userdata('student_login') == 1)
{
redirect(base_url() . 'student/panel/', 'refresh');
}
if ($this->session->userdata('parent_login') == 1)
{
redirect(base_url() . 'parents/panel/', 'refresh');
}
$this->load->view('backend/login');
}
function lost_password($param1 = '', $param2 = '')
{
if($param1 == 'recovery')
{
$email = $_POST["field"];
$reset_account_type = '';
$new_password = substr( md5( rand(100000000,20000000000) ) , 0,7);
$new_hashed_password = sha1($new_password);
$query = $this->db->get_where('admin' , array('email' => $email));
if ($query->num_rows() > 0)
{
$this->db->where('email' , $email);
$this->db->update('admin' , array('password' => $new_hashed_password));
$this->crud_model->lost_password($email , $new_password);
}
$query = $this->db->get_where('teacher' , array('email' => $email));
if ($query->num_rows() > 0)
{
$this->db->where('email' , $email);
$this->db->update('teacher' , array('password' => $new_hashed_password));
$this->crud_model->lost_password($email , $new_password);
}
$query = $this->db->get_where('parent' , array('email' => $email));
if ($query->num_rows() > 0)
{
$this->db->where('email' , $email);
$this->db->update('parent' , array('password' => $new_hashed_password));
$this->crud_model->lost_password($email , $new_password);
}
$query = $this->db->get_where('student' , array('email' => $email));
if ($query->num_rows() > 0)
{
$this->db->where('email' , $email);
$this->db->update('student' , array('password' => $new_hashed_password));
$this->crud_model->lost_password($email , $new_password);
}
$this->session->set_flashdata('flash_message' , get_phrase('success'));
redirect(base_url(), 'refresh');
}
$this->load->view('backend/lost');
}
function ajax_login()
{
$response = array();
$email = $_POST["email"];
$password = sha1($_POST["password"]);
$response['submitted_data'] = $_POST;
$login_status = $this->validate_login($email, $password);
$response['login_status'] = $login_status;
if ($login_status == 'success')
{
$response['redirect_url'] = '';
}
echo json_encode($response);
}
function validate_login($email = '', $password = '')
{
$credential = array('username' => $email, 'password' => $password);
$query = $this->db->get_where('admin', $credential);
if ($query->num_rows() > 0)
{
$row = $query->row();
$this->session->set_userdata('admin_login', $row->status);
$this->session->set_userdata('admin_id', $row->admin_id);
$this->session->set_userdata('login_user_id', $row->admin_id);
$this->session->set_userdata('name', $row->name);
$this->session->set_userdata('login_type', 'admin');
return 'success';
}
$query = $this->db->get_where('teacher', $credential);
if ($query->num_rows() > 0)
{
$row = $query->row();
$this->session->set_userdata('teacher_login', '1');
$this->session->set_userdata('teacher_id', $row->teacher_id);
$this->session->set_userdata('login_user_id', $row->teacher_id);
$this->session->set_userdata('name', $row->name);
$this->session->set_userdata('login_type', 'teacher');
return 'success';
}
$query = $this->db->get_where('student', $credential);
if ($query->num_rows() > 0)
{
$row = $query->row();
$this->session->set_userdata('student_login', $row->student_session);
$this->session->set_userdata('student_id', $row->student_id);
$this->session->set_userdata('login_user_id', $row->student_id);
$this->session->set_userdata('name', $row->name);
$this->session->set_userdata('login_type', 'student');
return 'success';
}
$query = $this->db->get_where('parent', $credential);
if ($query->num_rows() > 0)
{
$row = $query->row();
$this->session->set_userdata('parent_login', '1');
$this->session->set_userdata('parent_id', $row->parent_id);
$this->session->set_userdata('login_user_id', $row->parent_id);
$this->session->set_userdata('name', $row->name);
$this->session->set_userdata('login_type', 'parent');
return 'success';
}
return 'invalid';
}
function four_zero_four()
{
$this->load->view('four_zero_four');
}
function logout()
{
$this->session->sess_destroy();
$this->session->set_flashdata('logout_notification', 'logged_out');
redirect(base_url(), 'refresh');
}
}