function index($path = '') { $service = new \DedicatedManager\Services\MapService(); $files = $service->getList($path); usort($files, function (\DedicatedManager\Services\File $a, \DedicatedManager\Services\File $b) { $order = $b->isDirectory - $a->isDirectory; if (!$order) { $order = strcmp($a->filename, $b->filename); } return $order; }); $this->response->path = $path; $this->response->parentPath = preg_replace('/([^\\/]*\\/)$/iu', '', $path); $this->response->files = $files; }
/** * @norelay * @local */ function addMaps() { $maps = $this->server->connection->getMapList(-1, 0); $selected = \ManiaLib\Utils\Arrays::getProperty($maps, 'fileName'); $selected = array_map(function ($s) { $s = preg_replace('/^\\xEF\\xBB\\xBF/', '', $s); return str_replace('\\', '/', $s); }, $selected); $matchSettings = $this->server->connection->getNextGameInfo(); if ($matchSettings->gameMode == GameInfos::GAMEMODE_SCRIPT) { $scriptInfo = $this->server->connection->getModeScriptInfo(); $type = explode(',', $scriptInfo->compatibleMapTypes); $isLaps = false; } else { $type = array('Race'); $isLaps = $matchSettings->gameMode == GameInfos::GAMEMODE_LAPS; } $service = new \DedicatedManager\Services\MapService(); $files = $service->getList('', true, $isLaps, $type, $this->currentMap->environnement); $this->response->files = $files; $this->response->selected = $selected; $header = \DedicatedManager\Helpers\Header::getInstance(); $header->rightText = _('Back to maps list'); $header->rightLink = $this->request->createLinkArgList('../maps', 'host', 'port'); }
function maps() { set_time_limit(0); list(, , $system) = $this->fetchAndAssertConfig(_('selecting maps')); $gameInfos = $this->fetchAndAssertSettings(_('selecting maps')); $service = new \DedicatedManager\Services\TitleService(); $environment = $service->getEnvironment($system->title); if ($gameInfos->gameMode == GameInfos::GAMEMODE_SCRIPT) { $service = new \DedicatedManager\Services\ScriptService(); $type = $service->getFileMapType($gameInfos->scriptName, $system->title); } else { $type = array('Race'); } $isLaps = $gameInfos->gameMode == GameInfos::GAMEMODE_LAPS; $service = new \DedicatedManager\Services\MapService(); $this->response->files = $service->getList('', true, $isLaps, $type, $environment); $this->response->selected = $this->session->get('selected', array()); $this->response->randomize = $this->session->get('randomize', false); $header = \DedicatedManager\Helpers\Header::getInstance(); $header->rightText = _('Back to game settings'); $header->rightIcon = 'back'; $header->rightLink = $this->request->createLinkArgList('../rules'); }