ok
Direktori : /proc/self/root/home2/selectio/www/bharath/application/libraries/ |
Current File : //proc/self/root/home2/selectio/www/bharath/application/libraries/Rbac.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Rbac { private $userRoles = array(); protected $permissions; var $perm_category; function __construct() { $this->CI = & get_instance(); $this->permissions = array(); $this->CI->config->load('mailsms'); $this->perm_category = $this->CI->config->item('perm_category'); self::loadPermission(); //Initiate the userroles } function loadPermission() { $admin_session = $this->CI->session->userdata('admin'); foreach ($admin_session['roles'] as $key => $role) { $permissions = $this->getPermission($role); $this->userRoles[$role] = $permissions; } } function getPermission($role_id) { $role_perm = $this->CI->rolepermission_model->getPermissionByRole($role_id); foreach ($role_perm as $key => $value) { foreach ($this->perm_category as $per_cat_key => $per_cat_value) { if ($value->$per_cat_value == 1) { $this->permissions[$value->permission_category_code . "-" . $per_cat_value] = true; } } } return $role_perm; } function hasPrivilege($category = null, $permission = null) { $perm = trim($category) . "-" . trim($permission); $roles = $this->CI->customlib->getStaffRole(); $logged_user_role = json_decode($roles)->name; if ($logged_user_role == 'Super Admin') { return true; } // echo "<pre>"; // print_r($this->permissions); // echo "<pre>"; // exit; // if(!$this->rbac->hasPrivilege('student','can_view')){ // access_denied(); // } foreach ($this->userRoles as $role) { if ($this->hasPermission($perm)) { return true; } } return false; } function hasPermission($permission) { // echo "<pre/>"; // print_r($this->permissions); // exit(); return isset($this->permissions[$permission]); } function module_permission($module_name) { //echo "hii"; $module_perm = $this->CI->Module_model->getPermissionByModulename($module_name); return $module_perm; } function unautherized() { $this->CI->load->view('layout/header'); $this->CI->load->view('unauthorized'); $this->CI->load->view('layout/footer'); } }