*/ require_once(dirname(__FILE__) . '/basis_db.class.php'); class pruefungsfenster extends basis_db { public $new; // boolean public $result = array(); // pruefungsfenster Objekt //Tabellenspalten in DB public $pruefungsfenster_id; //bigint public $studiensemester_kurzbz; //varchar(16) public $oe_kurzbz; //varchar(32) public $start; //date public $ende; //date /** * Konstruktor * @param pruefungsfenster_id ID des zu ladenden Pruefungfensters */ public function __construct($pruefungsfenster_id = null) { parent::__construct(); if ($pruefungsfenster_id != null) $this->load($pruefungsfenster_id); } public function __set($name, $value) { switch ($name) { case 'pruefungsfenster_id': if (!is_numeric($value)) throw new Exception('Attribute pruefungsfenster_id must be numeric!"'); $this->$name = $value; break; default: $this->$name = $value; } } public function __get($name) { return $this->$name; } /** * Lädt einen Pruefungsfensterdatensatz * @param $pruefungsfenster_id ID des Prüfungsfensters * @return true, wenn ok; false im Fehlerfall */ public function load($pruefungsfenster_id) { if(!is_numeric($pruefungsfenster_id)) { $this->errormsg = "Prüfungsfenster ID ist keine gültige Zahl."; return false; } $qry = 'SELECT * FROM campus.tbl_pruefungsfenster' . ' WHERE pruefungsfenster_id='.$this->db_add_param($pruefungsfenster_id).';'; if(!$this->db_query($qry)) { $this->errormsg = "Fehler beim Laden des Prüfungsfensters."; return false; } if($row = $this->db_fetch_object()) { $this->pruefungsfenster_id = $row->pruefungsfenster_id; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->oe_kurzbz = $row->oe_kurzbz; $this->start = $row->start; $this->ende = $row->ende; } else { $this->errormsg = "Keine Datensatz mit dieser ID vorhanden."; return false; } return true; } /** * speichert den aktuellen Datensatz */ public function save() { if ($this->new) { $qry = 'INSERT INTO campus.tbl_pruefungsfenster (studiensemester_kurzbz, oe_kurzbz, start, ende) VALUES (' . $this->db_add_param($this->studiensemester_kurzbz) . ', ' . $this->db_add_param($this->oe_kurzbz) . ', ' . $this->db_add_param($this->start) . ', ' . $this->db_add_param($this->ende) . ');'; } else { $qry = 'UPDATE campus.tbl_pruefungsfenster SET '. 'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '. 'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '. 'start='.$this->db_add_param($this->start).', '. 'ende='.$this->db_add_param($this->ende).' '. 'WHERE pruefungsfenster_id='.$this->db_add_param($this->pruefungsfenster_id).';'; } if (!$this->db_query($qry)) { $this->errormsg = "Datensatz konnte nicht gespeichert werden"; return false; } return true; } /** * lädt alle vorhandenen Prüfungsfenster * @param Datenbankspalte nach der sortiert werden soll * @return true, wenn ok; false im Fehlerfall */ public function getAll($sort=null) { $qry = "SELECT * FROM campus.tbl_pruefungsfenster"; if($sort != null) { $qry.= " ORDER BY ".$sort." ASC;"; } else { $qry .= ";"; } if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new pruefungsfenster(); $obj->pruefungsfenster_id = $row->pruefungsfenster_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->start = $row->start; $obj->ende = $row->ende; $this->result[] = $obj; } return true; } else { $this->errormsg = 'Fehler beim Laden der Prüfungsfenster'; return false; } } /** * lädt alle Prüfungsfenster zu den angebenen Organisationseinheiten * Es kann auch ein Array mit mehreren OEs übergeben werden. * @param type $oe_kurzbz */ public function getByOe($oe_kurzbz) { } /** * löscht das Prüfungsfenster mit der angegebenen ID * @param $pruefungsfenster_id ID des Prüfungsfensters * @return true, wenn ok; false, im Fehlerfall */ public function delete($pruefungsfenster_id) { if(!is_numeric($pruefungsfenster_id)) { $this->errormsg = "Fehler: Die ID ist keine gültige Zahl."; return false; } $qry = 'DELETE FROM campus.tbl_pruefungsfenster' . ' WHERE pruefungsfenster_id='.$this->db_add_param($pruefungsfenster_id) . ';'; if(!$this->db_query($qry)) { $this->errormsg = 'Fehler: Datensatz konnte nicht gelöscht werden.'; return false; } return true; } /** * Lädt alle Prüfungsfenster zu einem angegebenen Studiensemester * @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters * @param String $sort Spaltenname, nachdem sortiert werden soll * @return boolean true, wenn ok; false im Fehlerfall */ public function getByStudiensemester($studiensemester_kurzbz, $sort=null) { $qry = "SELECT * FROM campus.tbl_pruefungsfenster WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); if($sort != null) { $qry.= " ORDER BY ".$sort." ASC;"; } else { $qry .= ";"; } if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new pruefungsfenster(); $obj->pruefungsfenster_id = $row->pruefungsfenster_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->start = $row->start; $obj->ende = $row->ende; $this->result[] = $obj; } return true; } else { $this->errormsg = 'Fehler beim Laden der Prüfungsfenster'; return false; } } /** * Baut die Datenstruktur für senden als JSON Objekt auf */ public function cleanResult() { $data = array(); if(count($this->result)>0) { foreach($this->result as $prfFenster) { $obj = new stdClass(); $obj->pruefungsfenster_id = $prfFenster->pruefungsfenster_id; $obj->studiensemester_kurzbz = $prfFenster->studiensemester_kurzbz; $obj->oe_kurzbz = $prfFenster->oe_kurzbz; $obj->start = $prfFenster->start; $obj->ende = $prfFenster->ende; $data[]=$obj; } } else { $obj = new stdClass(); $obj->pruefungsfenster_id = $this->pruefungsfenster_id; $obj->studiensemester_kurzbz = $this->studiensemester_kurzbz; $obj->oe_kurzbz = $this->oe_kurzbz; $obj->start = $this->start; $obj->ende = $this->ende; $data[]=$obj; } return $data; } /** * prüft ob für ein Prüfungsfenster bereits Prüfungen angelegt sind * @param integer $pruefungsfenster_id ID des Prüfungsfensters * @return boolean true, wenn Prüfungsfenster vorhanden sind; false, wenn nicht und im Fehlerfall */ public function hasPruefungen($pruefungsfenster_id) { if(!is_numeric($pruefungsfenster_id)) { $this->errormsg = "Die Prüfungsfenster ID ist keine gültige Zahl."; return false; } $qry = 'SELECT * FROM campus.tbl_pruefung WHERE pruefungsfenster_id='.$this->db_add_param($pruefungsfenster_id).';'; if($this->db_query($qry)) { if($this->db_num_rows()>0) { return true; } return false; } else { $this->errormsg = 'Daten konnten nicht gelsesen werden.'; return false; } } } ?>