diff --git a/cis/testtool/index.html b/cis/testtool/index.html new file mode 100644 index 000000000..5ebc9f37a --- /dev/null +++ b/cis/testtool/index.html @@ -0,0 +1,21 @@ + + + + TestTool - FH Technikum Wien + + + + + + + + + + + + <body> + <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p> + </body> + + + diff --git a/cis/testtool/login.php b/cis/testtool/login.php new file mode 100644 index 000000000..10b49d4b0 --- /dev/null +++ b/cis/testtool/login.php @@ -0,0 +1,96 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../config.inc.php'); +//require_once('../../include/functions.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +//require_once('../../include/studiengang.class.php'); +//require_once('../../include/lehrveranstaltung.class.php'); + +session_start(); +if (isset($_POST['logout'])) + session_destroy(); + +//Connection Herstellen +if(!$db_conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +if (isset($_POST['prestudent']) && isset($_POST['gebdatum'])) +{ + $ps=new prestudent($db_conn,$_POST['prestudent']); + if ($_POST['gebdatum']==$ps->gebdatum) + { + $_SESSION['prestudent_id']=$_POST['prestudent']; + $_SESSION['studiengang_kz']=$ps->studiengang_kz; + $_SESSION['nachname']=$ps->nachname; + $_SESSION['vorname']=$ps->vorname; + $_SESSION['gebdatum']=$ps->gebdatum; + } +} + +if (isset($_SESSION['prestudent_id'])) + $prestudent_id=$_SESSION['prestudent_id']; +else +{ + //$prestudent_id=null; + $ps=new prestudent($db_conn); + $datum=date('Y-m-d'); + $ps->getPrestudentRT($datum,true); + if ($ps->num_rows==0) + $ps->getPrestudentRT($datum); +} + +?> + + + + + + + + +

Login

+Sie sind eingelogt als '.$_SESSION['vorname'].' '.$_SESSION['nachname']; + echo ' ('.$_SESSION['gebdatum'].') ID: '.$_SESSION['prestudent_id']; + echo '
'; + echo '  '; + echo '
'; + } + else + { + echo '
+ '; + echo '  Geburtsdatum: (YYYY-MM-TT)'; + echo '  '; + echo '
'; + } +?> + + + diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php new file mode 100644 index 000000000..df97c2391 --- /dev/null +++ b/cis/testtool/menu.php @@ -0,0 +1,74 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../config.inc.php'); + +session_start(); + +//Connection Herstellen +if(!$db_conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); +?> + + + + + + + + + +'; + echo ' Gebiet'; + echo ''; + echo ''; + + $qry = 'SELECT * FROM testtool.vw_ablauf WHERE studiengang_kz='.$_SESSION['studiengang_kz'].' ORDER BY reihung'; + //echo $qry; + if($result = pg_query($db_conn, $qry)) + while($row = pg_fetch_object($result)) + echo ' + + + '; + echo '
  +  '.$row->gebiet_bez.' +
'; + echo ''; +} +else +{ + echo ''; + echo ''; + echo '
+ +  Login + +
'; + echo ''; +} +?> + + diff --git a/cis/testtool/topbar.html b/cis/testtool/topbar.html new file mode 100644 index 000000000..453df415e --- /dev/null +++ b/cis/testtool/topbar.html @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
 
+ +
TestTool
+
 
+ + + diff --git a/include/prestudent.class.php b/include/prestudent.class.php new file mode 100644 index 000000000..7860de93a --- /dev/null +++ b/include/prestudent.class.php @@ -0,0 +1,287 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class prestudent extends person +{ + //Tabellenspalten + var $prestudent_id; // varchar(16) + var $aufmerksamdurch_kurzbz; + var $studiengang_kz; + var $berufstaetigkeit_code; + var $ausbildungcode; + var $zgv_code; + var $zgvort; + var $zgvdatum; + var $zgvmas_code; + var $zgvmaort; + var $zgvmadatum; + var $aufnahmeschluessel; + var $facheinschlberuf; + var $anmeldungreihungstest; + var $reihungstestangetreten; + var $punkte; + var $bismelden; + + // ErgebnisArray + var $result=array(); + var $num_rows=0; + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent + // * @param $conn Datenbank-Connection + // * $prestudent_id Prestudent der geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function benutzer($conn, $prestudent_id=null, $unicode=false) + { + $this->conn = $conn; + + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + + if(!pg_query($conn,$qry)) + { + $this->errormsg = 'Encoding konnte nicht gesetzt werden'; + return false; + } + + if($prestudent_id != null) + $this->load($prestudent_id); + } + + // *********************************************************** + // * Laedt Prestudent mit der uebergebenen ID + // * @param $uid ID der Person die geladen werden soll + // *********************************************************** + function load($prestudent_id) + { + $qry = "SELECT * FROM public.tbl_prestudent WHERE prestudent_id='$prestudent_id'"; + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->prestudent_id = $row->prestudent_id; + $this->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; + $this->studiengang_kz = $row->studiengang_kz; + $this->berufstaetigkeit_code = $row->berufstaetigkeit_code; + $this->ausbildungcode = $row->ausbildungcode; + $this->zgv_code = $row->zgv_code; + $this->zgvort = $row->zgvort; + $this->zgvdatum = $row->zgvdatum; + $this->zgvmas_code = $row->zgvmas_code; + $this->zgvmaort = $row->zgvmaort; + $this->zgvmadatum = $row->zgvmadatum; + $this->aufnahmeschluessel = $row->aufnahmeschluessel; + $this->facheinschlberuf = $row->facheinschlberuf; + $this->anmeldungreihungstest = $row->anmeldungreihungstest; + $this->reihungstestangetreten = $row->reihungstestangetreten; + $this->punkte = $row->punkte; + $this->bismelden = $row->bismelden; + if(!person::load($row->person_id)) + return false; + else + return true; + } + else + { + $this->errormsg = "Kein Eintrag gefunden fuer $prestudent_id"; + return false; + } + } + else + { + $this->errormsg = "Fehler beim laden: $qry"; + return false; + } + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->uid)>16) + { + $this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein'; + return false; + } + if($this->uid == '') + { + $this->errormsg = 'UID muss eingegeben werden '.$this->uid; + return false; + } + if(strlen($this->alias)>256) + { + $this->errormsg = 'Alias darf nicht laenger als 256 Zeichen sein'; + return false; + } + if(!is_numeric($this->person_id)) + { + $this->errormsg = 'person_id muss eine gueltige Zahl sein'; + return false; + } + if(!is_bool($this->aktiv)) + { + $this->errormsg = 'aktiv muss ein boolscher wert sein'; + return false; + } + return true; + } + + // ****************************************************************** + // * Speichert die Benutzerdaten in die Datenbank + // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + // * ansonsten der Datensatz mit $uid upgedated + // * @return true wenn erfolgreich, false im Fehlerfall + // ****************************************************************** + function save() + { + //Personen Datensatz speichern + if(!person::save()) + return false; + + //Variablen auf Gueltigkeit pruefen + if(!benutzer::validate()) + return false; + + if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE + { + $qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon) VALUES('. + "'".addslashes($this->uid)."',". + ($this->aktiv?'true':'false').','. + $this->addslashes($this->alias).",'". + $this->person_id."',". + $this->addslashes($this->insertamum).",". + $this->addslashes($this->insertvon).",". + $this->addslashes($this->updateamum).",". + $this->addslashes($this->updatevon).");"; + } + else + { + $qry = 'UPDATE public.tbl_benutzer SET'. + ' aktiv='.($this->aktiv?'true':'false').','. + ' alias='.$this->addslashes($this->alias).','. + " person_id='".$this->person_id."',". + ' updateamum='.$this->addslashes($this->updateamum).','. + ' updatevon='.$this->addslashes($this->updatevon). + " WHERE uid='".addslashes($this->uid)."';"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$qry; + return false; + } + } + + // ****************************************************************** + // * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind. + // * Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet, + // * ansonsten werden auch alle mit späterem Datum geladen. + // * @return true wenn erfolgreich, false im Fehlerfall + // ****************************************************************** + function getPrestudentRT($datum, $equal=false) + { + $sql_query='SELECT DISTINCT * FROM public.vw_prestudent WHERE rt_datum'; + if ($equal) + $sql_query.='='; + else + $sql_query.='>='; + $sql_query.="'$datum' ORDER BY nachname,vorname"; + + if(!$result=pg_query($this->conn,$sql_query)) + { + $this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$sql_query; + return false; + } + + $this->num_rows=0; + + while($row = pg_fetch_object($result)) + { + $ps=new prestudent($this->conn); + $ps->prestudent_id = $row->prestudent_id; + $ps->person_id = $row->person_id; + $ps->reihungstest_id = $row->reihungstest_id; + $ps->staatsbuergerschaft = $row->staatsbuergerschaft; + $ps->geburtsnation = $row->geburtsnation; + $ps->sprache = $row->sprache; + $ps->anrede = $row->anrede; + $ps->titelpost = $row->titelpost; + $ps->titelpre = $row->titelpre; + $ps->nachname = $row->nachname; + $ps->vorname = $row->vorname; + $ps->vornamen = $row->vornamen; + $ps->gebdatum = $row->gebdatum; + $ps->gebort = $row->gebort; + $ps->gebzeit = $row->gebzeit; + $ps->foto = $row->foto; + $ps->anmerkungen = $row->anmerkungen; + $ps->homepage = $row->homepage; + $ps->svnr = $row->svnr; + $ps->ersatzkennzeichen = $row->ersatzkennzeichen; + $ps->familienstand = $row->familienstand; + $ps->geschlecht = $row->geschlecht; + $ps->anzahlkinder = $row->anzahlkinder; + $ps->aktiv = $row->aktiv; + $ps->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; + $ps->studiengang_kz = $row->studiengang_kz; + $ps->berufstaetigkeit_code = $row->berufstaetigkeit_code; + $ps->ausbildungcode = $row->ausbildungcode; + $ps->zgv_code = $row->zgv_code; + $ps->zgvort = $row->zgvort; + $ps->zgvdatum = $row->zgvdatum; + $ps->zgvmas_code = $row->zgvmas_code; + $ps->zgvmaort = $row->zgvmaort; + $ps->zgvmadatum = $row->zgvmadatum; + $ps->aufnahmeschluessel = $row->aufnahmeschluessel; + $ps->facheinschlberuf = $row->facheinschlberuf; + $ps->anmeldungreihungstest = $row->anmeldungreihungstest; + $ps->reihungstestangetreten = $row->reihungstestangetreten; + $ps->punkte = $row->punkte; + $ps->bismelden = $row->bismelden; + $ps->rt_studiengang_kz = $row->rt_studiengang_kz; + $ps->rt_ort = $row->rt_ort; + $ps->rt_datum = $row->rt_datum; + $ps->rt_uhrzeit = $row->rt_uhrzeit; + $ps->updateamum = $row->updateamum; + $ps->updatevon = $row->updatevon; + $ps->insertamum = $row->insertamum; + $ps->insertvon = $row->insertvon; + $ps->ext_id = $row->ext_id; + $this->result[]=$ps; + $this->num_rows++; + } + + } +} +?>