File: //home/cafsindia/crm_cafsindia_com/application/controllers/Secure_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Secure_Controller extends CI_Controller
{
/*
* Controllers that are considered secure extend Secure_Controller, optionally a $module_id can
* be set to also check if a user can access a particular module in the system.
*/
public function __construct($module_id = NULL, $submodule_id = NULL)
{
parent::__construct();
$ip=$_SERVER['REMOTE_ADDR'];
$port=$_SERVER['REMOTE_PORT'];
$this->load->model('Employee');
$model = $this->Employee;
/*if(!$model->is_logged_in())
{
redirect('login');
}
if(($ip!=="183.83.53.158") && ($ip!=="49.207.176.139") && ($ip!=="106.197.151.148")&& ($ip!=="106.51.77.246") && ($this->session->userdata('emp_role')!="1") && ($this->session->userdata('emp_role')!="3") && ($this->session->userdata('emp_role')!="6") && ($this->session->userdata('emp_role')!="9")&& ($this->session->userdata('emp_id')!="172") && ($this->session->userdata('emp_id')!="10") && ($this->session->userdata('emp_id')!="146") && ($this->session->userdata('emp_id')!="155") && ($this->session->userdata('emp_id')!="147") && ($this->session->userdata('emp_id')!="46") && ($this->session->userdata('emp_id')!="57")&& ($this->session->userdata('emp_id')!="300")&& ($this->session->userdata('emp_id')!="301") && ($this->session->userdata('emp_id')!="302") && ($this->session->userdata('emp_role')!="6") && ($this->session->userdata('emp_role')!="4"))
{
redirect('login');
}
*/
$logged_in_employee_info = $model->get_logged_in_employee_info();
if(!$model->has_module_grant($module_id, $logged_in_employee_info->person_id) ||
(isset($submodule_id) && !$model->has_module_grant($submodule_id, $logged_in_employee_info->person_id)))
{
redirect('no_access/' . $module_id . '/' . $submodule_id);
}
// load up global data visible to all the loaded views
$data['allowed_modules'] = $this->Module->get_allowed_modules($logged_in_employee_info->person_id);
$data['user_info'] = $logged_in_employee_info;
$data['controller_name'] = $module_id;
$this->load->vars($data);
}
/*
* Internal method to do XSS clean in the derived classes
*/
protected function xss_clean($str, $is_image = FALSE)
{
// This setting is configurable in application/config/config.php.
// Users can disable the XSS clean for performance reasons
// (cases like intranet installation with no Internet access)
if($this->config->item('ospos_xss_clean') == FALSE)
{
return $str;
}
else
{
return $this->security->xss_clean($str, $is_image);
}
}
// this is the basic set of methods most OSPOS Controllers will implement
public function index() { return FALSE; }
public function search() { return FALSE; }
public function suggest_search() { return FALSE; }
public function view($data_item_id = -1) { return FALSE; }
public function save($data_item_id = -1) { return FALSE; }
public function delete() { return FALSE; }
}
?>