From 7f8d8c3fced4a7fa6d9587da2d60cbfb8ec9ee0c Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 8 Mar 2016 10:38:23 +0100 Subject: [PATCH 1/5] =?UTF-8?q?Bei=20Punkteeingabe=20wird=20der=20Speicher?= =?UTF-8?q?nbutton=20deaktiviert=20w=C3=A4hrend=20die=20Note=20geladen=20w?= =?UTF-8?q?ird=20damit=20es=20nicht=20vorkommen=20kann=20dass=20die=20Note?= =?UTF-8?q?=20nicht=20zu=20den=20Punkten=20passt=20wenn=20die=20Latenz=20z?= =?UTF-8?q?u=20hoch=20ist.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../benotungstool/lvgesamtnote_worker.php | 6 ++-- .../benotungstool/lvgesamtnoteverwalten.php | 29 ++++++++++++++++--- .../benotungstool/nachpruefungeintragen.php | 13 +++++++++ 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnote_worker.php b/cis/private/lehre/benotungstool/lvgesamtnote_worker.php index e64e2fe2d..250f65cde 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnote_worker.php +++ b/cis/private/lehre/benotungstool/lvgesamtnote_worker.php @@ -18,7 +18,7 @@ * Authors: Andreas Oesterreicher and */ /** - * + * */ require_once('../../../../config/cis.config.inc.php'); require_once('../../../../include/functions.inc.php'); @@ -44,5 +44,5 @@ switch($work) $note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz); echo $note; exit; -} -?> +} +?> diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 21423d297..40f7c0138 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -131,7 +131,8 @@ echo ' @@ -349,8 +392,8 @@ ID - Vorname Nachname + Vorname ZGV Gruppe Reihung RT Gesamt @@ -362,8 +405,8 @@ {{stud.prestudent_id}} - {{stud.vorname}} {{stud.nachname}} + {{stud.vorname}} {{stud.bezeichnung}} Keine Angabe {{stud.seqPlace}} @@ -378,14 +421,15 @@ +

Bereits aufgenommene

- + @@ -396,8 +440,8 @@ - + From afae4a6146d81bfdbb77217cd7271e8db67a0949 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 8 Mar 2016 11:01:38 +0100 Subject: [PATCH 3/5] =?UTF-8?q?Notenfreigabemail=20enth=C3=A4lt=20jetzt=20?= =?UTF-8?q?die=20Anzahl=20der=20Noten=20und=20den=20Bearbeiter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../benotungstool/lvgesamtnoteverwalten.php | 16 +++++++++++++--- locale/de-AT/benotungstool.php | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 40f7c0138..c5827b826 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -694,7 +694,8 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1)) { $studlist.="\n"; } - $studlist.="\n"; + $studlist.="\n"; + $studlist.="\n"; // studentenquery $qry_stud = "SELECT @@ -726,7 +727,8 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1)) { $studlist.="\n"; } - $studlist.="\n"; + $studlist.=""; + $studlist.="\n"; $neuenoten++; } } @@ -754,7 +756,15 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1)) $freigeber = "".mb_strtoupper($user).""; $mail = new mail($adressen, 'vilesci@'.DOMAIN, 'Notenfreigabe '.$lv->bezeichnung." ".$lv->orgform_kurzbz.' - '.$studienplan_bezeichnung,''); - $htmlcontent="".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." ".$lv->orgform_kurzbz." - ".$stsem." (".$lv->semester.". Sem.)

".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').":

\n".$studlist."
".$p->t('abgabetool/mailVerschicktAn').": ".$adressen.""; + $htmlcontent=" + + ".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." ".$lv->orgform_kurzbz." - ".$stsem." + (".$lv->semester.". Sem.) +

".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').": +

\n".$studlist." +
Anzahl der Noten:".$neuenoten." +
".$p->t('abgabetool/mailVerschicktAn').": ".$adressen." + "; $mail->setHTMLContent($htmlcontent); $mail->setReplyTo($lektor_adresse); $mail->send(); diff --git a/locale/de-AT/benotungstool.php b/locale/de-AT/benotungstool.php index e5c761e4b..78d32cd1c 100644 --- a/locale/de-AT/benotungstool.php +++ b/locale/de-AT/benotungstool.php @@ -172,4 +172,5 @@ $this->phrasen['benotungstool/punkte']='Punkte'; $this->phrasen['benotungstool/importAnweisung']='Kopieren Sie die Spalten Personenkennzeichen und Note aus der Notenliste und fügen Sie diese in folgendes Feld ein'; $this->phrasen['benotungstool/pruefung']='Prüfung'; $this->phrasen['benotungstool/notenlisteImport']='Notenliste für den LV-Noten-Import (Excel)'; +$this->phrasen['benotungstool/bearbeitetvon']='Bearbeitet von'; ?> \ No newline at end of file From 48e3a59b190a77c6746dc01a4e768615a33c9d8f Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Wed, 9 Mar 2016 08:18:17 +0100 Subject: [PATCH 4/5] tabelle studienjahr inkl klasse hinzugefuegt --- include/studienjahr.class.php | 167 ++++++++++++++++++++++++++++++++++ system/dbupdate_3.2.php | 26 ++++++ 2 files changed, 193 insertions(+) create mode 100644 include/studienjahr.class.php diff --git a/include/studienjahr.class.php b/include/studienjahr.class.php new file mode 100644 index 000000000..368fa8095 --- /dev/null +++ b/include/studienjahr.class.php @@ -0,0 +1,167 @@ +, + */ +require_once('basis_db.class.php'); + +class studienjahr extends basis_db +{ + public $new; // boolean + public $result = array(); // studienjahr Objekt + + //Tabellenspalten + public $studienjahr_kurzbz;// varchar(16) + public $bezeichnung; // varchar(64) + + /** + * Konstruktor - Laedt optional ein StSem + * + * @param $studienjahr_kurzbz StSem das geladen werden soll (default=null) + */ + public function __construct($studienjahr_kurzbz=null) + { + parent::__construct(); + + if($studienjahr_kurzbz != null) + $this->load($studienjahr_kurzbz); + } + + /** + * Laedt das Studienjahr mit der uebergebenen Kurzbz + * + * @param $studienjahr_kurzbz Stsem das geladen werden soll + */ + public function load($studienjahr_kurzbz) + { + $qry = "SELECT * FROM public.tbl_studienjahr WHERE studienjahr_kurzbz=".$this->db_add_param($studienjahr_kurzbz); + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Lesen des Studienjahrs'; + return false; + } + + if($row = $this->db_fetch_object()) + { + $this->studienjahr_kurzbz = $row->studienjahr_kurzbz; + $this->bezeichnung = $row->bezeichnung; + } + else + { + $this->errormsg = "Es ist kein Studienjahr mit dieser Kurzbezeichung vorhanden"; + return false; + } + + return true; + } + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * + * @return true wenn ok, false im Fehlerfall + */ + private function validate() + { + if(mb_strlen($this->studienjahr_kurzbz)>16) + { + $this->errormsg = 'Studienjahr Kurzbezeichnung darf nicht laenger als 16 Zeichen sein'; + return false; + } + if(mb_strlen($this->bezeichnung)>64) + { + $this->errormsg = 'Studienjahr Bezeichnung darf nicht laenger als 64 Zeichen sein'; + return false; + } + if($this->studienjahr_kurzbz=='') + { + $this->errormsg = 'Es muss eine Kurzbezeichnung eingegeben werden'; + return false; + } + return true; + } + + /** + * Speichert das Studienjahr in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = "INSERT INTO public.tbl_studienjahr (studienjahr_kurzbz, bezeichnung) + VALUES(".$this->db_add_param($this->studienjahr_kurzbz).",". + $this->db_add_param($this->bezeichnung).');'; + } + else + { + $qry = 'UPDATE public.tbl_studienjahr SET'. + ' start='.$this->db_add_param($this->start).','. + ' ende='.$this->db_add_param($this->ende). + " WHERE studienjahr_kurzbz=".$this->db_add_param($this->studienjahr_kurzbz); + } + + if($this->db_query($qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Studienjahrs'; + return false; + } + } + + /** + * Liefert alle Studienjahr + * + * @return true wenn ok, sonst false + */ + public function getAll() + { + $qry = "SELECT * FROM public.tbl_studienjahr ORDER BY studienjahr_kurzbz;"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $stsem_obj = new studienjahr(); + + $stsem_obj->studienjahr_kurzbz = $row->studienjahr_kurzbz; + $stsem_obj->bezeichnung = $row->bezeichnung; + + $this->result[] = $stsem_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Studienjahr'; + return false; + } + } +} +?> diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php index 738bbba72..f21de5640 100755 --- a/system/dbupdate_3.2.php +++ b/system/dbupdate_3.2.php @@ -1062,7 +1062,32 @@ if(!@$db->db_query("SELECT aufwand_pt FROM fue.tbl_projekt LIMIT 1")) echo '
Spalte aufwand_pt in fue.tbl_projekt hinzugefügt'; } +//Tabelle public.tbl_studienjahr +if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_studienjahr LIMIT 1;")) +{ + $qry = " + CREATE TABLE public.tbl_studienjahr + ( + studienjahr_kurzbz varchar(16) NOT NULL, + bezeichnung varchar(64) + + ); + ALTER TABLE public.tbl_studienjahr ADD CONSTRAINT pk_studienjahr_kurzbz PRIMARY KEY (studienjahr_kurzbz); + + INSERT INTO public.tbl_studienjahr (studienjahr_kurzbz) SELECT DISTINCT s.studienjahr_kurzbz FROM public.tbl_studiensemester s; + + ALTER TABLE public.tbl_studiensemester ADD CONSTRAINT fk_studiensemester_studienjahr FOREIGN KEY (studienjahr_kurzbz) REFERENCES public.tbl_studienjahr (studienjahr_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; + + GRANT SELECT ON public.tbl_studienjahr TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studienjahr TO vilesci; + "; + + if (!$db->db_query($qry)) + echo 'public.tbl_studienjahr: ' . $db->db_last_error() . '
'; + else + echo 'public.tbl_studienjahr: Tabelle hinzugefuegt
'; +} @@ -1288,6 +1313,7 @@ $tabellen=array( "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung"), "public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"), + "public.tbl_studienjahr" => array("studienjahr_id","studienjahr_kurzbz"), "public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung","onlinebewerbung"), "public.tbl_tag" => array("tag"), "public.tbl_variable" => array("name","uid","wert"), From f8f672052e57054a23957e983e762d56733459cd Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Wed, 9 Mar 2016 14:34:04 +0100 Subject: [PATCH 5/5] 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
IDVorname NachnameVorname ZGV Gruppe Reihung RT Gesamt
{{stud.prestudent_id}}{{stud.vorname}} {{stud.nachname}}{{stud.vorname}} {{stud.bezeichnung}} Keine Angabe {{stud.seqPlace}}".$p->t('benotungstool/punkte')."".$p->t('benotungstool/note')."
".$p->t('benotungstool/note')."".$p->t('benotungstool/bearbeitetvon')."
".($lvgesamtnote->punkte!=''?trim(number_format($lvgesamtnote->punkte,2)):'')."".$noten_array[trim($lvgesamtnote->note)]['bezeichnung']."
".$noten_array[trim($lvgesamtnote->note)]['bezeichnung']."".$lvgesamtnote->mitarbeiter_uid.($lvgesamtnote->updatevon!=''?" (".$lvgesamtnote->updatevon.")":'')."