c = Tmvc\Container::get(); } //gameQ biblioteket som hamnar i DiC (Anonym funktions lagring) public function gameQ() { include "/gameq/GameQ.php"; return new \GameQ; } public function fetchServers() { return $this->c->Database-> prepare(' SELECT * FROM warzone.servers ORDER BY ID DESC') ->execute() ->fetchAll(); } public function fetchServerbyId($id) { if (empty($id)) return false; return $this->c->Database-> prepare(' SELECT * FROM warzone.servers WHERE ID = ' . $id) ->execute() ->fetchAll(); } public function insert($data) { $this->c->pdo-> prepare(' INSERT INTO warzone.servers (alias,ip,type) VALUES (:alias,:ip,:type)') ->execute(array( ':alias' => $data['alias'], ':ip' => $data['ip'], ':type' => $data['type'] )); } public function update($data) { $this->c->pdo-> prepare(' UPDATE warzone.servers SET alias=:alias, ip=:ip, type=:type WHERE id=:id') ->execute(array( ':alias' => $data['alias'], ':ip' => $data['ip'], ':type' => $data['type'], ':id' => $data['id'] )); } public function delete($data) { $this->c->pdo-> prepare(' DELETE FROM warzone.servers WHERE id =:id') ->execute(array( ':id' => $data['id'] )); } public function listServers($id = false) { $gq = $this->gameQ(); $fetch_servers = $this->fetchServers(); if (!$fetch_servers) return false; $result = array(); foreach ($fetch_servers as $server_data) { $ip_data = explode(":", $server_data["ip"]); $servers[] = array($server_data["type"], $ip_data[0], $ip_data[1]); } $gq->addServers($servers); $reqeust = $gq->requestData($servers); foreach ($reqeust as $server_item) { $result[$server_item["game_descr"]][] = array( "ip" => $server_item["gq_address"] . ":" . $server_item["gq_port"], "server_name" => $server_item["hostname"], "map" => $server_item["map"], "num_players" => $server_item["num_players"], "max_players" => $server_item["max_players"], "game_name" => $server_item["game_descr"] ); } return $result; } public function listGames() { $return = array(); $ini = parse_ini_file('/gameq/gameq/games.ini', true); foreach ($ini as $key => &$entry) $entry['id'] = $key; sort($ini); foreach ($ini as $key => $entry) { $return[] = array("id" => $entry['id'], "name" => htmlentities($entry['name'])); } return $return; } }