siddharth_application/application/libraries/BaseController.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
);
}
}