Annotation of db/prgsrc/drupal/modules/chgk_db/classes/DbPackage.class.php, revision 1.2
1.1 roma7 1: <?php
2:
3: require_once(dirname(__FILE__)."/DbDatabase.class.php");
4: require_once(dirname(__FILE__)."/DbPackage/DbPackageGroup.class.php");
5: require_once(dirname(__FILE__)."/DbPackage/DbPackageTour.class.php");
6: require_once(dirname(__FILE__)."/DbPackage/DbPackageChamp.class.php");
1.2 ! roma7 7: require_once(dirname(__FILE__)."/DbPackage/DbPackageError.class.php");
1.1 roma7 8:
9: class DbPackage {
10:
11: protected $tour;
12: protected $db;
13:
14: public function __construct($row) {
1.2 ! roma7 15: $this->db = new DbDatabase();
! 16:
! 17: if (is_object($row)) {
! 18: $this->tour = $row;
! 19: $this->setId();
! 20: } else {
! 21: $this->id = $row;
! 22: $this->loadFromDatabase();
! 23: }
1.1 roma7 24: }
25:
26: protected function setId() {
27: $this->id = $this->tour->FileName;
28: }
29:
30: public static function newFromRow() {
31: $tour = new self;
32: $tour->tour = $row;
33: }
34:
35: public static function newFromDb($id) {
36: $db = new DbDatabase;
37: $row = $db->getTournament($id);
38: if (!$row) {
1.2 ! roma7 39: return new DbPackageError($id);
1.1 roma7 40: } elseif ($row->Type == 'Г' ) {
41: return new DbPackageGroup($row);
42: } elseif ($row->Type == 'Ч' ) {
43: return new DbPackageChamp($row);
44: } elseif ($row->Type == 'Т' ) {
45: return new DbPackageTour($row);
46: }
47: }
48:
1.2 ! roma7 49: public function loadFromDatabase() {
! 50: $this->tour = $this->db->getTournament($this->id);
! 51: }
1.1 roma7 52: public function getAll() {
53: return false;
54: }
55:
56: protected function getDbId() {
57: return $this->tour->Id;
58: }
59:
60: public function getTitle() {
61: return $this->tour->Title;
62: }
1.2 ! roma7 63:
! 64: public function getPrintVersion() {
! 65: return 'Please override this function';
! 66: }
! 67:
! 68: public function getLongTitle() {
! 69: return $this->getTitle();
! 70: }
1.1 roma7 71: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>