53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
|
|
class Course extends PhpObject {
|
|
|
|
const WS_TABLE = 'workshops';
|
|
const COURSE_TABLE = 'courses';
|
|
|
|
/**
|
|
* DB
|
|
* @var Db
|
|
*/
|
|
private $oDb;
|
|
|
|
private $iCourseId;
|
|
|
|
public function __construct(Db &$oDb, $iCourseId=0)
|
|
{
|
|
parent::__construct(__CLASS__, Settings::DEBUG);
|
|
$this->oDb = &$oDb;
|
|
$this->setCourseId($iCourseId);
|
|
}
|
|
|
|
public function getCourseId() {
|
|
return $this->iCourseId;
|
|
}
|
|
|
|
public function setCourseId($iCourseId) {
|
|
$this->iCourseId = $iCourseId;
|
|
}
|
|
|
|
public function getWorkshops() {
|
|
$asCourses = $this->oDb->selectRows(array(
|
|
'select'=> array(Db::getId(self::WS_TABLE), 'dates', Db::getId(self::COURSE_TABLE), 'description', 'timeslot'),
|
|
'from' => self::COURSE_TABLE,
|
|
'join' => array(self::WS_TABLE => Db::getId(self::WS_TABLE)))
|
|
);
|
|
|
|
$asWorkshops = array();
|
|
foreach($asCourses as $asCourse) {
|
|
$asWorkshops[$asCourse[Db::getId(self::WS_TABLE)]]['dates'] = $asCourse['dates'];
|
|
$asWorkshops[$asCourse[Db::getId(self::WS_TABLE)]]['courses'][$asCourse[Db::getId(self::COURSE_TABLE)]] = array('description'=>$asCourse['description'], 'timeslot'=>$asCourse['timeslot']);
|
|
}
|
|
|
|
return $asWorkshops;
|
|
}
|
|
|
|
public function getCourses($iWorkshopId=0) {
|
|
$asInfo = array('select'=> array(Db::getId(self::COURSE_TABLE), 'description', 'timeslot'), 'from' => self::COURSE_TABLE);
|
|
if($iWorkshopId > 0) $asInfo['constraint'] = array(Db::getId(self::WS_TABLE) => $iWorkshopId);
|
|
|
|
return $this->oDb->selectRows($asInfo, Db::getId(self::COURSE_TABLE));
|
|
}
|
|
} |