--- db/prgsrc/drupal/modules/chgk_db/classes/DbPackage.class.php 2010/02/28 20:17:34 1.1 +++ db/prgsrc/drupal/modules/chgk_db/classes/DbPackage.class.php 2010/03/08 16:19:22 1.2 @@ -4,6 +4,7 @@ require_once(dirname(__FILE__)."/DbDatab 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 { @@ -11,9 +12,15 @@ class DbPackage { protected $db; public function __construct($row) { - $this->tour = $row; - $this->db = new DbDatabase(); - $this->setId(); + $this->db = new DbDatabase(); + + if (is_object($row)) { + $this->tour = $row; + $this->setId(); + } else { + $this->id = $row; + $this->loadFromDatabase(); + } } protected function setId() { @@ -29,7 +36,7 @@ class DbPackage { $db = new DbDatabase; $row = $db->getTournament($id); if (!$row) { - return FALSE; + return new DbPackageError($id); } elseif ($row->Type == 'Г' ) { return new DbPackageGroup($row); } elseif ($row->Type == 'Ч' ) { @@ -39,6 +46,9 @@ class DbPackage { } } + public function loadFromDatabase() { + $this->tour = $this->db->getTournament($this->id); + } public function getAll() { return false; } @@ -50,4 +60,12 @@ class DbPackage { public function getTitle() { return $this->tour->Title; } + + public function getPrintVersion() { + return 'Please override this function'; + } + + public function getLongTitle() { + return $this->getTitle(); + } }