URL: http://games.thasmo.coml/q3a/browser/?path=/server/1/ View File: Serverbrowser
{$server.name}
{$server.address}
{$server.data}
{@No server settings found.} {$setting.name}: {$setting.value}
{@A connection to the server couldn't be established.}
Record Class: class GameserversRecord extends FARecord { function GameserversRecord(&$dba, &$def, &$finder, &$model, $current = array()) { $constructor = get_parent_class($this); parent::$constructor($dba, $def, $finder, $model, $current); $this->loadServer(); } function getName() { return $this->_data->get('sv_hostname'); } function getData() { return $this->_data->getRawData(); } function getOnlinePlayers() { return count($this->_data->getPlayers()); } function getMaxPlayers() { return $this->_data->get('sv_maxclients'); } function getMod() { return $this->_data->get('gamename'); } function getMap() { return $this->_data->get('mapname'); } function getStatus() { return (int)$this->_server->_status; } function getPlayers() { return $this->_data->getPlayers(); } function getSettings() { $settings = $this->_data->getSettings(); $buffer = array(); foreach($settings as $name => $value) { $buffer[] = array('name' => $name, 'value' => $value); } return $buffer; } function getNumSettings() { return count($this->_data->getSettings()); } function loadServer() { $api = &new GameServerExtension; $this->_server = &$api->load('q3'); $this->_server->setAddress($this->get('address')); $this->_server->connect(); if($this->_server->getStatus()) $this->_data = $this->_server->getData(); } } ?> Controller Class: '/:id_server/' ); } function getExtensions() { return array('gameserver'); } function index(&$reg, &$req, &$resp) { $finder = &$this->getFinder('gameservers'); $gameserver = &$finder->find($req->get('id_server')); $resp->assignRef('server', $gameserver); $this->setView('server_view.html'); } } ?>