From 8941a40c88819534ef5757139802ff87c91ce043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 22 Apr 2008 09:46:18 +0000 Subject: [PATCH] --- content/student/studentDBDML.php | 98 +++++++++++++++++++------------- include/tw/generateuid.inc.php | 2 +- 2 files changed, 60 insertions(+), 40 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 8fcf5346e..5423fd84a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -110,7 +110,7 @@ function generateMatrikelnummer($conn, $studiengang_kz, $studiensemester_kurzbz) { if($row = pg_fetch_object($result)) { - $max = substr($row->matrikelnr,7); + $max = substr($row->matrikelnr, (strlen(trim($row->matrikelnr))-3)); } else $max = 0; @@ -890,41 +890,68 @@ if(!$error) $student->insertamum = date('Y-m-d H:i:s'); $student->insertvon = $user; - if($student->save(true, false)) + //Pruefen ob der Lehrverband exisitert, falls nicht dann anlegen + $lehrverband = new lehrverband($conn); + if(!$lehrverband->load($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe)) { - //Prestudentrolle hinzugfuegen - $rolle = new prestudent($conn); - $rolle->prestudent_id = $prestd->prestudent_id; - $rolle->rolle_kurzbz = 'Student'; - $rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; - $rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester; - $rolle->orgform_kurzbz = $hlp->result[0]->orgform_kurzbz; - $rolle->datum = date('Y-m-d'); - $rolle->insertamum = date('Y-m-d H:i:s'); - $rolle->insertvon = $user; - $rolle->new = true; - - if($rolle->save_rolle()) + $lehrverband->studiengang_kz = $student->studiengang_kz; + $lehrverband->semester = $student->semester; + $lehrverband->verband = $student->verband; + $lehrverband->gruppe = $student->gruppe; + $lehrverband->aktiv = true; + if(!$lehrverband->save(true)) { - //StudentLehrverband anlegen - $studentlehrverband = new student($conn); - $studentlehrverband->uid = $uid; - $studentlehrverband->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; - $studentlehrverband->studiengang_kz = $prestd->studiengang_kz; - $studentlehrverband->semester = $hlp->result[0]->ausbildungssemester; - $studentlehrverband->verband = ' '; - $studentlehrverband->gruppe = ' '; - $studentlehrverband->insertamum = date('Y-m-d H:i:s'); - $studentlehrverband->insertvon = $user; - - if($studentlehrverband->save_studentlehrverband(true)) + $error = true; + $errormsg = 'Fehler beim Speichern des Lehrverbandes'; + $return = false; + } + } + + if(!$error) + { + if($student->save(true, false)) + { + //Prestudentrolle hinzugfuegen + $rolle = new prestudent($conn); + $rolle->prestudent_id = $prestd->prestudent_id; + $rolle->rolle_kurzbz = 'Student'; + $rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; + $rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester; + $rolle->orgform_kurzbz = $hlp->result[0]->orgform_kurzbz; + $rolle->datum = date('Y-m-d'); + $rolle->insertamum = date('Y-m-d H:i:s'); + $rolle->insertvon = $user; + $rolle->new = true; + + if($rolle->save_rolle()) { - $return = true; - pg_query($conn, 'COMMIT;'); + //StudentLehrverband anlegen + $studentlehrverband = new student($conn); + $studentlehrverband->uid = $uid; + $studentlehrverband->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; + $studentlehrverband->studiengang_kz = $prestd->studiengang_kz; + $studentlehrverband->semester = $hlp->result[0]->ausbildungssemester; + $studentlehrverband->verband = ' '; + $studentlehrverband->gruppe = ' '; + $studentlehrverband->insertamum = date('Y-m-d H:i:s'); + $studentlehrverband->insertvon = $user; + + if($studentlehrverband->save_studentlehrverband(true)) + { + $return = true; + pg_query($conn, 'COMMIT;'); + } + else + { + $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studentlehrverbandes: ".$studentlehrverband->errormsg; + $return = false; + $anzahl_fehler++; + pg_query($conn, 'ROLLBACK;'); + } } else { - $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studentlehrverbandes: ".$studentlehrverband->errormsg; + $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Rolle: ".$rolle->errormsg; $return = false; $anzahl_fehler++; pg_query($conn, 'ROLLBACK;'); @@ -932,23 +959,16 @@ if(!$error) } else { - $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Rolle: ".$rolle->errormsg; + $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studenten: ".$student->errormsg; $return = false; $anzahl_fehler++; pg_query($conn, 'ROLLBACK;'); } } - else - { - $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studenten: ".$student->errormsg; - $return = false; - $anzahl_fehler++; - pg_query($conn, 'ROLLBACK;'); - } } else { - $errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Benutzers: ".$benutzer->errormsg; + $errormsg .= "\n$prestd->vorname $prestd->nachname $matrikelnr: Fehler beim Speichern des Benutzers: ".$benutzer->errormsg; $return = false; $anzahl_fehler++; pg_query($conn, 'ROLLBACK;'); diff --git a/include/tw/generateuid.inc.php b/include/tw/generateuid.inc.php index 8f5037e05..8139eb6c3 100644 --- a/include/tw/generateuid.inc.php +++ b/include/tw/generateuid.inc.php @@ -35,7 +35,7 @@ function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer) { $art = substr($matrikelnummer, 2, 1); - $nr = substr($matrikelnummer, 7); + $nr = substr($matrikelnummer, strlen(trim($matrikelnummer))-3); if($art=='2') //Sommersemester $nr = $nr+500; elseif($art=='0' && $stgtyp=='m') //Incoming im Masterstudiengang