maniaControl = $maniaControl; $this->startTime = time(); if(!$rpc_infos) { return; } $this->name = FORMATTER::stripDirtyCodes($rpc_infos['Name']); $this->uid = $rpc_infos['UId']; $this->fileName = $rpc_infos['FileName']; $this->authorLogin = $rpc_infos['Author']; $this->environment = $rpc_infos['Environnement']; $this->goldTime = $rpc_infos['GoldTime']; $this->copperPrice = $rpc_infos['CopperPrice']; $this->mapType = $rpc_infos['MapType']; $this->mapStyle = $rpc_infos['MapStyle']; if(isset($rpc_infos['NbCheckpoints'])) { $this->nbCheckpoints = $rpc_infos['NbCheckpoints']; } $this->authorNick = $this->authorLogin; $mapsDirectory = $this->maniaControl->server->getMapsDirectory(); if($this->maniaControl->server->checkAccess($mapsDirectory)) { $mapFetcher = new \GBXChallMapFetcher(true); try { $mapFetcher->processFile($mapsDirectory . $this->fileName); $this->authorNick = FORMATTER::stripDirtyCodes($mapFetcher->authorNick); $this->authorEInfo = $mapFetcher->authorEInfo; $this->authorZone = $mapFetcher->authorZone; $this->comment = $mapFetcher->comment; } catch(\Exception $e) { trigger_error($e->getMessage()); } } } /** * Checks if a map Update is available * * @return bool */ public function updateAvailable() { if($this->mx != null && ($this->lastUpdate < $this->mx->updated || $this->uid != $this->mx->uid)) { return true; } else { return false; } } }