Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Model;
- use Tmvc;
- //use App;
- class servers {
- private $c;
- public function __construct() {
- $this->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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment