diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e411dbaad..dd3525d1d 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -110,10 +110,18 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) { $db = new basis_db(); + $studiengang_details = new studiengang(); + $studiengang_details->load($studiengang_kz); + + if (!isset($studiengang_details->studiengang_kz)) + { + return false; + } + $jahr = substr($studiensemester_kurzbz, 4); $art = substr($studiensemester_kurzbz, 0, 2); - if($studiengang_kz<0) + if (($studiengang_kz < 0) || (isset($studiengang_details->typ) && ($studiengang_details->typ == 'l'))) { $studiengang_kz=abs($studiengang_kz); //Lehrgang @@ -136,7 +144,17 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) } if($art=='2' || $art=='4') $jahr = $jahr-1; - $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); + + //FH-Burgenland - weil leider die AO Studiengänge aufgeteilt sind + //(AO sind normal 9+erhalter Nummer, matrikelnr/personenkz wird auch im DVUH Extension berücksichtigt) + if ($studiengang_kz >= 90010 && $studiengang_kz <= 90019) + { + $matrikelnummer = sprintf("%02d",$jahr).$art.substr($studiengang_kz, 0, 4); + } + else + { + $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); + } $qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1"; diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 08d6e1f13..530b072c0 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -500,7 +500,8 @@ class studiengang extends basis_db $qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english, typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1, bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, orgform_kurzbz, zusatzinfo_html, - oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige) VALUES ('. + oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige, + melderelevant, foerderrelevant, standort_code) VALUES ('. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. $this->db_add_param($this->kurzbz).', '. $this->db_add_param($this->kurzbzlang).', '. @@ -1103,7 +1104,7 @@ class studiengang extends basis_db return false; } } - + /** * Laedt die Studiengänge die vom übergeben Typ sind * @param string $typ @@ -1118,13 +1119,13 @@ class studiengang extends basis_db tbl_studiengang.typ=".$this->db_add_param($typ)." ORDER BY kurzbz"; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new studiengang(); - + $obj->studiengang_kz = $row->studiengang_kz; $obj->kurzbz = $row->kurzbz; $obj->kurzbzlang = $row->kurzbzlang; @@ -1160,10 +1161,10 @@ class studiengang extends basis_db $obj->melderelevant = $this->db_parse_bool($row->melderelevant); $obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $obj->standort_code = $row->standort_code; - + $obj->bezeichnung_arr['German'] = $obj->bezeichnung; $obj->bezeichnung_arr['English'] = $obj->english; - + $this->result[] = $obj; } return true;