From f8f672052e57054a23957e983e762d56733459cd Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Wed, 9 Mar 2016 14:34:04 +0100 Subject: [PATCH] cleanups in studienplan-class --- include/studienplan.class.php | 1283 +++++++++++++++++---------------- 1 file changed, 642 insertions(+), 641 deletions(-) diff --git a/include/studienplan.class.php b/include/studienplan.class.php index b5f67a187..9f5464244 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -22,705 +22,706 @@ * * Authors: Andreas Österreicher * Stefan Puraner + * Andreas Moik */ require_once(dirname(__FILE__).'/basis_db.class.php'); class studienplan extends basis_db { - public $new = true; // boolean - public $result = array(); // Objekte + public $new = true; // boolean + public $result = array(); // Objekte - //Tabellenspalten - protected $studienplan_id; // integer (PK) - protected $studienordnung_id; // integer FK Studienordnung - protected $orgform_kurzbz; // varchar (3) - protected $version; // varchar (256) - protected $bezeichnung; // varchar (256) - protected $regelstudiendauer; // integer - protected $sprache; // varchar (16) FK Sprache - protected $aktiv=false; // boolean - protected $semesterwochen; // smallint - protected $testtool_sprachwahl=true;// boolean - protected $updateamum; // timestamp - protected $updatevon; // varchar - protected $insertamum; // timestamp - protected $insertvon; // varchar - protected $ects_stpl; - protected $pflicht_sws; - protected $pflicht_lvs; + //Tabellenspalten + protected $studienplan_id; // integer (PK) + protected $studienordnung_id; // integer FK Studienordnung + protected $orgform_kurzbz; // varchar (3) + protected $version; // varchar (256) + protected $bezeichnung; // varchar (256) + protected $regelstudiendauer; // integer + protected $sprache; // varchar (16) FK Sprache + protected $aktiv=false; // boolean + protected $semesterwochen; // smallint + protected $testtool_sprachwahl=true;// boolean + protected $updateamum; // timestamp + protected $updatevon; // varchar + protected $insertamum; // timestamp + protected $insertvon; // varchar + protected $ects_stpl; + protected $pflicht_sws; + protected $pflicht_lvs; - //Tabellenspalten für Zwischentabelle tbl_studienplan_lehrveranstaltung - protected $studienplan_lehrveranstaltung_id; //integer - protected $lehrveranstaltung_id; //integer - protected $semester; //smallint - protected $studienplan_lehrveranstaltung_id_parent; //integer - protected $pflicht; //boolean - protected $koordinator; //varchar(32) - protected $sort; + //Tabellenspalten für Zwischentabelle tbl_studienplan_lehrveranstaltung + protected $studienplan_lehrveranstaltung_id; //integer + protected $lehrveranstaltung_id; //integer + protected $semester; //smallint + protected $studienplan_lehrveranstaltung_id_parent; //integer + protected $pflicht; //boolean + protected $koordinator; //varchar(32) + protected $sort; - /** - * Konstruktor - */ - public function __construct() - { - parent::__construct(); - } + /** + * Konstruktor + */ + public function __construct() + { + parent::__construct(); + } - public function __set($name,$value) - { - $this->$name=$value; - } + public function __set($name,$value) + { + $this->$name=$value; + } - public function __get($name) - { - return $this->$name; - } + public function __get($name) + { + return $this->$name; + } - /** - * Laedt Studienplan mit der ID $studienplan_id - * @param $studienplan_id ID des zu ladenden Studienplanes - * @return true wenn ok, false im Fehlerfall - */ - public function loadStudienplan($studienplan_id) - { - //Pruefen ob studienplan_id eine gueltige Zahl ist - if(!is_numeric($studienplan_id) || $studienplan_id === '') - { - $this->errormsg = 'Studienplan_id muss eine Zahl sein'; - return false; - } + /** + * Laedt Studienplan mit der ID $studienplan_id + * @param $studienplan_id ID des zu ladenden Studienplanes + * @return true wenn ok, false im Fehlerfall + */ + public function loadStudienplan($studienplan_id) + { + //Pruefen ob studienplan_id eine gueltige Zahl ist + if(!is_numeric($studienplan_id) || $studienplan_id === '') + { + $this->errormsg = 'Studienplan_id muss eine Zahl sein'; + return false; + } - //Daten aus der Datenbank lesen - $qry = "SELECT * FROM lehre.tbl_studienplan WHERE studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER, false); + //Daten aus der Datenbank lesen + $qry = "SELECT * FROM lehre.tbl_studienplan WHERE studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER, false); - if(!$this->db_query($qry)) - { - $this->errormsg = 'Fehler bei einer Datenbankabfrage'; - return false; - } + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler bei einer Datenbankabfrage'; + return false; + } - if($row = $this->db_fetch_object()) - { - $this->studienplan_id = $row->studienplan_id; - $this->studienordnung_id = $row->studienordnung_id; - $this->orgform_kurzbz = $row->orgform_kurzbz; - $this->version = $row->version; - $this->bezeichnung = $row->bezeichnung; - $this->regelstudiendauer = $row->regelstudiendauer; - $this->sprache = $row->sprache; - $this->aktiv = $this->db_parse_bool($row->aktiv); - $this->semesterwochen = $row->semesterwochen; - $this->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); - $this->ects_stpl = $row->ects_stpl; - $this->pflicht_lvs = $row->pflicht_lvs; - $this->pflicht_sws = $row->pflicht_sws; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->new=false; + if($row = $this->db_fetch_object()) + { + $this->studienplan_id = $row->studienplan_id; + $this->studienordnung_id = $row->studienordnung_id; + $this->orgform_kurzbz = $row->orgform_kurzbz; + $this->version = $row->version; + $this->bezeichnung = $row->bezeichnung; + $this->regelstudiendauer = $row->regelstudiendauer; + $this->sprache = $row->sprache; + $this->aktiv = $this->db_parse_bool($row->aktiv); + $this->semesterwochen = $row->semesterwochen; + $this->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); + $this->ects_stpl = $row->ects_stpl; + $this->pflicht_lvs = $row->pflicht_lvs; + $this->pflicht_sws = $row->pflicht_sws; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->new=false; - return true; - } - else - { - $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; - return false; - } - } + return true; + } + else + { + $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; + return false; + } + } - /** - * Laedt die Studienplaene einer Studienordnung und Optional einer Organisationsform - * - * @param $studienordnung_id ID der Studienordnung - * @param $orgform_kurzbz Organisationsform - * @return boolean true wenn ok, false im Fehlerfall - */ - public function loadStudienplanSTO($studienordnung_id, $orgform_kurzbz=null) - { - //Pruefen ob studienordnung_id eine gueltige Zahl ist - if(!is_numeric($studienordnung_id) || $studienordnung_id === '') - { - $this->errormsg = 'Studienordnung_id muss eine Zahl sein'; - return false; - } + /** + * Laedt die Studienplaene einer Studienordnung und Optional einer Organisationsform + * + * @param $studienordnung_id ID der Studienordnung + * @param $orgform_kurzbz Organisationsform + * @return boolean true wenn ok, false im Fehlerfall + */ + public function loadStudienplanSTO($studienordnung_id, $orgform_kurzbz=null) + { + //Pruefen ob studienordnung_id eine gueltige Zahl ist + if(!is_numeric($studienordnung_id) || $studienordnung_id === '') + { + $this->errormsg = 'Studienordnung_id muss eine Zahl sein'; + return false; + } - //Daten aus der Datenbank lesen - $qry = "SELECT * FROM lehre.tbl_studienplan WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false); + //Daten aus der Datenbank lesen + $qry = "SELECT * FROM lehre.tbl_studienplan WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false); - if(!is_null($orgform_kurzbz)) - $qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); + if(!is_null($orgform_kurzbz)) + $qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new studienplan(); + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new studienplan(); - $obj->studienplan_id = $row->studienplan_id; - $obj->studienordnung_id = $row->studienordnung_id; - $obj->orgform_kurzbz = $row->orgform_kurzbz; - $obj->version = $row->version; - $obj->bezeichnung = $row->bezeichnung; - $obj->regelstudiendauer = $row->regelstudiendauer; - $obj->sprache = $row->sprache; - $obj->aktiv = $this->db_parse_bool($row->aktiv); - $obj->semesterwochen = $row->semesterwochen; - $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); - $obj->ects_stpl = $row->ects_stpl; - $obj->pflicht_lvs = $row->pflicht_lvs; - $obj->pflicht_sws = $row->pflicht_sws; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->new=false; + $obj->studienplan_id = $row->studienplan_id; + $obj->studienordnung_id = $row->studienordnung_id; + $obj->orgform_kurzbz = $row->orgform_kurzbz; + $obj->version = $row->version; + $obj->bezeichnung = $row->bezeichnung; + $obj->regelstudiendauer = $row->regelstudiendauer; + $obj->sprache = $row->sprache; + $obj->aktiv = $this->db_parse_bool($row->aktiv); + $obj->semesterwochen = $row->semesterwochen; + $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); + $obj->ects_stpl = $row->ects_stpl; + $obj->pflicht_lvs = $row->pflicht_lvs; + $obj->pflicht_sws = $row->pflicht_sws; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->new=false; - $this->result[] = $obj; - } + $this->result[] = $obj; + } - return true; - } - else - { - $this->errormsg = 'Fehler bei einer Datenbankabfrage'; - return false; - } - } + return true; + } + else + { + $this->errormsg = 'Fehler bei einer Datenbankabfrage'; + return false; + } + } - /** - * Prueft die Variablen auf Gueltigkeit - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - //Zahlenfelder pruefen - if(!is_numeric($this->studienordnung_id)) - { - $this->errormsg='studienordnung_id enthaelt ungueltige Zeichen'; - return false; - } + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + //Zahlenfelder pruefen + if(!is_numeric($this->studienordnung_id)) + { + $this->errormsg='studienordnung_id enthaelt ungueltige Zeichen'; + return false; + } - if(!is_numeric($this->regelstudiendauer)) - { - $this->errormsg='regelstudiendauer enthaelt ungueltige Zeichen oder ist leer'; - return false; - } - if(!is_numeric($this->semesterwochen) && $this->semesterwochen!=='') - { - $this->errormsg='semesterwochen enthaelt ungueltige Zeichen'; - return false; - } + if(!is_numeric($this->regelstudiendauer)) + { + $this->errormsg='regelstudiendauer enthaelt ungueltige Zeichen oder ist leer'; + return false; + } + if(!is_numeric($this->semesterwochen) && $this->semesterwochen!=='') + { + $this->errormsg='semesterwochen enthaelt ungueltige Zeichen'; + return false; + } - //Gesamtlaenge pruefen - if(mb_strlen($this->version)>256) - { - $this->errormsg = 'Version darf nicht länger als 256 Zeichen sein'; - return false; - } - if(mb_strlen($this->bezeichnung)>256) - { - $this->errormsg = 'Bezeichnung darf nicht länger als 256 Zeichen sein'; - return false; - } - if(mb_strlen($this->orgform_kurzbz)>3) - { - $this->errormsg = 'Orgform_kurzbz darf nicht laenger als 3 Zeichen sein'; - return false; - } - if(mb_strlen($this->sprache)>16) - { - $this->errormsg = 'sprache darf nicht laenger als 16 Zeichen sein'; - return false; - } - if(!is_bool($this->aktiv)) - { - $this->errormsg='Aktiv ist ungueltig'; - return false; - } - if(!is_bool($this->testtool_sprachwahl)) - { - $this->errormsg='Testtool_sprachwahl ist ungueltig'; - return false; - } + //Gesamtlaenge pruefen + if(mb_strlen($this->version)>256) + { + $this->errormsg = 'Version darf nicht länger als 256 Zeichen sein'; + return false; + } + if(mb_strlen($this->bezeichnung)>256) + { + $this->errormsg = 'Bezeichnung darf nicht länger als 256 Zeichen sein'; + return false; + } + if(mb_strlen($this->orgform_kurzbz)>3) + { + $this->errormsg = 'Orgform_kurzbz darf nicht laenger als 3 Zeichen sein'; + return false; + } + if(mb_strlen($this->sprache)>16) + { + $this->errormsg = 'sprache darf nicht laenger als 16 Zeichen sein'; + return false; + } + if(!is_bool($this->aktiv)) + { + $this->errormsg='Aktiv ist ungueltig'; + return false; + } + if(!is_bool($this->testtool_sprachwahl)) + { + $this->errormsg='Testtool_sprachwahl ist ungueltig'; + return false; + } - $this->errormsg = ''; - return true; - } + $this->errormsg = ''; + return true; + } - /** - * Speichert den aktuellen Datensatz in die Datenbank - * @return true wenn ok, false im Fehlerfall - */ - public function save() - { - //Variablen pruefen - if(!$this->validate()) - return false; + /** + * Speichert den aktuellen Datensatz in die Datenbank + * @return true wenn ok, false im Fehlerfall + */ + public function save() + { + //Variablen pruefen + if(!$this->validate()) + return false; - if($this->new) - { - //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version, - bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl, - pflicht_sws, pflicht_lvs, ects_stpl, insertamum, insertvon) VALUES ('. - $this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '. - $this->db_add_param($this->orgform_kurzbz).', '. - $this->db_add_param($this->version).', '. - $this->db_add_param($this->bezeichnung).', '. - $this->db_add_param($this->regelstudiendauer, FHC_INTEGER).', '. - $this->db_add_param($this->sprache).', '. - $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. - $this->db_add_param($this->semesterwochen,FHC_INTEGER).', '. - $this->db_add_param($this->testtool_sprachwahl,FHC_BOOLEAN).', '. - $this->db_add_param($this->pflicht_sws) . ', ' . - $this->db_add_param($this->pflicht_lvs) . ', ' . - $this->db_add_param($this->ects_stpl) . ', ' . - 'now(), '. - $this->db_add_param($this->insertvon).');'; - } - else - { - //Pruefen ob studienplan_id eine gueltige Zahl ist - if(!is_numeric($this->studienplan_id)) - { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; - } - $qry='UPDATE lehre.tbl_studienplan SET'. - ' studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '. - ' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '. - ' version='.$this->db_add_param($this->version).', '. - ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. - ' regelstudiendauer='.$this->db_add_param($this->regelstudiendauer, FHC_INTEGER).', '. - ' sprache='.$this->db_add_param($this->sprache).', '. - ' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. - ' semesterwochen='.$this->db_add_param($this->semesterwochen, FHC_INTEGER).', '. - ' testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).','. - ' ects_stpl=' . $this->db_add_param($this->ects_stpl) . ',' . - ' pflicht_sws=' . $this->db_add_param($this->pflicht_sws, FHC_INTEGER) . ',' . - ' pflicht_lvs=' . $this->db_add_param($this->pflicht_lvs, FHC_INTEGER) . ',' . - ' updateamum= now(), '. - ' updatevon='.$this->db_add_param($this->updatevon).' '. - ' WHERE studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER, false).';'; - } + if($this->new) + { + //Neuen Datensatz einfuegen + $qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version, + bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl, + pflicht_sws, pflicht_lvs, ects_stpl, insertamum, insertvon) VALUES ('. + $this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '. + $this->db_add_param($this->orgform_kurzbz).', '. + $this->db_add_param($this->version).', '. + $this->db_add_param($this->bezeichnung).', '. + $this->db_add_param($this->regelstudiendauer, FHC_INTEGER).', '. + $this->db_add_param($this->sprache).', '. + $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + $this->db_add_param($this->semesterwochen,FHC_INTEGER).', '. + $this->db_add_param($this->testtool_sprachwahl,FHC_BOOLEAN).', '. + $this->db_add_param($this->pflicht_sws) . ', ' . + $this->db_add_param($this->pflicht_lvs) . ', ' . + $this->db_add_param($this->ects_stpl) . ', ' . + 'now(), '. + $this->db_add_param($this->insertvon).');'; + } + else + { + //Pruefen ob studienplan_id eine gueltige Zahl ist + if(!is_numeric($this->studienplan_id)) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + $qry='UPDATE lehre.tbl_studienplan SET'. + ' studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '. + ' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '. + ' version='.$this->db_add_param($this->version).', '. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. + ' regelstudiendauer='.$this->db_add_param($this->regelstudiendauer, FHC_INTEGER).', '. + ' sprache='.$this->db_add_param($this->sprache).', '. + ' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + ' semesterwochen='.$this->db_add_param($this->semesterwochen, FHC_INTEGER).', '. + ' testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).','. + ' ects_stpl=' . $this->db_add_param($this->ects_stpl) . ',' . + ' pflicht_sws=' . $this->db_add_param($this->pflicht_sws, FHC_INTEGER) . ',' . + ' pflicht_lvs=' . $this->db_add_param($this->pflicht_lvs, FHC_INTEGER) . ',' . + ' updateamum= now(), '. + ' updatevon='.$this->db_add_param($this->updatevon).' '. + ' WHERE studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER, false).';'; + } - if($this->db_query($qry)) - { - if($this->new) - { - //naechste ID aus der Sequence holen - $qry="SELECT currval('lehre.seq_studienplan_studienplan_id') as id;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->studienplan_id = $row->id; - $this->db_query('COMMIT'); - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = "Fehler beim Auslesen der Sequence"; - return false; - } - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - return false; - } - } + if($this->db_query($qry)) + { + if($this->new) + { + //naechste ID aus der Sequence holen + $qry="SELECT currval('lehre.seq_studienplan_studienplan_id') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->studienplan_id = $row->id; + $this->db_query('COMMIT'); + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = "Fehler beim Auslesen der Sequence"; + return false; + } + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } + } - } - else - { - $this->errormsg = 'Fehler beim Speichern des Datensatzes'; - return false; - } - return $this->studienplan_id; - } + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + return $this->studienplan_id; + } - /** - * Loescht den Datenensatz mit der ID die uebergeben wird - * @param $studienplan_id ID die geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - public function delete($studienplan_id) - { - //Pruefen ob studienplan_id eine gueltige Zahl ist - if(!is_numeric($studienplan_id) || $studienplan_id === '') - { - $this->errormsg = 'studienplan_id muss eine gültige Zahl sein'."\n"; - return false; - } + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $studienplan_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($studienplan_id) + { + //Pruefen ob studienplan_id eine gueltige Zahl ist + if(!is_numeric($studienplan_id) || $studienplan_id === '') + { + $this->errormsg = 'studienplan_id muss eine gültige Zahl sein'."\n"; + return false; + } - //loeschen des Datensatzes - $qry="DELETE FROM lehre.tbl_studienplan WHERE studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER, false).";"; + //loeschen des Datensatzes + $qry="DELETE FROM lehre.tbl_studienplan WHERE studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER, false).";"; - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; - return false; - } - } + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; + return false; + } + } - /** - * Baut die Datenstruktur für senden als JSON Objekt auf - */ - public function cleanResult() - { - $data = array(); + /** + * Baut die Datenstruktur für senden als JSON Objekt auf + */ + public function cleanResult() + { + $data = array(); - if(count($this->result)>0) - { - foreach($this->result as $row) - { - $obj = new stdClass(); - $obj->studienplan_id = $row->studienplan_id; - $obj->studienordnung_id = $row->studienordnung_id; - $obj->orgform_kurzbz = $row->orgform_kurzbz; - $obj->version = $row->version; - $obj->bezeichnung = $row->bezeichnung; - $obj->regelstudiendauer = $row->regelstudiendauer; - $obj->sprache = $row->sprache; - $obj->aktiv = $row->aktiv; - $obj->semesterwochen = $row->semesterwochen; - $obj->testtool_sprachwahl = $row->testtool_sprachwahl; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; - $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $obj->semester = $row->semester; - $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; - $obj->pflicht = $row->pflicht; - $obj->koordinator = $row->koordinator; - $obj->sort = $row->sort; - $data[]=$obj; - } - } - else - { - $obj = new stdClass(); - $obj->studienplan_id = $this->studienplan_id; - $obj->studienordnung_id = $this->studienordnung_id; - $obj->orgform_kurzbz = $this->orgform_kurzbz; - $obj->version = $this->version; - $obj->bezeichnung = $this->bezeichnung; - $obj->regelstudiendauer = $this->regelstudiendauer; - $obj->sprache = $this->sprache; - $obj->aktiv = $this->aktiv; - $obj->semesterwochen = $this->semesterwochen; - $obj->testtool_sprachwahl = $this->testtool_sprachwahl; - $obj->updateamum = $this->updateamum; - $obj->updatevon = $this->updatevon; - $obj->insertamum = $this->insertamum; - $obj->insertvon = $this->insertvon; - $obj->studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id; - $obj->lehrveranstaltung_id = $this->lehrveranstaltung_id; - $obj->semester = $this->semester; - $obj->studienplan_lehrveranstaltung_id_parent = $this->studienplan_lehrveranstaltung_id_parent; - $obj->pflicht = $this->pflicht; - $obj->koordinator = $this->koordinator; - $obj->sort = $this->sort; - $data[]=$obj; - } - return $data; - } + if(count($this->result)>0) + { + foreach($this->result as $row) + { + $obj = new stdClass(); + $obj->studienplan_id = $row->studienplan_id; + $obj->studienordnung_id = $row->studienordnung_id; + $obj->orgform_kurzbz = $row->orgform_kurzbz; + $obj->version = $row->version; + $obj->bezeichnung = $row->bezeichnung; + $obj->regelstudiendauer = $row->regelstudiendauer; + $obj->sprache = $row->sprache; + $obj->aktiv = $row->aktiv; + $obj->semesterwochen = $row->semesterwochen; + $obj->testtool_sprachwahl = $row->testtool_sprachwahl; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->semester = $row->semester; + $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; + $obj->pflicht = $row->pflicht; + $obj->koordinator = $row->koordinator; + $obj->sort = $row->sort; + $data[]=$obj; + } + } + else + { + $obj = new stdClass(); + $obj->studienplan_id = $this->studienplan_id; + $obj->studienordnung_id = $this->studienordnung_id; + $obj->orgform_kurzbz = $this->orgform_kurzbz; + $obj->version = $this->version; + $obj->bezeichnung = $this->bezeichnung; + $obj->regelstudiendauer = $this->regelstudiendauer; + $obj->sprache = $this->sprache; + $obj->aktiv = $this->aktiv; + $obj->semesterwochen = $this->semesterwochen; + $obj->testtool_sprachwahl = $this->testtool_sprachwahl; + $obj->updateamum = $this->updateamum; + $obj->updatevon = $this->updatevon; + $obj->insertamum = $this->insertamum; + $obj->insertvon = $this->insertvon; + $obj->studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id; + $obj->lehrveranstaltung_id = $this->lehrveranstaltung_id; + $obj->semester = $this->semester; + $obj->studienplan_lehrveranstaltung_id_parent = $this->studienplan_lehrveranstaltung_id_parent; + $obj->pflicht = $this->pflicht; + $obj->koordinator = $this->koordinator; + $obj->sort = $this->sort; + $data[]=$obj; + } + return $data; + } - /** - * Prüft ob eine Lehrveranstaltung im Studienplan enthalten ist - * @return true wenn ja, sonst false - */ - public function containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id) - { - if (!is_numeric($studienplan_id) || $studienplan_id === '') - { - $this->errormsg = 'StudienplanID ist ungueltig'; - return false; - } - if (!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id === '') - { - $this->errormsg = 'LehrveranstaltungID ist ungueltig'; - return false; - } + /** + * Prüft ob eine Lehrveranstaltung im Studienplan enthalten ist + * @return true wenn ja, sonst false + */ + public function containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id) + { + if (!is_numeric($studienplan_id) || $studienplan_id === '') + { + $this->errormsg = 'StudienplanID ist ungueltig'; + return false; + } + if (!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id === '') + { + $this->errormsg = 'LehrveranstaltungID ist ungueltig'; + return false; + } - $qry = "SELECT 1 FROM - lehre.tbl_studienplan_lehrveranstaltung - WHERE - studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER). - " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";"; + $qry = "SELECT 1 FROM + lehre.tbl_studienplan_lehrveranstaltung + WHERE + studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER). + " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";"; - if (!$this->db_query($qry)) - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - if($this->db_num_rows()!=0) - { - return true; - } - else - { - return false; - } - } + if (!$this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + if($this->db_num_rows()!=0) + { + return true; + } + else + { + return false; + } + } - /** - * Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan - * @return true wenn ok, false im Fehlerfall - */ - public function saveStudienplanLehrveranstaltung() - { + /** + * Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan + * @return true wenn ok, false im Fehlerfall + */ + public function saveStudienplanLehrveranstaltung() + { - if ($this->new) - { - //Neuen Datensatz einfuegen - $qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id, - semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, curriculum, export - insertamum, insertvon) VALUES (' . - $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . - $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . - $this->db_add_param($this->semester, FHC_INTEGER) . ', ' . - $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . - $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' . - $this->db_add_param($this->koordinator) . ', ' . - $this->db_add_param($this->curriculum) . ', ' . - $this->db_add_param($this->export) . ', ' . - 'now(), ' . - $this->db_add_param($this->insertvon) . ');'; - } - else - { - //Pruefen ob studienplan_id eine gueltige Zahl ist - if (!is_numeric($this->studienplan_lehrveranstaltung_id)) - { - $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein'; - return false; - } + if ($this->new) + { + //Neuen Datensatz einfuegen + $qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id, + semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, curriculum, export + insertamum, insertvon) VALUES (' . + $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->semester, FHC_INTEGER) . ', ' . + $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' . + $this->db_add_param($this->koordinator) . ', ' . + $this->db_add_param($this->curriculum) . ', ' . + $this->db_add_param($this->export) . ', ' . + 'now(), ' . + $this->db_add_param($this->insertvon) . ');'; + } + else + { + //Pruefen ob studienplan_id eine gueltige Zahl ist + if (!is_numeric($this->studienplan_lehrveranstaltung_id)) + { + $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein'; + return false; + } - $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' . - ' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . - ' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . - ' semester=' . $this->db_add_param($this->semester, FHC_INTEGER) . ', ' . - ' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . - ' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' . - ' koordinator=' . $this->db_add_param($this->koordinator) . ', ' . - ' curriculum=' . $this->db_add_param($this->curriculum, FHC_BOOLEAN) . ', ' . - ' export=' . $this->db_add_param($this->export, FHC_BOOLEAN) . ', ' . - ' updateamum= now(), ' . - ' updatevon=' . $this->db_add_param($this->updatevon) . ' ' . - ' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';'; + $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' . + ' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + ' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + ' semester=' . $this->db_add_param($this->semester, FHC_INTEGER) . ', ' . + ' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + ' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' . + ' koordinator=' . $this->db_add_param($this->koordinator) . ', ' . + ' curriculum=' . $this->db_add_param($this->curriculum, FHC_BOOLEAN) . ', ' . + ' export=' . $this->db_add_param($this->export, FHC_BOOLEAN) . ', ' . + ' updateamum= now(), ' . + ' updatevon=' . $this->db_add_param($this->updatevon) . ' ' . + ' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';'; - // Bei allen darunterliegenden Zuordnungen wird das Semester angepasst, damit beim - // verschieben von Modulen die darunterliegenden Eintraege korrekt sind - $qry.=' - UPDATE lehre.tbl_studienplan_lehrveranstaltung SET semester='.$this->db_add_param($this->semester).' - WHERE studienplan_lehrveranstaltung_id IN( - WITH RECURSIVE stpllv(studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as - ( - SELECT studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent - FROM lehre.tbl_studienplan_lehrveranstaltung - WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER).' - UNION ALL - SELECT st.studienplan_lehrveranstaltung_id, st.studienplan_lehrveranstaltung_id_parent - FROM lehre.tbl_studienplan_lehrveranstaltung st, stpllv - WHERE st.studienplan_lehrveranstaltung_id_parent=stpllv.studienplan_lehrveranstaltung_id - ) - SELECT studienplan_lehrveranstaltung_id - FROM stpllv - GROUP BY studienplan_lehrveranstaltung_id);'; - } + // Bei allen darunterliegenden Zuordnungen wird das Semester angepasst, damit beim + // verschieben von Modulen die darunterliegenden Eintraege korrekt sind + $qry.=' + UPDATE lehre.tbl_studienplan_lehrveranstaltung SET semester='.$this->db_add_param($this->semester).' + WHERE studienplan_lehrveranstaltung_id IN( + WITH RECURSIVE stpllv(studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as + ( + SELECT studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent + FROM lehre.tbl_studienplan_lehrveranstaltung + WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER).' + UNION ALL + SELECT st.studienplan_lehrveranstaltung_id, st.studienplan_lehrveranstaltung_id_parent + FROM lehre.tbl_studienplan_lehrveranstaltung st, stpllv + WHERE st.studienplan_lehrveranstaltung_id_parent=stpllv.studienplan_lehrveranstaltung_id + ) + SELECT studienplan_lehrveranstaltung_id + FROM stpllv + GROUP BY studienplan_lehrveranstaltung_id);'; + } - if ($this->db_query($qry)) - { - if ($this->new) - { - //naechste ID aus der Sequence holen - $qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;"; - if ($this->db_query($qry)) - { - if ($row = $this->db_fetch_object()) - { - $this->studienplan_lehrveranstaltung_id = $row->id; - $this->db_query('COMMIT'); - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = "Fehler beim Auslesen der Sequence"; - return false; - } - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - return false; - } - } - } - else - { - $this->errormsg = 'Fehler beim Speichern des Datensatzes'; - return false; - } - return $this->studienplan_lehrveranstaltung_id; - } + if ($this->db_query($qry)) + { + if ($this->new) + { + //naechste ID aus der Sequence holen + $qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;"; + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + $this->studienplan_lehrveranstaltung_id = $row->id; + $this->db_query('COMMIT'); + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = "Fehler beim Auslesen der Sequence"; + return false; + } + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } + } + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + return $this->studienplan_lehrveranstaltung_id; + } - /** - * Laedt einen StudienplanLehrveranstaltung Eintrag - * - * @param $studienplan_lehrveranstaltung_id ID der Zuordnung - */ - public function loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id) - { - $qry = "SELECT * FROM lehre.tbl_studienplan_lehrveranstaltung WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id); + /** + * Laedt einen StudienplanLehrveranstaltung Eintrag + * + * @param $studienplan_lehrveranstaltung_id ID der Zuordnung + */ + public function loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id) + { + $qry = "SELECT * FROM lehre.tbl_studienplan_lehrveranstaltung WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id); - if($result = $this->db_query($qry)) - { - if($row = $this->db_fetch_object($result)) - { - $this->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; - $this->semester = $row->semester; - $this->pflicht = $this->db_parse_bool($row->pflicht); - $this->studienplan_id = $row->studienplan_id; - $this->koordinator = $row->koordinator; - $this->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; - $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->sort = $row->sort; - $this->curriculum = $row->curriculum; - $this->export = $row->export; - $this->new=false; - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; + $this->semester = $row->semester; + $this->pflicht = $this->db_parse_bool($row->pflicht); + $this->studienplan_id = $row->studienplan_id; + $this->koordinator = $row->koordinator; + $this->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; + $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->sort = $row->sort; + $this->curriculum = $row->curriculum; + $this->export = $row->export; + $this->new=false; + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } - /** - * Laedt die Lehrveranstaltungszuordnungen zu einem Studienplan - * - * @param $studienplan_id ID des Studienplanes - */ - public function loadStudienplanLV($studienplan_id) - { - $qry = "SELECT * FROM lehre.tbl_studienplan_lehrveranstaltung WHERE studienplan_id=".$this->db_add_param($studienplan_id); + /** + * Laedt die Lehrveranstaltungszuordnungen zu einem Studienplan + * + * @param $studienplan_id ID des Studienplanes + */ + public function loadStudienplanLV($studienplan_id) + { + $qry = "SELECT * FROM lehre.tbl_studienplan_lehrveranstaltung WHERE studienplan_id=".$this->db_add_param($studienplan_id); - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $obj = new studienplan(); + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new studienplan(); - $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; - $obj->semester = $row->semester; - $obj->pflicht = $this->db_parse_bool($row->pflicht); - $obj->studienplan_id = $row->studienplan_id; - $obj->koordinator = $row->koordinator; - $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; - $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->new=false; + $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; + $obj->semester = $row->semester; + $obj->pflicht = $this->db_parse_bool($row->pflicht); + $obj->studienplan_id = $row->studienplan_id; + $obj->koordinator = $row->koordinator; + $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->new=false; - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } - /** - * Löscht eine Lehrveranstaltung aus dem Studienplan - * @param $studienplan_lehrveranstaltung_id ID der LV in der Zwischentabelle - * @return boolean - */ - public function deleteStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id) - { - //Pruefen ob studienplan_lehrveranstaltung_id eine gueltige Zahl ist - if(!is_numeric($studienplan_lehrveranstaltung_id) || $studienplan_lehrveranstaltung_id === '') - { - $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gültige Zahl sein'."\n"; - return false; - } + /** + * Löscht eine Lehrveranstaltung aus dem Studienplan + * @param $studienplan_lehrveranstaltung_id ID der LV in der Zwischentabelle + * @return boolean + */ + public function deleteStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id) + { + //Pruefen ob studienplan_lehrveranstaltung_id eine gueltige Zahl ist + if(!is_numeric($studienplan_lehrveranstaltung_id) || $studienplan_lehrveranstaltung_id === '') + { + $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gültige Zahl sein'."\n"; + return false; + } - $qry = "DELETE from lehre.tbl_studienplan_lehrveranstaltung - WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id, FHC_INTEGER).";"; + $qry = "DELETE from lehre.tbl_studienplan_lehrveranstaltung + WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id, FHC_INTEGER).";"; - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; - return false; - } - } + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; + return false; + } + } - /** - * Holt den aktiven Studienplan eines Studiensemester / Ausbildungssemesters - * @param studiensemester_kurzbz - * @param $ausbuldungssemester - * @param $orgform_kurzbz - */ - function getStudienplan($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz) - { - $qry = "SELECT - tbl_studienplan.studienplan_id - FROM - lehre.tbl_studienplan - JOIN lehre.tbl_studienordnung USING(studienordnung_id) - JOIN lehre.tbl_studienordnung_semester USING(studienordnung_id) - WHERE - tbl_studienplan.aktiv - AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." - AND tbl_studienordnung_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)." - AND tbl_studienordnung_semester.semester=".$this->db_add_param($ausbildungssemester); + /** + * Holt den aktiven Studienplan eines Studiensemester / Ausbildungssemesters + * @param studiensemester_kurzbz + * @param $ausbuldungssemester + * @param $orgform_kurzbz + */ + function getStudienplan($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz) + { + $qry = "SELECT + tbl_studienplan.studienplan_id + FROM + lehre.tbl_studienplan + JOIN lehre.tbl_studienordnung USING(studienordnung_id) + JOIN lehre.tbl_studienordnung_semester USING(studienordnung_id) + WHERE + tbl_studienplan.aktiv + AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." + AND tbl_studienordnung_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)." + AND tbl_studienordnung_semester.semester=".$this->db_add_param($ausbildungssemester); - if($orgform_kurzbz!='') - { - $qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); - } + if($orgform_kurzbz!='') + { + $qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); + } - if($result = $this->db_query($qry)) - { - if($row = $this->db_fetch_object($result)) - { - return $row->studienplan_id; - } - } - } + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + return $row->studienplan_id; + } + } + } /** * Holt alle Studienplaene eines Studienganges