Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 /**
  * 后台左边菜单管理
  */
 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());
 }
Beispiel #3
0
 /**
  * 检查是否有权限
  * @param unknown_type $c_a
  */
 protected function checkAct($c_a = '')
 {
     if (!$c_a) {
         return false;
     }
     return $this->_utilRbac->checkAct($c_a) === 1 ? true : false;
 }
Beispiel #4
0
 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'));
     }
 }
Beispiel #5
0
 /**
  * 后台右边主页面显示
  */
 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();
 }