* @see https://codeigniter.com/user_guide/general/urls.html */ public function index() { $this->load->helper('url'); $this->load->model('User_model'); $this->load->model('Log_model'); $this->load->model('Module_model'); if(isset($_SESSION['username'])){ $data['currentUser'] = $this->User_model->getUserByUsername($_SESSION['username']); //check module is available for user $currentModule = $this->Module_model->getModuleBySlug('module-management'); if($this->User_model->is_user_admin($_SESSION['username']) || $this->Module_model->is_module_available($currentModule->module_id, $data['currentUser']->user_id)){ $data['users'] = $this->User_model->getAllUser(); $data['modules'] = $this->Module_model->getAllModule(); $data['privileges'] = $this->User_model->getAllUserGroup(); if(isset($_POST['updatePermission'])){ //set user privileges foreach($data['modules'] as $moduleItem){ $moduleUserArray = array(); foreach($data['users'] as $userItem){ if($_POST['module_'.$moduleItem->module_id.'_user_'.$userItem->user_id]){ $moduleUserArray[] = $userItem->user_id; } } if(is_array($moduleUserArray)){ $this->Module_model->updateModule('permission_ids', $moduleItem->module_id, $moduleUserArray); $usernames = array(); foreach($moduleUserArray as $moduleUserItem){ $usernames[] = $this->User_model->getUserById($moduleUserItem)->username; } if(!empty($usernames)){ $this->Log_model->addLog('change_module_privileges', 'Módosult a '.$moduleItem->module_name.' felhasználó szintű jogosultság kiosztás('.implode(', ', $usernames).') felhasználókra', $_SESSION['username']); } else{ $this->Log_model->addLog('change_module_privileges', 'Módosult a '.$moduleItem->module_name.' felhasználó szintű jogosultság kiosztása, jelenleg nincs megosztva', $_SESSION['username']); } } } //set group privilegies foreach($data['modules'] as $moduleItem){ $moduleGroupArray = array(); foreach($data['privileges'] as $groupItem){ if($_POST['module_'.$moduleItem->module_id.'_group_'.$groupItem->permission_id]){ $moduleGroupArray[] = $groupItem->permission_id; } } if(is_array($moduleGroupArray)){ $this->Module_model->updateModule('permission_group_ids',$moduleItem->module_id, $moduleGroupArray); $groupNames = array(); foreach($moduleGroupArray as $moduleGroupItem){ $groupNames[] = $this->User_model->getpermissionById($moduleGroupItem)->permission_name; } if(!empty($groupNames)){ $this->Log_model->addLog('change_module_privileges', 'Módosult a '.$moduleItem->module_name.' csoport szintű jogosultság kiosztás ('.(implode(', ',$groupNames)).') csoportokra', $_SESSION['username']); } else{ $this->Log_model->addLog('change_module_privileges', 'Módosult a '.$moduleItem->module_name.' csoport szintű jogosultság kiosztása, jelenleg nincs megosztva', $_SESSION['username']); } } } } //usersPrivilegesView $userIndex = 1; if(is_array($data['users'])){ $data['usersPrivilegesView'] = ''; foreach($data['users'] as $userItem){ $data['usersPrivilegesView'] .= ''; $data['usersPrivilegesView'] .= ''.$userIndex.'.'; $data['usersPrivilegesView'] .= ''.$userItem->fullname.''; $data['usersPrivilegesView'] .= ''.$userItem->username.''; if(is_array($data['modules'])){ foreach($data['modules'] as $moduleItem){ if($userItem->permission_slug == 'admin'){ $data['usersPrivilegesView'] .= ''; } else{ $data['usersPrivilegesView'] .= 'Module_model->is_userId_available_in_module($moduleItem->module_id, $userItem->user_id)?'checked':''; $data['usersPrivilegesView'] .= '/>'; } } } $userIndex++; $data['usersPrivilegesView'] .= ''; } } //groupModuleView $groupIndex = 1; foreach($data['privileges'] as $privilegeItem){ if($privilegeItem->permission_slug == 'admin'){ $data['groupModuleView'] = ''; $data['groupModuleView'] .= ''.$groupIndex.'.'; $data['groupModuleView'] .= ''.$privilegeItem->permission_name.''; if(is_array($data['modules'])){ foreach($data['modules'] as $moduleItem){ $data['groupModuleView'] .= ''; } } $groupIndex++; $data['groupModuleView'] .= ''; } else{ $data['groupModuleView'] .= ''; $data['groupModuleView'] .= ''.$groupIndex.'.'; $data['groupModuleView'] .= ''.$privilegeItem->permission_name.''; if(is_array($data['modules'])){ foreach($data['modules'] as $moduleItem){ $data['groupModuleView'] .= 'Module_model->is_groupId_available_in_module($moduleItem->module_id,$privilegeItem->permission_id)?' checked':''; $data['groupModuleView'] .= '/>'; } } $groupIndex++; $data['groupModuleView'] .= ''; } } //get available modules for menu if($this->User_model->is_user_admin($_SESSION['username'])){ $data['activeModules'] = $this->Module_model->getAllModule(); } else{ $data['activeModules'] = $this->Module_model->getUserModules($data['currentUser']->user_id); } $this->load->view('modules/module-management/module-management', $data); } else{ header('Location:'.site_url().'404-page-not-found'); } } else{ header("Location:".SITEURL."login"); } } }