diff --git a/include/fachbereich.class.php b/include/fachbereich.class.php index 18819e19d..8b6531824 100644 --- a/include/fachbereich.class.php +++ b/include/fachbereich.class.php @@ -173,6 +173,46 @@ class fachbereich extends basis_db return true; } + /** + * Laedt einen Fachbereich ueber eine OE + * @param $oe_kurzbz OE des zu ladenden Fachbereiches + * @return true wenn ok, false im Fehlerfall + */ + public function loadOE($oe_kurzbz) + { + if($oe_kurzbz == '') + { + $this->errormsg = 'oe_kurzbz ungueltig!'; + return false; + } + + $qry = "SELECT * FROM public.tbl_fachbereich WHERE oe_kurzbz = ".$this->db_add_param($oe_kurzbz).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Laden des Datensatzes'; + return false; + } + + if($row = $this->db_fetch_object()) + { + $this->fachbereich_kurzbz = $row->fachbereich_kurzbz; + $this->bezeichnung = $row->bezeichnung; + $this->farbe = $row->farbe; + $this->studiengang_kz = $row->studiengang_kz; + $this->ext_id = $row->ext_id; + $this->aktiv = $this->db_parse_bool($row->aktiv); + $this->oe_kurzbz = $row->oe_kurzbz; + } + else + { + $this->errormsg = 'Datensatz nicht gefunden'; + return false; + } + + return true; + } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 1891e75b8..7a61f1355 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -56,7 +56,13 @@ class lehrveranstaltung extends basis_db public $projektarbeit; // boolean public $koordinator; // varchar(16) public $bezeichnung_english; // varchar(256) - public $orgform_kurzbz; + public $orgform_kurzbz; // varchar(3) + public $lehrtyp_kurzbz; // varchar(32) + public $oe_kurzbz; // varchar(32) + public $raumtyp_kurzbz; // varchar(16) + public $anzahlsemester; // smallint + public $semesterwochen; // smallint + public $lvnr; // varchar(32) public $bezeichnung_arr = array(); public $lehrtyp_kurzbz; //varchar(32) @@ -127,7 +133,13 @@ class lehrveranstaltung extends basis_db $this->koordinator = $row->koordinator; $this->bezeichnung_english = $row->bezeichnung_english; $this->orgform_kurzbz = $row->orgform_kurzbz; - + $this->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $this->oe_kurzbz = $row->oe_kurzbz; + $this->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $this->anzahlsemester = $row->anzahlsemester; + $this->semesterwochen = $row->semesterwochen; + $this->lvnr = $row->lvnr; + $this->bezeichnung_arr['German'] = $this->bezeichnung; $this->bezeichnung_arr['English'] = $this->bezeichnung_english; if ($this->bezeichnung_arr['English'] == '') @@ -181,6 +193,12 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -298,6 +316,11 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -406,6 +429,12 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -469,6 +498,12 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -503,6 +538,10 @@ class lehrveranstaltung extends basis_db $this->errormsg = 'Lehreverzeichnis darf nicht laenger als 16 Zeichen sein'; return false; } + if (mb_strlen($this->lvnr) > 32) { + $this->errormsg = 'LVNR darf nicht laenger als 32 Zeichen sein'; + return false; + } if (!is_numeric($this->studiengang_kz)) { $this->errormsg = 'Studiengang_kz ist ungueltig'; return false; @@ -539,6 +578,14 @@ class lehrveranstaltung extends basis_db $this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein'; return false; } + if ($this->anzahlsemester != '' && !isint($this->sort)) { + $this->errormsg = 'Anzahl Semester muss ein eine gueltige ganze Zahl sein'; + return false; + } + if ($this->semesterwochen != '' && !isint($this->sort)) { + $this->errormsg = 'Semesterwochen muss ein eine gueltige ganze Zahl sein'; + return false; + } $this->errormsg = ''; return true; } @@ -559,7 +606,8 @@ class lehrveranstaltung extends basis_db //Neuen Datensatz anlegen $qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz, semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum, - insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz,incoming) VALUES (' . + insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort, + zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr) VALUES (' . $this->db_add_param($this->studiengang_kz) . ', ' . $this->db_add_param($this->bezeichnung) . ', ' . $this->db_add_param($this->kurzbz) . ', ' . @@ -587,7 +635,13 @@ class lehrveranstaltung extends basis_db $this->db_add_param($this->koordinator) . ',' . $this->db_add_param($this->bezeichnung_english) . ',' . $this->db_add_param($this->orgform_kurzbz) . ',' . - $this->db_add_param($this->incoming) . ');'; + $this->db_add_param($this->incoming) . ',' . + $this->db_add_param($this->lehrtyp_kurzbz) . ',' . + $this->db_add_param($this->oe_kurzbz) . ',' . + $this->db_add_param($this->raumtyp_kurzbz) . ',' . + $this->db_add_param($this->anzahlsemester) . ',' . + $this->db_add_param($this->semesterwochen) . ',' . + $this->db_add_param($this->lvnr) . ');'; } else { //bestehenden Datensatz akualisieren //Pruefen ob lehrveranstaltung_id eine gueltige Zahl ist @@ -610,19 +664,25 @@ class lehrveranstaltung extends basis_db 'aktiv=' . $this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' . 'ext_id=' . $this->db_add_param($this->ext_id) . ', ' . 'planfaktor=' . $this->db_add_param($this->planfaktor) . ', ' . - 'planlektoren=' . $this->db_add_param($this->planlektoren) . ', ' . + 'planlektoren=' . $this->db_add_param($this->planlektoren, FHC_INTEGER) . ', ' . 'planpersonalkosten=' . $this->db_add_param($this->planpersonalkosten) . ', ' . 'plankostenprolektor=' . $this->db_add_param($this->plankostenprolektor) . ', ' . 'updateamum=' . $this->db_add_param($this->updateamum) . ',' . 'updatevon=' . $this->db_add_param($this->updatevon) . ',' . 'sort=' . $this->db_add_param($this->sort) . ',' . - 'incoming=' . $this->db_add_param($this->incoming) . ',' . + 'incoming=' . $this->db_add_param($this->incoming, FHC_INTEGER) . ',' . 'zeugnis=' . $this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' . 'projektarbeit=' . $this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' . 'koordinator=' . $this->db_add_param($this->koordinator) . ',' . 'sprache=' . $this->db_add_param($this->sprache) . ',' . 'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' . - 'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ' ' . + 'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ',' . + 'lehrtyp_kurzbz=' . $this->db_add_param($this->lehrtyp_kurzbz) . ',' . + 'oe_kurzbz=' . $this->db_add_param($this->oe_kurzbz) . ',' . + 'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' . + 'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' . + 'semesterwochen=' . $this->db_add_param($this->semesterwochen, FHC_INTEGER) . ',' . + 'lvnr = ' . $this->db_add_param($this->lvnr) . ' ' . 'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';'; } @@ -706,6 +766,12 @@ class lehrveranstaltung extends basis_db $lv_obj->zeugnis = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -782,6 +848,12 @@ class lehrveranstaltung extends basis_db $l->koordinator = $row->koordinator; $l->bezeichnung_english = $row->bezeichnung_english; $l->orgform_kurzbz = $row->orgform_kurzbz; + $l->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $l->oe_kurzbz = $row->oe_kurzbz; + $l->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $l->anzahlsemester = $row->anzahlsemester; + $l->semesterwochen = $row->semesterwochen; + $l->lvnr = $row->lvnr; $l->bezeichnung_arr['German'] = $row->bezeichnung; $l->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -879,6 +951,12 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -954,6 +1032,11 @@ class lehrveranstaltung extends basis_db $obj->bezeichnung_english = $row->bezeichnung_english; $obj->orgform_kurzbz = $row->orgform_kurzbz; $obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $obj->anzahlsemester = $row->anzahlsemester; + $obj->semesterwochen = $row->semesterwochen; + $obj->lvnr = $row->lvnr; $obj->bezeichnung_arr['German'] = $row->bezeichnung; $obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1423,6 +1506,12 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->oe_kurzbz = $row->oe_kurzbz; + $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $lv_obj->anzahlsemester = $row->anzahlsemester; + $lv_obj->semesterwochen = $row->semesterwochen; + $lv_obj->lvnr = $row->lvnr; $lv_obj->studiengang_kurzbzlang = $row->studiengang_kurzbzlang;