Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/ecampus.ncriptech.com/application/controllers/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * */ class Roles extends BaseAdminController { protected $inst_id=''; protected $inst_parent_id=''; protected $inst_code=''; protected $inst_type=''; protected $hrms_access=''; function __construct() { parent::__construct(); $institute_data=check_institute($this->data['userdata']); $this->inst_id=$institute_data['institute_id']; $this->inst_parent_id=$institute_data['inst_parent_id']; $this->inst_code=$institute_data['inst_code']; $this->inst_type=$institute_data['inst_type']; } public function index(){ if($this->data['userdata']->user_type=='student' || $this->data['userdata']->user_type=='agent'){ redirect($this->data['base_url']); } if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Roles & Permissions'; $view='roles/vw_roles'; $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function indexAddEdit($role_id=null){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Roles & Permissions'; $role_permissions=array(); $role_data=array(); $permission_array=array(); if(!empty($role_id)){ $role_id=decode_data($role_id); $role_data=$this->hrmrm->get_role(array('role_id'=>$role_id)); if(!empty($role_data) && !empty($role_data->role_permissions)){ $role_permissions=json_decode($role_data->role_permissions); } } //print_obj($this->config->item('permissions_array'));die; $i=0; foreach ($this->config->item('permissions_array') as $key => $value) { foreach ($value['access'] as $k => $v) { $access[$key][]=array( $k=>$v, 'selected'=>(isset($role_permissions) && ($role_permissions[$i]->{$key}->access==$k))?'selected':'' ); } // foreach ($value['edit'] as $k => $v) { // $edit[$key][]=array( // $k=>$v, // 'selected'=>(isset($role_permissions) && ($role_permissions[$i]->{$key}->edit==$k))?'selected':'' // ); // } // foreach ($value['delete'] as $k => $v) { // $delete[$key][]=array( // $k=>$v, // 'selected'=>(isset($role_permissions) && ($role_permissions[$i]->{$key}->delete==$k))?'selected':'' // ); // } // foreach ($value['view'] as $k => $v) { // $view[$key][]=array( // $k=>$v, // 'selected'=>(isset($role_permissions) && ($role_permissions[$i]->{$key}->view==$k))?'selected':'' // ); // } $permission_array[]=array( 'name'=>$value['name'], 'name_value'=>$key, 'access'=>$access[$key] ); $i++; } //print_obj($permission_array);die; $this->data['role_data']=$role_data; $this->data['role_permissions']=$role_permissions; $this->data['permission_data']=$permission_array; $view='roles/vw_roles_add_edit'; $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function onAddEditRolesPermissions(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ if($this->hrms_access=='yes'){ $role_id=post_data('_role_id'); $role_name=post_data('hrm_role_name'); $role_display_name=post_data('hrm_role_display_name'); $hrm_role_status=post_data('hrm_role_status'); $role_permission_module=$this->input->post('hrm_role_permission_name'); $role_permissions=$this->input->post('hrm_role_permissions'); foreach ($role_permission_module as $key => $value) { foreach ($role_permissions[$value] as $k => $v) { $perm_values[$value][$k]=$v; } $permissions[]=array( $value=>$perm_values[$value] ); } $roles_data=array( 'role_name'=>$role_name, 'role_display_name'=>$role_display_name, 'role_inst_id'=>$this->inst_id, 'role_inst_type'=>$this->inst_type, 'role_status'=>$hrm_role_status, 'role_permissions'=>json_encode($permissions) ); if(empty($role_id)){ $get_role=$this->hrmrm->get_role(array('role_name'=>$role_name,'role_inst_id'=>$this->inst_id,'role_inst_type'=>$this->inst_type)); if(empty($get_role)){ $added=$this->hrmrm->store_role($roles_data); if($added){ $return['success']='Role & Permissions added successfully'; }else{ $return['error']='Role & Permissions not added.'; } }else{ $return['error']='Role already exists'; } }else{ $role_id=decode_data($role_id); $get_role=$this->hrmrm->get_role(array('role_inst_id'=>$this->inst_id,'role_inst_type'=>$this->inst_type,'role_id'=>$role_id)); if(!empty($get_role)){ $_get_role=$this->hrmrm->get_role(array('role_name'=>$role_name,'role_inst_id'=>$this->inst_id,'role_inst_type'=>$this->inst_type,'role_id!='=>$role_id)); if(empty($_get_role)){ if(is_numeric($role_id)){ $updated=$this->hrmrm->update_role($roles_data,array('role_id'=>$role_id)); if($updated){ $return['success']='Role & Permissions updated successfully'; }else{ $return['error']='Role & Permissions not updated.'; } }else{ $return['error']='Data not found to edit'; } }else{ $return['error']='Role already exists 1'; } }else{ $return['error']='Role already exists 2'; } } }else{ $return['error']='Permission denied'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchRolesList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $param['column_order'] = array( null, 'role_name', 'role_display_name' ); $param['role_inst_id']=$this->inst_id; $param['role_inst_type']=$this->inst_type; $param['column_search'] = array('role_name','role_display_name'); $param['order'] = array('role_id' => 'ASC'); $posts=$this->input->post(); $list = $this->rm->_get_roles($posts,$param,FALSE,FALSE); $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $role){ $no++; $row = array(); $row[] = $no; $row[] = $role->role_name; $row[] = $role->role_display_name; if($role->role_status=='active'){ $status='<span class="badge badge-sm badge-success">Active</span>'; }else if($role->role_status=='inactive'){ $status='<span class="badge badge-sm badge-danger">Inactive</span>'; } $row[] = $status; $row[] = '<a class="btn btn-xs btn-dark" href="'.$this->data['base_url'].'/roles/add/'.encode_data($role->role_id).'"><i class="fa fa-pencil"></i></a> <button type="button" class="btn btn-xs btn-danger btn_delete_canteen_vendor" data-role_id="'.encode_data($role->role_id).'"><i class="fa fa-trash"></i></button>'; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->rm->_get_roles($posts,$param,TRUE), "recordsFiltered" => $this->rm->_get_roles($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } /*****Users Access*****/ public function indexRoleAccessAddEdit($emp_id){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='User Access Permissions'; if($this->hrms_access=='yes'){ if(!empty($emp_id)){ $this->data['emp_id']=$emp_id; $permissions=array(); $user_permissions=array(); $emp_id=decode_data($emp_id); $employee_data=$this->em->get_employee(array('emp_id'=>$emp_id)); $employee_access_data=$this->um->_get_user(array('user_id'=>$employee_data->emp_user_id)); if(!empty($employee_access_data->user_permissions)){ $user_permissions=json_decode($employee_access_data->user_permissions); } $get_role=$this->hrmrm->get_role(array('role_id'=>$employee_data->emp_role)); $roles_permissions=json_decode($get_role->role_permissions); $user_access_permissions=$this->config->item('action_permissions_array'); //print_obj($roles_permissions);die; foreach ($roles_permissions as $key => $value) { foreach ($value as $k => $v) { if(!empty($user_access_permissions[$k])){ $permissions[$key]=$user_access_permissions[$k]; } } } } //print_obj($user_permissions);die; $this->data['permissions']=$permissions; $this->data['user_permissions']=(!empty($user_permissions))?$user_permissions[0]:null; $view='hrm/roles/vw_roles_user_access_add_edit'; }else{ $view='hrm/vw_permission_denied'; } $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function onAddEditUserAccess(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $_emp_id=post_data('_emp_id'); $hrm_access_permissions=$this->input->post('hrm_access_permissions'); if(!empty($_emp_id)){ $emp_id=decode_data($_emp_id); $employee_data=$this->em->get_employee(array('emp_id'=>$emp_id)); $employee_user_id=$employee_data->emp_user_id; $data_access=json_encode($hrm_access_permissions); $updated=$this->um->update_users(array('user_permissions'=>$data_access),array('user_id'=>$employee_user_id)); if($updated){ $return['success']='Access updated'; }else{ $return['error']='Access not updated'; } }else{ $return['error']='Employee details not found'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } }