177 lines
5.9 KiB
PHP
177 lines
5.9 KiB
PHP
<?php defined ( 'BASEPATH' ) or exit ( 'No direct script access allowed' );
|
|
|
|
/**
|
|
* Class : BaseController
|
|
* Base Class to control over all the classes
|
|
* @author : Kishor Mali
|
|
* @version : 1.1
|
|
* @since : 15 November 2016
|
|
*/
|
|
class BaseController extends CI_Controller {
|
|
protected $role = '';
|
|
protected $vendorId = '';
|
|
protected $name = '';
|
|
protected $Designation = '';
|
|
protected $DEPCode = '';
|
|
protected $HeadDept = '';
|
|
protected $DepartmentName = '';
|
|
protected $roleText = '';
|
|
protected $global = array ();
|
|
|
|
/**
|
|
* Takes mixed data and optionally a status code, then creates the response
|
|
*
|
|
* @access public
|
|
* @param array|NULL $data
|
|
* Data to output to the user
|
|
* running the script; otherwise, exit
|
|
*/
|
|
public function response($data = NULL) {
|
|
$this->output->set_status_header ( 200 )->set_content_type ( 'application/json', 'utf-8' )->set_output ( json_encode ( $data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) )->_display ();
|
|
exit ();
|
|
}
|
|
|
|
/**
|
|
* This function used to check the user is logged in or not
|
|
*/
|
|
function isLoggedIn() {
|
|
$isLoggedIn = $this->session->userdata ( 'isLoggedIn' );
|
|
|
|
if (! isset ( $isLoggedIn ) || $isLoggedIn != TRUE) {
|
|
$this->load->library('uri');
|
|
if ($this->uri->segment(2) == 'zohobooks_api_fetch_all') {
|
|
redirect('login/zohobooks_api_fetch_all');
|
|
}
|
|
redirect ( 'login' );
|
|
} else {
|
|
$this->role = $this->session->userdata ( 'role' );
|
|
// print_r($this->role);die();
|
|
// session_start();
|
|
log_message('ERROR','#####In BaseController - isLoggedIn function ci session : ' . $this->session->userdata ( 'name' ));
|
|
// log_message('ERR?OR','#####In BaseController - isLoggedIn function session super global methid : ' . $_SESSION['name']);
|
|
$this->vendorId = $this->session->userdata ( 'userId' );
|
|
$this->name = $this->session->userdata ( 'name' );
|
|
$this->roleText = $this->session->userdata ( 'roleText' );
|
|
//$this->Designation = $this->session->userdata ( 'Designation' );
|
|
$this->DEPCode = $this->session->userdata ( 'DEPCode' );
|
|
$this->HeadDept = $this->session->userdata ( 'HeadDept' );
|
|
$this->DepartmentName = $this->session->userdata ( 'DepartmentName' );
|
|
$this->EmpID = $this->session->userdata ( 'EmpID' );
|
|
$this->depaccess = $this->session->userdata ('depaccess');
|
|
$this->global ['name'] = $this->name;
|
|
$this->global ['role'] = $this->role;
|
|
$this->global ['role_text'] = $this->roleText;
|
|
$this->global ['DEPCode'] = $this->DEPCode;
|
|
$this->global ['Designation'] = $this->Designation;
|
|
$this->global ['DepAccesslist'] = $this->depaccess;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to check the access
|
|
*/
|
|
function isAdmin() {
|
|
if ($this->role != ROLE_ADMIN) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to check the access
|
|
*/
|
|
function isTicketter() {
|
|
if ($this->role != ROLE_ADMIN || $this->role != ROLE_MANAGER) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to load the set of views
|
|
*/
|
|
function loadThis() {
|
|
$this->global ['pageTitle'] = 'CodeInsect : Access Denied';
|
|
|
|
$this->load->view ( 'includes/header', $this->global );
|
|
$this->load->view ( 'access' );
|
|
$this->load->view ( 'includes/footer' );
|
|
}
|
|
|
|
/**
|
|
* This function is used to logged out user from system
|
|
*/
|
|
function logout() {
|
|
ob_start();
|
|
$this->load->driver('cache');
|
|
$this->session->set_userdata();
|
|
delete_cookie('ci_session');
|
|
//$this->session->userdata = array('test' => 'tst');
|
|
$this->session->sess_destroy();
|
|
$this->cache->clean();
|
|
ob_clean();
|
|
redirect ( 'login' );
|
|
}
|
|
|
|
/**
|
|
* This function used to load views
|
|
* @param {string} $viewName : This is view name
|
|
* @param {mixed} $headerInfo : This is array of header information
|
|
* @param {mixed} $pageInfo : This is array of page information
|
|
* @param {mixed} $footerInfo : This is array of footer information
|
|
* @return {null} $result : null
|
|
*/
|
|
function loadViews($viewName = "", $headerInfo = NULL, $pageInfo = NULL, $footerInfo = NULL){
|
|
|
|
$this->load->view('includes/header', $headerInfo);
|
|
$this->load->view($viewName, $pageInfo);
|
|
$this->load->view('includes/footer', $footerInfo);
|
|
}
|
|
|
|
/**
|
|
* This function used provide the pagination resources
|
|
* @param {string} $link : This is page link
|
|
* @param {number} $count : This is page count
|
|
* @param {number} $perPage : This is records per page limit
|
|
* @return {mixed} $result : This is array of records and pagination data
|
|
*/
|
|
function paginationCompress($link, $count, $perPage = 10) {
|
|
$this->load->library ( 'pagination' );
|
|
|
|
$config ['base_url'] = base_url () . $link;
|
|
$config ['total_rows'] = $count;
|
|
$config ['uri_segment'] = SEGMENT;
|
|
$config ['per_page'] = $perPage;
|
|
$config ['num_links'] = 5;
|
|
$config ['full_tag_open'] = '<nav><ul class="pagination">';
|
|
$config ['full_tag_close'] = '</ul></nav>';
|
|
$config ['first_tag_open'] = '<li class="arrow">';
|
|
$config ['first_link'] = 'First';
|
|
$config ['first_tag_close'] = '</li>';
|
|
$config ['prev_link'] = 'Previous';
|
|
$config ['prev_tag_open'] = '<li class="arrow">';
|
|
$config ['prev_tag_close'] = '</li>';
|
|
$config ['next_link'] = 'Next';
|
|
$config ['next_tag_open'] = '<li class="arrow">';
|
|
$config ['next_tag_close'] = '</li>';
|
|
$config ['cur_tag_open'] = '<li class="active"><a href="#">';
|
|
$config ['cur_tag_close'] = '</a></li>';
|
|
$config ['num_tag_open'] = '<li>';
|
|
$config ['num_tag_close'] = '</li>';
|
|
$config ['last_tag_open'] = '<li class="arrow">';
|
|
$config ['last_link'] = 'Last';
|
|
$config ['last_tag_close'] = '</li>';
|
|
|
|
$this->pagination->initialize ( $config );
|
|
$page = $config ['per_page'];
|
|
$segment = $this->uri->segment ( SEGMENT );
|
|
|
|
return array (
|
|
"page" => $page,
|
|
"segment" => $segment
|
|
);
|
|
}
|
|
}
|