public function __construct(DatabaseServer $server) { $this->_configuration['tileWidth'] = $server->tileWidth; $this->_configuration['tileHeight'] = $server->tileHeight; $this->_configuration['minZoom'] = $server->minZoom; $this->_configuration['maxZoom'] = $server->maxZoom; $this->_configuration['cacheLimit'] = $server->cacheSize; $this->_configuration['name'] = $server->name; $this->_serverUrl = $server->getServerUrl(); $this->_imageHandler = new ImageHandlerPNG(); $this->_tileCache = new TileCache('./dynamic/' . $this->_configuration['name'], $this->_configuration['cacheLimit'] * 1048576, $this->_imageHandler); }
/** * it loads data about all servers, and return array of them * * @return array array of DatabaseServers */ public static function getServers() { self::setUpConnection(); $select = self::$db->select(); $databaseServer = new DatabaseServer(); $data = $select->From($databaseServer->getTableName())->query()->fetchAll(); $servers = array(); foreach ($data as $row) { $server = new DatabaseServer(); $server->setData($row); $servers[] = $server; } return $servers; }
public function execute() { if (!is_null($this->_post->send)) { $server = new DatabaseServer(); $server->loadDataFromPost($this->_post); $server->url = $this->_post->getRawData('url'); try { $server->save(); $this->_view->addInfo('Server has been added'); $this->_redirect->toModuleAction('AdminModule', 'ModuleActionServers'); die; } catch (ValidatorException $e) { $this->_view->assign('errors', $server->getErrors()); $this->_view->assign('server', $server); } } $this->_view->assign('formHeader', 'Add new server'); $this->_view->assign('content_file', 'serverForm.tpl'); }
/** * method bases on url server name and creates appropriate server object * * @param string $urlName * @return DatabaseServer */ public static function getServer($urlName) { self::setUpConnection(); $sampleServer = new DatabaseServer(); if (!is_null($urlName)) { $select = self::$db->select(); $data = $select->From($sampleServer->getTableName())->Where('urlName = ?', $urlName)->query()->fetch(); if ($data) { $server = new DatabaseServer(); $server->setData($data); return $server; } } //return default server $select = self::$db->select(); $data = $select->From($sampleServer->getTableName())->query()->fetch(); $server = new DatabaseServer(); $server->setData($data); return $server; }
/** * create appropriate MapProcessor * * @param MapRequest $mapData * @return MapProcessor */ public static function factory(MapRequest $mapData) { $tileSource = new TileSource(DatabaseServer::getServer($mapData->getType())); $tileSource->useCache(!$mapData->issetReloadParam()); if (!is_null($mapData->getCenterPoint()) && !is_null($mapData->getWidth()) && !is_null($mapData->getHeight())) { return new MapProcessorFromCenterPoint($mapData, $tileSource); } else { if (!is_null($mapData->getLeftUpCornerPoint()) && !is_null($mapData->getRightDownCornerPoint()) && !is_null($mapData->getZoom())) { return new MapProcessorFromBoundaryBoxZoom($mapData, $tileSource); } else { if (!is_null($mapData->getLeftUpCornerPoint()) && !is_null($mapData->getRightDownCornerPoint())) { return new MapProcessorFromBoundaryBoxWidthHeight($mapData, $tileSource); } } } throw new NoMapProcessorException("No map processor has been choosen"); }