* @link http://www.steffenvogel.de
*/
/*
* This file is part of sddns
*
* sddns is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* sddns is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with sddns. If not, see .
*/
class Uri implements Object {
public $uri, $host, $frame;
/*
* Constructor
*/
function __construct($uri, DBHost $host) {
$this->uri = $uri;
$this->host = $host;
}
/*
* Database
*/
public function add(Database $db, $lifetime) {
global $config;
$sql = 'INSERT INTO ' . $config['db']['tbl']['uris'] . ' (host_id, uri, frame, lifetime, last_accessed, created, ip) VALUES(
' . $this->host->id . ',
\'' . $this->uri . '\',
' . (($this->frame) ? 1 : 0) . ',
' . $lifetime . ',
NOW(),
NOW(),
\'' . $_SERVER['REMOTE_ADDR'] . '\')';
$db->execute($sql);
return new DBUri($db->lastId(), $db);
}
/*
* Checks
*/
static function isValid($uri) {
return true; // TODO
}
/*
* Setter & Getter
*/
public function setUri($uri) {
if ($this->isValid($uri)) {
$this->uri = $uri;
}
else {
throw new ValidationException('Invalid uri: ' . $uri);
}
}
/*
* Output
*/
public function __toString() {
return $this->uri;
}
public function toHtml() {
return '' . $this . '';
}
public function toXml(DOMDocument $doc) {
$xmlUri = $doc->createElement('uri');
$xmlUri->appendChild($doc->createElement('uri', $this->uri));
$xmlUri->appendChild($this->host->toXml($doc));
return $xmlUri;
}
}