public function runGlobal() { $curAction = CONTROL . '_' . ACTION; if (MAGIC_QUOTES) { //如果开启了魔术引号就去掉那些"\" if (count($_POST)) { Tools::arrayMap($_POST, array('stripcslashes')); } // Tools::arrayMap($_GET,array('stripcslashes')); // Tools::arrayMap($_COOKIE,array('stripcslashes')); } $package = defined('PACKAGE') ? PACKAGE : null; switch ($this->_utilRbac->checkAct($curAction, $package)) { case 1: //已经登录,通过 return true; case -1: //没有权限 $errorInfo = '您没有权限'; if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $result = array('status' => 0, 'info' => $errorInfo, 'data' => NULL); exit(json_encode($result)); } $this->_utilMsg->showMsg($errorInfo, -1); break; case -2: //未登录 //未登录 case -3: //账号停用 //账号停用 default: $this->_utilMsg->showMsg('您还未登录,或账号被停用!', -2, PASSPORT_URL); } }
/** * 后台左边菜单管理 */ public function actionLeft() { $menu = $this->_getGlobalData('menu'); foreach ($menu as $key => &$value) { if (!$value['status']) { unset($menu[$key]); } //如果是不显示就删除这个选项 if ($this->_utilRbac->checkAct($value['value']) == 1) { //如果有权限的话 foreach ($value['actions'] as $key => &$childList) { if (!$childList['status']) { unset($value['actions'][$key]); } //如果为不显示就跳过. if ($this->_utilRbac->checkAct($childList['value']) == 1) { //如果有权限的话 $urlParams = explode('_', $childList['value']); $childList['url'] = Tools::url($urlParams[0], $urlParams[1]); } else { //否则删除此项 unset($value['actions'][$key]); } } } else { //否则删除此项 unset($menu[$key]); } } $this->_view->assign('menu', $menu); $this->_view->display($this->_view->get_curPage()); }
/** * 检查是否有权限 * @param unknown_type $c_a */ protected function checkAct($c_a = '') { if (!$c_a) { return false; } return $this->_utilRbac->checkAct($c_a) === 1 ? true : false; }
public function runGlobal() { $curAction = CONTROL . '_' . ACTION; switch ($this->_utilRbac->checkAct($curAction)) { case 1: //已经登录,通过 return true; case -1: //没有权限 $this->_utilMsg->showMsg('您没有权限', -1); break; case -2: //未登录 $this->_utilMsg->showMsg('您还未登录', -2, Tools::url('Index', 'Login')); } }
/** * 后台右边主页面显示 */ public function actionRight() { $this->_utilMsg->createNavBar(); $gameTypeList = $this->_getGlobalData('game_type'); $gameTypeList = Model::getTtwoArrConvertOneArr($gameTypeList, 'Id', 'name'); $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); $this->_utilRooms = $this->_getGlobalData('Util_Rooms', 'object'); $userClass = $this->_utilRbac->getUserClass(); $orgList = $this->_getGlobalData('org'); $orgList = Model::getTtwoArrConvertOneArr($orgList, 'Id', 'name'); $departmentList = $this->_getGlobalData('department'); $departmentList = Model::getTtwoArrConvertOneArr($departmentList, 'Id', 'name'); $userClass['word_department'] = $departmentList[$userClass['_departmentId']]; $this->_modelRoles = $this->_getGlobalData('Model_Roles', 'object'); if ($userClass['_roles']) { $rolesArr = array(); foreach ($userClass['_roles'] as $roles) { $rolesArr[] = $this->_modelRoles->findByRoleToName($roles); } $userClass['word_roles'] = implode(',', $rolesArr); } $userClass['word_vip'] = implode(',', $userClass['_orderVipLevel']); $userClass['word_org'] = $orgList[$userClass['_orgId']]; $userOeratorIds = array(); $userClass['bulletin_list'] = $userClass->getMail(array(1, 15), array('type' => 1)); //公告 $userClass['bulletin_list'] = $userClass['bulletin_list']['data']; $userClass['work_list'] = $userClass->getMail(array(1, 15), array('type' => 2)); //工作交接 $userClass['work_list'] = $userClass['work_list']['data']; foreach ($userClass['_operatorIds'] as $list) { $str = "{$operatorList[$list['operator_id']]}[{$gameTypeList[$list['game_type_id']]}]"; array_push($userOeratorIds, $str); } if ($userClass['_roomId']) { $roomClass = $this->_utilRooms->getRoom($userClass['_roomId']); $this->_view->assign('roomClass', $roomClass); $displaycontent = "已经登录房间[" . $roomClass['_roomName'] . "] [<a href=" . Tools::url('Group', 'Room', array('doaction' => 'outRoom')) . "><font style='color:red;'>退出房间</font></a>] "; } else { $displaycontent = '<font color="#999999">您还未登录房间</font>[<a href="' . Tools::url('Group', 'Room') . '">房间列表</a>]'; } $displaycontent .= ' [<a href="' . Tools::url('MyTask', 'Index') . '">我的工单列表</a>]'; $tmpLang = $this->_getGlobalData('lang'); $lang = array(); foreach ($tmpLang as $key => $value) { $lang[$key]['lang'] = $value; $lang[$key]['url_lang'] = Tools::url(CONTROL, 'ChangeLang', array('lang' => $key)); } $this->_view->assign('curLangId', LANG_ID); $this->_view->assign('lang', $lang); $this->_view->assign('userOeratorIds', $userOeratorIds); $this->_view->assign('userClass', $userClass); //将错误日志显示给管理员 $Permission_IndexErrorLog = $this->_utilRbac->checkAct('Index_ErrorLog'); //审核权限 // if(in_array($userClass['_userName'],explode(',',MasterAccount) )){ if ($Permission_IndexErrorLog === 1) { $this->_view->assign('showErrorLogFiles', true); $this->_view->assign('errorLogFiles', $this->_errorLogFiles()); } else { $this->_view->assign('showErrorLogFiles', false); } $this->_view->assign('displaycontent', $displaycontent); $this->_view->display(); }