/** * 设置房间服务器列表 */ private function _setServer() { $this->_modelGameSerList = $this->_getGlobalData('Model_GameSerList', 'object'); if ($this->_isPost()) { if (!count($_POST['server_list'])) { $this->_utilMsg->showMsg(false); } $selectedList = implode(',', $_POST['server_list']); if ($this->_modelGameSerList->update(array('room_id' => $_POST['room_id']), "Id in ({$selectedList})")) { $this->_modelGameSerList->createToCache(); $this->_utilMsg->showMsg(Tools::getLang('UPDATE_SUCCESS', 'Common')); } else { $this->_utilMsg->showMsg(Tools::getLang('UPDATE_ERROR', 'Common'), -2); } } else { $alreadyServerList = $this->_modelGameSerList->findByRoomId($_GET['Id'], false); $dataList = $this->_modelGameSerList->findNoRoomId(); $gameTypeList = $this->_getGlobalData('game_type'); $gameTypeList = Model::getTtwoArrConvertOneArr($gameTypeList, 'Id', 'name'); $operatorList = $this->_getGlobalData('operator_list'); $operatorList = Model::getTtwoArrConvertOneArr($operatorList, 'Id', 'operator_name'); if ($alreadyServerList) { //如果该房间设置了服务器列表 $roomServerList = array(); foreach ($alreadyServerList as $serList) { $roomServerList[$serList['Id']] = "{$serList['server_name']}({$operatorList[$serList['operator_id']]})[{$gameTypeList[$serList['game_type_id']]}]"; } $this->_view->assign('roomServerList', $roomServerList); } if ($dataList) { //如果还有没设置的服务器将转换出来显示 $serverList = array(); foreach ($gameTypeList as $key => $value) { foreach ($dataList as $list) { $list['full_name'] = "{$list['server_name']}({$operatorList[$list['operator_id']]})"; if ($list['game_type_id'] == $key) { $serverList[$key][$list['Id']] = $list['full_name']; } } } $this->_view->assign('serverList', $serverList); } $this->_view->assign('roomId', $_GET['Id']); $this->_view->assign('gameTypeList', $gameTypeList); $this->_view->set_tpl(array('body' => 'Group/SetServer.html')); $this->_utilMsg->createNavBar(); $this->_view->display(); } }