/** * Просмотр списка * выделенных серверов * игровых серверов * игр * типов игр * * @param string - тип * dedicated_servers - выделенные серверы * game_servers - игровые серверы * games - игры * type_games - типы игр * * */ public function view($type = 'dedicated_servers', $id = false) { if ($this->users->auth_id) { // Пользователь авторизован $local_tpl = array(); $error_msg = false; switch ($type) { case 'dedicated_servers': $this->load->model('servers/dedicated_servers'); $this->tpl_data['title'] = lang('adm_servers_title_ds'); $this->tpl_data['heading'] = lang('adm_servers_heading_ds'); $parse_list_file = 'adm_servers/dedicated_servers_list.html'; // Шаблон списка $local_tpl['ds_list'] = $this->dedicated_servers->tpl_data_ds(); break; case 'game_servers': $this->load->helper('games'); $this->tpl_data['title'] = lang('adm_servers_title_gs'); $this->tpl_data['heading'] = lang('adm_servers_heading_gs'); $parse_list_file = 'adm_servers/game_servers_list.html'; // Шаблон списка $filter = $this->users->get_filter('servers_list'); $local_tpl = $this->_get_gservers_tpl_filter(); $this->servers->set_filter($filter); $this->servers->get_server_list(false, false, array()); $local_tpl['games_list'] = servers_list_to_games_list($this->servers->servers_list); //~ $local_tpl['servers_list'] = $this->servers->tpl_data(); break; case 'games': $this->load->model('servers/game_types'); $this->load->model('servers/games'); $this->tpl_data['title'] = lang('adm_servers_title_gt'); $this->tpl_data['heading'] = lang('adm_servers_heading_gt'); $parse_list_file = 'adm_servers/games_list.html'; // Шаблон списка if (!$error_msg) { /* Получение игр */ if ($games_list = $this->games->get_games_list()) { $num = 0; $tpl_data = array(); foreach ($games_list as $games) { //~ /* Если у игры нет модификаций, то не отображаем ее */ //~ if(!$this->game_types->get_gametypes_list($where)){ //~ continue; //~ } $tpl_data[$num]['gt_list'] = $this->game_types->tpl_data_game_types(array('game_code' => $games['code'])); $tpl_data[$num]['game_name'] = $games['name']; $tpl_data[$num]['game_code'] = $games['code']; $tpl_data[$num]['game_start_code'] = $games['start_code']; $tpl_data[$num]['game_engine'] = $games['engine']; $tpl_data[$num]['game_engine_version'] = $games['engine_version']; $num++; } $local_tpl['games_list'] = $tpl_data; } else { $error_msg .= '<p>' . lang('adm_servers_games_unavailable') . '</p>'; } } break; case 'game_types': redirect('/adm_servers/view/games'); break; default: redirect('/adm_servers/view/dedicated_servers'); break; } // Верхняя оболочка, в качестве меню if (isset($parse_file)) { $this->tpl_data['content'] .= $this->parser->parse($parse_file, $local_tpl, true); } /* Если ошибок никаких, то отображаем список */ if (!$error_msg) { $this->tpl_data['content'] .= $this->parser->parse($parse_list_file, $local_tpl, true); } else { $this->tpl_data['content'] .= $error_msg; } } else { redirect(); } $this->parser->parse('main.html', $this->tpl_data); }
/** * Главная страница * */ public function index() { /* Загружаем модель */ $this->load->model('servers'); $this->load->model('servers/games'); $this->load->helper('games'); $filter = $this->users->get_filter('servers_list'); $local_tpl = $this->_get_tpl_filter($filter); $this->servers->set_filter($filter); $this->servers->get_servers_list($this->users->auth_id); $local_tpl['url'] = site_url('web_ftp/server'); $local_tpl['games_list'] = servers_list_to_games_list($this->servers->servers_list); $this->tpl_data['content'] .= $this->parser->parse('servers/select_server.html', $local_tpl, true); $this->parser->parse('main.html', $this->tpl_data); }