<?php
require_once(dirname(__FILE__)."/DbDatabase.class.php");
require_once(dirname(__FILE__)."/DbPackage/DbPackageGroup.class.php");
require_once(dirname(__FILE__)."/DbPackage/DbPackageTour.class.php");
require_once(dirname(__FILE__)."/DbPackage/DbPackageChamp.class.php");
require_once(dirname(__FILE__)."/DbPackage/DbPackageError.class.php");
class DbPackage {
protected $tour;
protected $db;
public function __construct($row) {
$this->db = new DbDatabase();
if (is_object($row)) {
$this->tour = $row;
$this->setId();
} else {
$this->id = $row;
$this->loadFromDatabase();
}
}
protected function setId() {
$this->id = $this->tour->FileName;
}
public static function newFromRow() {
$tour = new self;
$tour->tour = $row;
}
public static function newFromDb($id) {
$db = new DbDatabase;
$row = $db->getTournament($id);
if (!$row) {
return new DbPackageError($id);
} elseif ($row->Type == 'Г' ) {
return new DbPackageGroup($row);
} elseif ($row->Type == 'Ч' ) {
return new DbPackageChamp($row);
} elseif ($row->Type == 'Т' ) {
return new DbPackageTour($row);
}
}
public function loadFromDatabase() {
$this->tour = $this->db->getTournament($this->id);
}
public function getAll() {
return false;
}
protected function getDbId() {
return $this->tour->Id;
}
public function getTitle() {
return $this->tour->Title;
}
public function getPrintVersion() {
return 'Please override this function';
}
public function getLongTitle() {
return $this->getTitle();
}
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>