From 75946e95e5274d9b06fd532276c2cfc43ddcf004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 30 Nov 2006 16:24:41 +0000 Subject: [PATCH] Diverse Sync Scripte Vilesci->Portal --- ...nc_vilesci_portal_benutzerberechtigung.php | 96 ++++++ .../sync/sync_vilesci_portal_berechtigung.php | 93 ++++++ admin/sync/sync_vilesci_portal_feedback.php | 93 ++++++ admin/sync/sync_vilesci_portal_lehrfach.php | 8 +- admin/sync/sync_vilesci_portal_lehrform.php | 97 ++++++ .../sync/sync_vilesci_portal_mitarbeiter.php | 15 +- admin/sync/sync_vilesci_portal_sprache.php | 6 +- admin/sync/sync_vilesci_portal_studenten.php | 6 +- .../sync_vilesci_portal_studiensemester.php | 95 ++++++ admin/sync/sync_vilesci_portal_stunde.php | 92 ++++++ admin/sync/sync_vilesci_portal_zeitwunsch.php | 90 ++++++ include/fas/benutzer.class.php | 22 +- include/fas/benutzerberechtigung.class.php | 185 +++++++++++ include/fas/berechtigung.class.php | 138 ++++++++ include/fas/feedback.class.php | 148 +++++++++ include/fas/lehrform.class.php | 295 ++++++++++-------- include/fas/mitarbeiter.class.php | 30 +- include/fas/person.class.php | 12 +- include/fas/student.class.php | 12 +- include/fas/studiensemester.class.php | 247 ++++++++------- include/fas/stunde.class.php | 135 ++++++++ include/fas/zeitwunsch.class.php | 158 ++++++++++ 22 files changed, 1768 insertions(+), 305 deletions(-) create mode 100644 admin/sync/sync_vilesci_portal_benutzerberechtigung.php create mode 100644 admin/sync/sync_vilesci_portal_berechtigung.php create mode 100644 admin/sync/sync_vilesci_portal_feedback.php create mode 100644 admin/sync/sync_vilesci_portal_lehrform.php create mode 100644 admin/sync/sync_vilesci_portal_studiensemester.php create mode 100644 admin/sync/sync_vilesci_portal_stunde.php create mode 100644 admin/sync/sync_vilesci_portal_zeitwunsch.php create mode 100644 include/fas/benutzerberechtigung.class.php create mode 100644 include/fas/berechtigung.class.php create mode 100644 include/fas/feedback.class.php create mode 100644 include/fas/stunde.class.php create mode 100644 include/fas/zeitwunsch.class.php diff --git a/admin/sync/sync_vilesci_portal_benutzerberechtigung.php b/admin/sync/sync_vilesci_portal_benutzerberechtigung.php new file mode 100644 index 000000000..27a415a5f --- /dev/null +++ b/admin/sync/sync_vilesci_portal_benutzerberechtigung.php @@ -0,0 +1,96 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert Benutzerberechtigung von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/benutzerberechtigung.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +//Mitarbeiter +$qry = 'Select * FROM tbl_userberechtigung'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Benutzerberechtigung\n\n"; + while($row = pg_fetch_object($result)) + { + $error=false; + $benutzerberechtigung = new benutzerberechtigung($conn); + $benutzerberechtigung->art = $row->art; + $benutzerberechtigung->fachbereich_id = $row->fachbereich_id; + $benutzerberechtigung->studiengang_kz = $row->studiengang_kz; + $benutzerberechtigung->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $benutzerberechtigung->uid = $row->uid; + $benutzerberechtigung->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $benutzerberechtigung->start = $row->start; + $benutzerberechtigung->ende = $row->ende; + + //$qry = "SELECT count(*) as anz FROM tbl_feedback WHERE feedback_id='$row->feedback_id'"; + //if($row1 = pg_fetch_object(pg_query($conn, $qry))) + //{ + $benutzerberechtigung->new=true; + + if(!$benutzerberechtigung->save()) + { + $error_log.=$benutzerberechtigung->errormsg."\n"; + $anzahl_fehler++; + } + else + $anzahl_eingefuegt++; + //} + //else + // $error_log .= "Fehler beim ermitteln der UID\n"; + } +} +else + $error_log .= "Berechtigungen konnten nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Benutzerberechtigung + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_berechtigung.php b/admin/sync/sync_vilesci_portal_berechtigung.php new file mode 100644 index 000000000..b3539dc32 --- /dev/null +++ b/admin/sync/sync_vilesci_portal_berechtigung.php @@ -0,0 +1,93 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert Berechtigung von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/berechtigung.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +//Mitarbeiter +$qry = 'Select * FROM tbl_berechtigung'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Berechtigung\n\n"; + while($row = pg_fetch_object($result)) + { + $berechtigung = new berechtigung($conn); + $berechtigung->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $berechtigung->beschreibung = $row->beschreibung; + + $qry = "SELECT count(*) as anz FROM tbl_berechtigung where berechtigung_kurzbz='".addslashes($row->berechtigung_kurzbz)."'"; + + if($row1 =pg_fetch_object(pg_query($conn,$qry))) + { + $berechtigung->new = ($row1->anz>0?false:true); + + if(!$berechtigung->save()) + { + $anzahl_fehler++; + $error_log .= $berechtigung->errormsg."\n"; + } + else + $anzahl_eingefuegt++; + } + else + { + $error_log.='Fehler beim auslesen'; + $anzahl_fehler++; + } + } +} +else + $error_log .= "Berechtigungen konnten nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Benutzerberechtigung + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_feedback.php b/admin/sync/sync_vilesci_portal_feedback.php new file mode 100644 index 000000000..509db5639 --- /dev/null +++ b/admin/sync/sync_vilesci_portal_feedback.php @@ -0,0 +1,93 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert Feedback von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/feedback.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +//Mitarbeiter +$qry = 'Select * FROM tbl_feedback'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Feedback\n\n"; + while($row = pg_fetch_object($result)) + { + $error=false; + $feedback = new feedback($conn); + $feedback->feedback_id = $row->feedback_id; + $feedback->betreff = $row->betreff; + $feedback->text = $row->text; + $feedback->datum = $row->datum; + $feedback->uid = $row->uid; + + $qry = "SELECT count(*) as anz FROM tbl_feedback WHERE feedback_id='$row->feedback_id'"; + if($row1 = pg_fetch_object(pg_query($conn, $qry))) + { + $feedback->new = ($row1->anz>0?false:true); + + if(!$feedback->save()) + { + $error_log.=$feedback->errormsg."\n"; + $anzahl_fehler++; + } + else + $anzahl_eingefuegt++; + } + else + $error_log .= "Fehler beim ermitteln der UID\n"; + } +} +else + $error_log .= "Feedback konnte nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Feedback + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_lehrfach.php b/admin/sync/sync_vilesci_portal_lehrfach.php index 7f73b0c7f..65778dd2e 100644 --- a/admin/sync/sync_vilesci_portal_lehrfach.php +++ b/admin/sync/sync_vilesci_portal_lehrfach.php @@ -26,8 +26,8 @@ require_once('../../vilesci/config.inc.php'); require_once('../../include/fas/lehrfach.class.php'); -$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen"); -$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen"); +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); $error_log=''; $text = ''; @@ -39,7 +39,7 @@ $anzahl_fehler=0; // *********************************** //Mitarbeiter -$qry = "Select * FROM tbl_lehrfach"; +$qry = 'Select * FROM tbl_lehrfach'; if($result = pg_query($conn_vilesci, $qry)) { @@ -80,7 +80,7 @@ if($result = pg_query($conn_vilesci, $qry)) } } else - $error_log .= 'Lehrfaecher konnten nicht geladen werden\n'; + $error_log .= "Lehrfaecher konnten nicht geladen werden\n"; $text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; $text.="Anzahl der Fehler: $anzahl_fehler\n"; ?> diff --git a/admin/sync/sync_vilesci_portal_lehrform.php b/admin/sync/sync_vilesci_portal_lehrform.php new file mode 100644 index 000000000..da72d4ba1 --- /dev/null +++ b/admin/sync/sync_vilesci_portal_lehrform.php @@ -0,0 +1,97 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert die Lehrform von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/lehrform.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +//Mitarbeiter +$qry = 'SELECT * FROM tbl_lehrform'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Lehrform\n\n"; + while($row = pg_fetch_object($result)) + { + $error=false; + $lehrform = new lehrform($conn); + + $lehrform->lehrform_kurzbz = $row->lehrform_kurzbz; + $lehrform->bezeichnung = $row->bezeichnung; + $lehrform->verplanen = ($row->verplanen=='t'?true:false); + + $qry = "SELECT count(*) as anz FROM tbl_lehrform WHERE lehrform_kurzbz='$row->lehrform_kurzbz'"; + + + if($row = pg_fetch_object(pg_query($conn, $qry))) + { + if($row->anz>0) //wenn dieser eintrag schon vorhanden ist + $lehrform->new=false; + else + $lehrform->new=true; + + if(!$lehrform->save()) + { + $error_log.=$lehrform->errormsg."\n"; + $anzahl_fehler++; + } + else + $anzahl_fehler++; + } + else + $error_log .= "damm\n"; + } +} +else + $error_log .= "Lehrformen konnten nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Lehrform + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_mitarbeiter.php b/admin/sync/sync_vilesci_portal_mitarbeiter.php index 45823e8a2..ca2c6108f 100644 --- a/admin/sync/sync_vilesci_portal_mitarbeiter.php +++ b/admin/sync/sync_vilesci_portal_mitarbeiter.php @@ -51,8 +51,8 @@ if($result = pg_query($conn_vilesci, $qry)) $error=false; $mitarbeiter = new mitarbeiter($conn); - if($row->personalnummer!='') - { + //if($row->personalnummer!='') + //{ $mitarbeiter->sprache='German'; $mitarbeiter->anrede=''; $mitarbeiter->titelpost=''; @@ -90,7 +90,10 @@ if($result = pg_query($conn_vilesci, $qry)) $mitarbeiter->alias=$row->alias; $mitarbeiter->ausbildungcode=''; - $mitarbeiter->personalnummer=$row->personalnummer; + if($row->personalnummer=='OFF') + $mitarbeiter->personalnummer=''; + else + $mitarbeiter->personalnummer=$row->personalnummer; $mitarbeiter->kurzbz=$row->kurzbz; $mitarbeiter->lektor=($row->lektor=='t'?true:false); $mitarbeiter->fixangestellt=($row->fixangestellt=='t'?true:false); @@ -132,9 +135,9 @@ if($result = pg_query($conn_vilesci, $qry)) } else $error_log .= "Fehler beim ermitteln der UID\n"; - } - else - $error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n"; + //} + //else + // $error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n"; } } else diff --git a/admin/sync/sync_vilesci_portal_sprache.php b/admin/sync/sync_vilesci_portal_sprache.php index b433aa9ac..baff168da 100644 --- a/admin/sync/sync_vilesci_portal_sprache.php +++ b/admin/sync/sync_vilesci_portal_sprache.php @@ -25,8 +25,8 @@ */ require_once('../../vilesci/config.inc.php'); -$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen"); -$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen"); +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); $error_log=''; $text = ''; @@ -37,7 +37,7 @@ $anzahl_fehler=0; // * VILESCI->PORTAL - Synchronisation // *********************************** -$qry = "SELECT sprache FROM tbl_sprache"; +$qry = 'SELECT sprache FROM tbl_sprache'; if($result = pg_query($conn_vilesci, $qry)) { diff --git a/admin/sync/sync_vilesci_portal_studenten.php b/admin/sync/sync_vilesci_portal_studenten.php index 501667785..bf0839a28 100644 --- a/admin/sync/sync_vilesci_portal_studenten.php +++ b/admin/sync/sync_vilesci_portal_studenten.php @@ -28,8 +28,8 @@ require_once('../../include/fas/person.class.php'); require_once('../../include/fas/benutzer.class.php'); require_once('../../include/fas/student.class.php'); -$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen"); -$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen"); +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); $error_log=''; $text = ''; @@ -135,7 +135,7 @@ if($result = pg_query($conn_vilesci, $qry)) } } else - $error_log .= 'Studentendatensaetze konnten nicht geladen werden\n'; + $error_log .= "Studentendatensaetze konnten nicht geladen werden\n"; $text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; $text.="Anzahl der Fehler: $anzahl_fehler\n"; ?> diff --git a/admin/sync/sync_vilesci_portal_studiensemester.php b/admin/sync/sync_vilesci_portal_studiensemester.php new file mode 100644 index 000000000..635bec564 --- /dev/null +++ b/admin/sync/sync_vilesci_portal_studiensemester.php @@ -0,0 +1,95 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert die Studiensemester von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/studiensemester.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +$qry = 'SELECT * FROM tbl_studiensemester'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Studiensemester\n\n"; + while($row = pg_fetch_object($result)) + { + $error=false; + $stsem = new studiensemester($conn); + + $stsem->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $stsem->start = $row->start; + $stsem->ende = $row->ende; + + $qry = "SELECT count(*) as anz FROM tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'"; + + if($row = pg_fetch_object(pg_query($conn, $qry))) + { + if($row->anz>0) //wenn dieser eintrag schon vorhanden ist + $stsem->new=false; + else + $stsem->new=true; + + if(!$stsem->save()) + { + $error_log.=$stsem->errormsg."\n"; + $anzahl_fehler++; + } + else + $anzahl_eingefuegt++; + } + else + $error_log .= "Fehler beim lesen aus der Datenbank\n"; + } +} +else + $error_log .= "Studiensemester konnten nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Studiensemester + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_stunde.php b/admin/sync/sync_vilesci_portal_stunde.php new file mode 100644 index 000000000..a03e5ee05 --- /dev/null +++ b/admin/sync/sync_vilesci_portal_stunde.php @@ -0,0 +1,92 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert Stunde von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/stunde.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +//Mitarbeiter +$qry = 'Select * FROM tbl_stunde'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="\n Sync Stunde\n\n"; + while($row = pg_fetch_object($result)) + { + $error=false; + $stunde = new stunde($conn); + + $stunde->stunde = $row->stunde; + $stunde->beginn = $row->beginn; + $stunde->ende = $row->ende; + + $qry = "SELECT count(*) as anz FROM tbl_stunde WHERE stunde='$row->stunde'"; + if($row1 = pg_fetch_object(pg_query($conn, $qry))) + { + $stunde->new = ($row1->anz>0?false:true); + + if(!$stunde->save()) + { + $error_log.=$stunde->errormsg."\n"; + $anzahl_fehler++; + } + else + $anzahl_eingefuegt++; + } + else + $error_log .= "Fehler beim ermitteln der UID\n"; + } +} +else + $error_log .= "Stunden konnten nicht geladen werden\n"; +$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n"; +$text.="Anzahl der Fehler: $anzahl_fehler\n"; +?> + + + +Synchro - Vilesci -> Portal - Stunde + + + + + + \ No newline at end of file diff --git a/admin/sync/sync_vilesci_portal_zeitwunsch.php b/admin/sync/sync_vilesci_portal_zeitwunsch.php new file mode 100644 index 000000000..edff846ea --- /dev/null +++ b/admin/sync/sync_vilesci_portal_zeitwunsch.php @@ -0,0 +1,90 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Synchronisiert die Zeiwuensche von Vilesci DB in PORTAL DB + * + */ +require_once('../../vilesci/config.inc.php'); +require_once('../../include/fas/zeitwunsch.class.php'); + +$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen'); +$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen'); + +$error_log=''; +$text = ''; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +// *********************************** +// * VILESCI->PORTAL - Synchronisation +// *********************************** + +$qry = 'SELECT * FROM tbl_zeitwunsch'; + +if($result = pg_query($conn_vilesci, $qry)) +{ + $text.="Sync der Zeitwuensche\n\n"; + while($row=pg_fetch_object($result)) + { + $zw = new zeitwunsch($conn); + $zw->uid = $row->uid; + $zw->stunde = $row->stunde; + $zw->tag = $row->tag; + $zw->gewicht = $row->gewicht; + + $qry ="SELECT count(*) as anz FROM tbl_zeitwunsch where uid='".addslashes($row->uid)."' AND stunde='".addslashes($row->stunde)."' AND tag='".addslashes($row->tag)."';"; + if($row = pg_fetch_object(pg_query($conn, $qry))) + { + $zw->new = ($row->anz>0?false:true); + + if(!$zw->save()) + { + $error_log.= "Fehler beim einfuegen des Datensatzes: $qry"; + $anzahl_fehler++; + } + else + $anzahl_eingefuegt++; + } + else + { + $this->error_log .= "Fehler beim ermitteln des Zeitwunsches: $qry"; + $anzahl_fehler++; + } + } +} +$text .= "Anzahl eingefuegter Datensaetze: $anzahl_eingefuegt\n"; +$text .= "Anzahl der Fehler: $anzahl_fehler\n"; +?> + + +Synchro - Vilesci -> Portal - Zeitwunsch + + + + + + \ No newline at end of file diff --git a/include/fas/benutzer.class.php b/include/fas/benutzer.class.php index 17d66808c..7e6e78492 100644 --- a/include/fas/benutzer.class.php +++ b/include/fas/benutzer.class.php @@ -27,12 +27,14 @@ class benutzer extends person var $bnaktiv; // boolean var $alias; // varchar(256) - // ************************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer - // * @param $conn Datenbank-Connection - // * $benutzer_id Benutzer der geladen werden soll (default=null) - // ************************************************************************** - function benutzer($conn, $benutzer_id=null, $unicode=false) + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $uid Benutzer der geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function benutzer($conn, $uid=null, $unicode=false) { $this->conn = $conn; @@ -47,15 +49,15 @@ class benutzer extends person return false; } - if($benutzer_id != null) - $this->load($benutzer_id); + if($uid != null) + $this->load($uid); } // *********************************************************** // * Laedt Benutzer mit der uebergebenen ID - // * @param $benutzer_id ID der Person die geladen werden soll + // * @param $uid ID der Person die geladen werden soll // *********************************************************** - function load($benutzer_id) + function load($uid) { } diff --git a/include/fas/benutzerberechtigung.class.php b/include/fas/benutzerberechtigung.class.php new file mode 100644 index 000000000..bf9d7c360 --- /dev/null +++ b/include/fas/benutzerberechtigung.class.php @@ -0,0 +1,185 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class benutzerberechtigung +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $benutzerberechtigungen = array(); // benutzerberechtigung Objekt + + //Tabellenspalten + var $benutzerberechtigung_id; // int + var $art; // varchar(16) + var $fachbereich_id; // int + var $studiengang_kz; // int + var $berechtigung_kurzbz; // varchar(16) + var $uid; // varchar(16) + var $studiensemester_kurzbz; // varchar(16) + var $start; // date + var $ende; // date + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $benutzerberechtigung_id + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function benutzerberechtigung($conn, $benutzerberechtigung_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($benutzerberechtigung_id!=null) + $this->load($benutzerberechtigung_id); + } + + // ********************************************************* + // * Laedt eine Benutzerberechtigung + // * @param benutzerberechtigung_id + // ********************************************************* + function load($benutzerberechtigung_id) + { + return true; + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->art)>16) + { + $this->errormsg = 'Art darf nicht laenger als 16 Zeichen sein'; + return false; + } + + if($this->fachbereich_id!='' && !is_numeric($this->fachbereich_id)) + { + $this->errormsg = 'Fachbereich_id muss eine gueltige Zahl sein'; + return false; + } + if($this->studiengang_kz!='' && !is_numeric($this->studiengang_kz)) + { + $this->errormsg = 'Studiengangskennzahl muss eine gueltige Zahl sein'; + return false; + } + if(strlen($this->berechtigung_kurzbz)>16) + { + $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein'; + return false; + } + if($this->berechtigung_kurzbz=='') + { + $this->errormsg = 'Berechtigung_kurzbz muss angegeben werden'; + return false; + } + if(strlen($this->uid)>16) + { + $this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein'; + return false; + } + if($this->uid=='') + { + $this->errormsg = 'UID muss angegeben werden'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert Benutzerberechtigung 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 + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = 'INSERT INTO tbl_benutzerberechtigung (art, fachbereich_id, studiengang_kz, berechtigung_kurzbz, + uid, studiensemester_kurzbz, start, ende) + VALUES('.$this->addslashes($this->art).','. + $this->addslashes($this->fachbereich_id).','. + $this->addslashes($this->studiengang_kz).','. + $this->addslashes($this->berechtigung_kurzbz).','. + $this->addslashes($this->uid).','. + $this->addslashes($this->studiensemester_kurzbz).','. + $this->addslashes($this->start).','. + $this->addslashes($this->ende).');'; + } + else + { + $qry = 'UPDATE tbl_benutzerberechtigung SET'. + ' art='.$this->addslashes($this->art).','. + ' fachbereich_id='.$this->addslashes($this->fachbereich_id).','. + ' studiengang_kz='.$this->addslashes($this->studiengang_kz).','. + ' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz).','. + ' uid='.$this->addslashes($this->uid).','. + ' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).','. + ' start='.$this->addslashes($this->start).','. + ' ende='.$this->addslashes($this->ende). + " WHERE benutzerberechtigung_id='".addslashes($this->benutzerberechtigung_id)."'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry; + return false; + } + } +} +?> \ No newline at end of file diff --git a/include/fas/berechtigung.class.php b/include/fas/berechtigung.class.php new file mode 100644 index 000000000..48377a574 --- /dev/null +++ b/include/fas/berechtigung.class.php @@ -0,0 +1,138 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class berechtigung +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $berechtigungen = array(); // berechtigung Objekt + + //Tabellenspalten + var $berechtigung_kurzbz; // varchar(16) + var $beschreibung; // varchar(256) + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $berechtigung_kurzbz + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function berechtigung($conn, $berechtigung_kurzbz=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($berechtigung_kurzbz!=null) + $this->load($berechtigung_kurzbz); + } + + // ********************************************************* + // * Laedt eine Berechtigung + // * @param berechtigung_kurzbz + // ********************************************************* + function load($berechtigung_kurzbz) + { + return true; + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->berechtigung_kurzbz)>16) + { + $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein'; + return false; + } + if(strlen($this->beschreibung)>256) + { + $this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert Berechtigung 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 + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = 'INSERT INTO tbl_berechtigung (berechtigung_kurzbz, beschreibung) + VALUES('.$this->addslashes($this->berechtigung_kurzbz).','. + $this->addslashes($this->beschreibung).');'; + } + else + { + $qry = 'UPDATE tbl_berechtigung SET'. + ' beschreibung='.$this->addslashes($this->beschreibung). + " WHERE berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Berechtigung:'.$qry; + return false; + } + } +} +?> \ No newline at end of file diff --git a/include/fas/feedback.class.php b/include/fas/feedback.class.php new file mode 100644 index 000000000..e061f1a85 --- /dev/null +++ b/include/fas/feedback.class.php @@ -0,0 +1,148 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class feedback +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $feedback = array(); // feedback Objekt + + //Tabellenspalten + var $feedback_id; // integer + var $betreff; // varchar(128) + var $text; // text + var $datum; // date + var $uid; // varchar(16) + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $feedback_id + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function feedback($conn, $feedback_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($feedback_id!=null) + $this->load($feedback_id); + } + + // ********************************************************* + // * Laedt ein Feedback + // * @param + // ********************************************************* + function load($feedback_id) + { + return true; + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->betreff)>128) + { + $this->errormsg = 'Betreff darf nicht laenger als 128 Zeichen sein'; + return false; + } + if(strlen($this->uid)>16) + { + $this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert Feedback 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 + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + //ToDo: Feedback_ID wieder entfernen und per Seq fuellen + $qry = 'INSERT INTO tbl_feedback (feedback_id, betreff, text, datum, uid) + VALUES('.$this->addslashes($this->feedback_id).','. + $this->addslashes($this->betreff).','. + $this->addslashes($this->text).','. + $this->addslashes($this->datum).','. + $this->addslashes($this->uid).');'; + } + else + { + $qry = 'UPDATE tbl_feedback SET'. + ' betreff='.$this->addslashes($this->betreff).','. + ' text='.$this->addslashes($this->text).','. + ' datum='.$this->addslashes($this->datum).','. + ' uid='.$this->addslashes($this->uid). + " WHERE feedback_id='".addslashes($this->feedback_id)."'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry; + return false; + } + } +} +?> \ No newline at end of file diff --git a/include/fas/lehrform.class.php b/include/fas/lehrform.class.php index d35c9287c..c81358ff5 100644 --- a/include/fas/lehrform.class.php +++ b/include/fas/lehrform.class.php @@ -1,131 +1,166 @@ -conn = $conn; - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - if(!pg_query($conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } - if($lehrform_id != null) - $this->load($lehrform_id); - } - - /** - * Laedt einen Datensatz - * @param $lform_id ID des zu ladenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function load($lform_id) - { - //pruefen ob lform_id eine gueltige Zahl ist - if(!is_numeric($lform_id) || $lform_id == '') - { - $this->errormsg = 'lehrform_id muss eine gueltige Zahl sein'; - return false; - } - - //Datensatz laden - $qry = "SELECT * FROM lehrform WHERE lehrform_pk = '$lform_id';"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Der Datensatz konnte nicht geladen werden'; - return false; - } - - if($row = pg_fetch_object($res)) - { - $this->lehrform_id = $row->lehrform_pk; - $this->bezeichnung = $row->bezeichnung; - $this->kurzbezeichnung = $row->kurzbezeichnung; - $this->standardfaktor = $row->standardfaktor; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - } - else - { - $this->errormsg = 'Der Datensatz konnte nicht geladen werden'; - return false; - } - - return true; - } - - /** - * Liefert alle lehrformen - * @return true wenn ok, false im Fehlerfall - */ - function getAll() - { - $qry = "SELECT * FROM lehrform;"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Der Datensatz konnte nicht geladen werden'; - return false; - } - - while($row = pg_fetch_object($res)) - { - $form_obj = new lehrform($this->conn); - - $form_obj->lehrform_id = $row->lehrform_pk; - $form_obj->bezeichnung = $row->bezeichnung; - $form_obj->kurzbezeichnung = $row->kurzbezeichnung; - $form_obj->standardfaktor = $row->standardfaktor; - $form_obj->updateamum = $row->creationdate; - $form_obj->updatevon = $row->creationdate; - - $this->result[] = $form_obj; - } - - return true; - } - - /** - * Loescht einen Datensatz - * @param lehrform_id ID des zu loeschenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function delete($lehrform_id) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - - /** - * Speichert einen Datensatz - * @return true wenn ok, false im Fehlerfall - */ - function save() - { - $this->errormsg = 'Noch nicht implemeniert'; - return false; - } -} +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class lehrform +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $lehrform = array(); // lehrform Objekt + + //Tabellenspalten + var $lehrform_kurbz; // varchar(8) + var $bezeichnung; // varchar (256) + var $verplanen; // boolean + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $lehrform_kurbz Lehrform die geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function lehrform($conn, $lehrform_kurzbz=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($lehrform_kurzbz != null) + $this->load($lehrform_kurzbz); + } + + // ********************************************************* + // * Laedt Lehrform mit der uebergebenen ID + // * @param $lehrform_kurzbz Lehrform die geladen werden soll + // ********************************************************* + function load($lehrform_kurzbz) + { + $qry = "SELECT * FROM tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrfach_nr)."'"; + if(!$result=pg_query($this->conn,$qry)) + { + $this->errormsg = 'Fehler beim lesen der Lehrform'; + return false; + } + + if($row = pg_fetch_object($result)) + { + $this->lehrform_kurbz = $row->lehrform_kurzbz; + $this->bezeichnung = $row->bezeichung; + $this->verplanen = ($row->verplanen?true:false); + } + else + { + $this->errormsg = 'Es ist keine Lehrform mit der Kurzbz '.$lehrform_kurzbz.' vorhanden'; + return false; + } + + return true; + + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->lehrform_kurbz)>8) + { + $this->errormsg = 'Lehrform Kurzbezeichnung darf nicht laenger als 8 Zeichen sein.'; + return false; + } + if(strlen($this->bezeichnung)>256) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein'; + return false; + } + if(!is_bool($this->verplanen)) + { + $this->errormsg = 'Verplanen muss ein boolscher Wert sein'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird "null" zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * zeichen mit backslash versehen und das ergbnis + // * unter hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert die Lehrform in die Datenbank + // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + // * @return true wenn erfolgreich, false im Fehlerfall + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = "INSERT INTO tbl_lehrform (lehrform_kurzbz, bezeichnung, verplanen) + VALUES('".addslashes($this->lehrform_kurzbz)."',". + $this->addslashes($this->bezeichnung).','. + ($this->verplanen?'true':'false').');'; + } + else + { + $qry = 'UPDATE tbl_lehrform SET'. + ' bezeichnung='.$this->addslashes($this->bezeichnung).','. + ' verplanen='.($this->verplanen?'true':'false'). + " WHERE lehrform_kurzbz='$this->lehrform_kurzbz'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Lehrform:'.$qry; + return false; + } + } +} ?> \ No newline at end of file diff --git a/include/fas/mitarbeiter.class.php b/include/fas/mitarbeiter.class.php index 99237fc9f..bad6eb1e1 100644 --- a/include/fas/mitarbeiter.class.php +++ b/include/fas/mitarbeiter.class.php @@ -31,12 +31,14 @@ class mitarbeiter extends benutzer var $fixangestellt; //boolean var $telefonklappe; //varchar(25) - // *********************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional eine Person - // * @param $conn Datenbank-Connection - // * $person_id Person die geladen werden soll (default=null) - // *********************************************************************** - function mitarbeiter($conn, $person_id=null, $unicode=false) + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $uid Mitarbeiter der geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function mitarbeiter($conn, $uid=null, $unicode=false) { $this->conn = $conn; @@ -52,8 +54,8 @@ class mitarbeiter extends benutzer } //Mitarbeiter laden - if($person_id!=null) - $this->load($person_id); + //if($uid!=null) + // $this->load($uid); } // ************************************************ @@ -76,12 +78,12 @@ class mitarbeiter extends benutzer { $this->errormsg = 'Ausbildungscode ist ungueltig'; return false; - } - if(!is_numeric($this->personalnummer)) + } + if($this->personalnummer!='' && !is_numeric($this->personalnummer)) { $this->errormsg = 'Personalnummer muss eine gueltige Zahl sein'; return false; - } + } if(strlen($this->kurzbz)>8) { $this->errormsg = 'kurzbz darf nicht laenger als 8 Zeichen sein'; @@ -136,8 +138,8 @@ class mitarbeiter extends benutzer $qry = "INSERT INTO tbl_mitarbeiter(uid, ausbildungcode, personalnummer, kurzbz, lektor, fixangestellt, telefonklappe, updateamum, updatevon) VALUES('".addslashes($this->uid)."',". - $this->addslashes($this->ausbildungcode).",'". - $this->personalnummer."',". //TODO: in Produktivversion nicht angeben + $this->addslashes($this->ausbildungcode).",". + $this->addslashes($this->personalnummer).",". //TODO: in Produktivversion nicht angeben $this->addslashes($this->kurzbz).','. ($this->lektor?'true':'false').','. ($this->fixangestellt?'true':'false').','. @@ -150,7 +152,7 @@ class mitarbeiter extends benutzer //Bestehenden Datensatz updaten $qry = 'UPDATE tbl_mitarbeiter SET'. ' ausbildungcode='.$this->addslashes($this->ausbildungcode).','. - " personalnummer='$this->personalnummer',". //TODO: in Produktivversion nicht angeben + " personalnummer=".$this->addslashes($this->personalnummer).",". //TODO: in Produktivversion nicht angeben ' kurzbz='.$this->addslashes($this->kurzbz).','. ' lektor='.($this->lektor?'true':'false').','. ' fixangestellt='.($this->fixangestellt?'true':'false').','. diff --git a/include/fas/person.class.php b/include/fas/person.class.php index d7c4e0bcd..40febc530 100644 --- a/include/fas/person.class.php +++ b/include/fas/person.class.php @@ -53,11 +53,13 @@ class person var $updatevon; // varchar(16) var $ext_id; // bigint - // *********************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional eine Person - // * @param $conn Datenbank-Connection - // * $person_id Person die geladen werden soll (default=null) - // *********************************************************************** + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $person_id Person die geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* function person($conn, $person_id=null, $unicode=false) { $this->conn = $conn; diff --git a/include/fas/student.class.php b/include/fas/student.class.php index 0d0d1f1d0..5a135cca2 100644 --- a/include/fas/student.class.php +++ b/include/fas/student.class.php @@ -31,11 +31,13 @@ class student extends benutzer var $verband; var $gruppe; - // *********************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional eine Person - // * @param $conn Datenbank-Connection - // * $person_id Person die geladen werden soll (default=null) - // *********************************************************************** + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $student_id Student der geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* function student($conn, $student_id=null, $unicode=false) { $this->conn = $conn; diff --git a/include/fas/studiensemester.class.php b/include/fas/studiensemester.class.php index f22a474c0..4a86a3f7a 100644 --- a/include/fas/studiensemester.class.php +++ b/include/fas/studiensemester.class.php @@ -1,163 +1,160 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . */ + class studiensemester { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var studiensemester Objekt + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $studiensemester = array(); // studiensemester Objekt - var $studiensemester_id; // @var integer - var $aktuell; // @var boolean - var $art; // @var integer ( 1 = Wintersemester, 2 = Sommersemester ) - var $jahr; // @var integer - var $updateamum; // @var timestamp - var $updatevon; // @var string + //Tabellenspalten + var $studiensemester_kurzbz; // varchar(16) + var $start; // date + var $ende; // date - /** - * Konstruktor - * @param $conn Connection zur Datenbank - * $stsem_id ID des Studiensemesters das geladen werden soll - */ - function studiensemester($conn, $stsem_id=null) + // *********************************************************************** + // * Konstruktor - Uebergibt die Connection und laedt optional ein LF + // * @param $conn Datenbank-Connection + // * $studiensemester_kurzbz StSem das geladen werden soll (default=null) + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // *********************************************************************** + function studiensemester($conn, $studiensemester_kurzbz=null, $unicode=false) { $this->conn = $conn; - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + + 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"; + $this->errormsg = 'Encoding konnte nicht gesetzt werden'; return false; } - if($stsem_id != null) - $this->load($stsem_id); + + if($studiensemester_kurzbz != null) + $this->load($studiensemester_kurzbz); } - - /** - * Laedt den Datensatz mit der ID die uebergeben wird - * @param stsem_id ID des zu ladenden Datensatzes - * @return true wenn ok, false im fehlerfall; - */ - function load($stsem_id) + + // ************************************************************** + // * Laedt das Studiensemester mit der uebergebenen ID + // * @param $studiensemester_kurzbz Stsem das geladen werden soll + // ************************************************************** + function load($studiensemester_kurzbz) { - //Pruefen ob stsem_id eine gueltige Zahl ist - if(!is_numeric($stsem_id) || $stsem_id == '') + $qry = "SELECT * FROM tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + + if(!$result=pg_query($this->conn,$qry)) { - $this->errormsg = 'stsem_id muss eine gueltige Zahl sein'; + $this->errormsg = 'Fehler beim lesen des Studiensemesters'; return false; } - - //Laden eines Datensatzes - $qry = "SELECT * FROM studiensemester WHERE studiensemester_pk = '$stsem_id';"; - - if(!$res = pg_query($this->conn, $qry)) + + if($row = pg_fetch_object($result)) { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->start = $row->start; + $this->ende = $row->ende; + } + else + { + $this->errormsg = "Es ist kein Studiensemester mit der Kurzbezeichung $studiensemester_kurzbz vorhanden"; return false; } - - if($row = pg_fetch_object($res)) - { - $this->studiensemester_id = $row->studiensemester_pk; - $this->aktuell = ($row->aktuell=='J'?true:false); - $this->art = $row->art; - $this->jahr = $row->jahr; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - } - else - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - + return true; } - - - /** - * Laedt das aktuelle Studiensemester - * @return true wenn ok, false im Fehlerfall - */ - function load_akt() + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() { - $qry = "SELECT * FROM studiensemester WHERE aktuell='J'"; - - if(!$res = pg_query($this->conn, $qry)) + if(strlen($this->studiensemester_kurzbz)>16) { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Studiensemester Kurzbezeichnung darf nicht laenger als 16 Zeichen sein'; return false; } - - if($row = pg_fetch_object($res)) + if($this->studiensemester_kurzbz=='') { - $this->studiensemester_id = $row->studiensemester_pk; - $this->aktuell = ($row->aktuell=='J'?true:false); - $this->art = $row->art; - $this->jahr = $row->jahr; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - } - else - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Es muss eine Kurzbezeichnung eingegeben werden'; return false; } - - return true; - } - - /** - * Laedt alle studiensemester - * @return true wenn ok, false im Fehlerfall - */ - function getAll() - { - $qry = "SELECT * FROM studiensemester order by jahr, art desc;"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - while($row = pg_fetch_object($res)) - { - $stsem_obj = new studiensemester($this->conn); - - $stsem_obj->studiensemester_id = $row->studiensemester_pk; - $stsem_obj->aktuell = ($row->aktuell=='J'?true:false); - $stsem_obj->art = $row->art; - $stsem_obj->jahr = $row->jahr; - $stsem_obj->updateamum = $row->creationdate; - $stsem_obj->updatevon = $row->creationuser; - - $this->result[] = $stsem_obj; - } return true; } - - /** - * Loescht einen Datensatz - * @param $stsem_id ID des zu loeschenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function delete($stsem_id) + + // ************************************************ + // * wenn $var '' ist wird "null" zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * zeichen mit backslash versehen und das ergbnis + // * unter hochkomma gesetzt. + // ************************************************ + function addslashes($var) { - $this->errormsg = 'Noch nicht implementiert'; - return false; + return ($var!=''?"'".addslashes($var)."'":'null'); } - - /** - * Speichert den aktuellen Datensatz - * @return true wenn ok, false im Fehlerfall - */ + + // ************************************************************ + // * Speichert das Studiensemester 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 + // ************************************************************ function save() { - $this->errormsg = 'Noch nicht implementiert'; - return false; + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = "INSERT INTO tbl_studiensemester (studiensemester_kurzbz, start, ende) + VALUES('".addslashes($this->studiensemester_kurzbz)."',". + $this->addslashes($this->start).','. + $this->addslashes($this->ende).');'; + } + else + { + $qry = 'UPDATE tbl_studiensemester SET'. + ' start='.$this->addslashes($this->start).','. + ' ende='.$this->addslashes($this->ende). + " WHERE studiensemester_kurzbz='$this->studiensemester_kurzbz'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Studiensemesters:'.$qry; + return false; + } } } ?> \ No newline at end of file diff --git a/include/fas/stunde.class.php b/include/fas/stunde.class.php new file mode 100644 index 000000000..ead5bd6b0 --- /dev/null +++ b/include/fas/stunde.class.php @@ -0,0 +1,135 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class stunde +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $stunden = array(); // stunde Objekt + + //Tabellenspalten + var $stunde; // smalint + var $beginn; // time without timezone + var $ende; // time without timezone + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $stunde Stunde die geladen werden soll + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function stunde($conn, $stunde=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($stunde!=null) + $this->load($stunde); + } + + // ********************************************************* + // * Laedt eine Stunde + // * @param + // ********************************************************* + function load($stunde) + { + return true; + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(!is_numeric($this->stunde)) + { + $this->errormsg = 'Stunde muss eine gueltige Zahl sein'; + return false; + } + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert eine Stunde in die Datenbank + // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + // * @return true wenn erfolgreich, false im Fehlerfall + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = "INSERT INTO tbl_stunde (stunde, beginn, ende) + VALUES('".$this->stunde."',". + $this->addslashes($this->beginn).','. + $this->addslashes($this->ende).');'; + } + else + { + $qry = 'UPDATE tbl_stunde SET'. + ' beginn='.$this->addslashes($this->beginn).','. + ' ende='.$this->addslashes($this->ende). + " WHERE stunde=".$this->stunde; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Stunde:'.$qry; + return false; + } + } +} +?> \ No newline at end of file diff --git a/include/fas/zeitwunsch.class.php b/include/fas/zeitwunsch.class.php new file mode 100644 index 000000000..ac58b33e2 --- /dev/null +++ b/include/fas/zeitwunsch.class.php @@ -0,0 +1,158 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class zeitwunsch +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $zeitwuensche = array(); // zeitwunsch Objekt + + //Tabellenspalten + var $stunde; // smalint + var $uid; // varchar(16) + var $tag; // smalint + var $gewicht; // smalint + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $uid Uid des Mitarbeiters + // * $tag Tag des Zeitwunsches + // * $stunde Stunde des Zeitwunsches + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function zeitwunsch($conn, $uid=null, $tag=null, $stunde=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($uid != null && $tag!=null && $stunde!=null) + $this->load($uid, $tag, $stunde); + } + + // ********************************************************* + // * Laedt einen Zeitwunsch + // * @param + // ********************************************************* + function load($uid, $tag, $stunde) + { + return true; + } + + // ******************************************* + // * 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 angegeben werden'; + return false; + } + if(!is_numeric($this->stunde)) + { + $this->errormsg = 'Stunde muss eine gueltige Zahl sein'; + return false; + } + if(!is_numeric($this->gewicht)) + { + $this->errormsg = 'Gewicht muss eine gueltige Zahl sein'; + return false; + } + if(!is_numeric($this->tag)) + { + $this->errormsg = 'Tag muss eine gueltige Zahl sein'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert einen Zeitwunsch in die Datenbank + // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + // * @return true wenn erfolgreich, false im Fehlerfall + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = "INSERT INTO tbl_zeitwunsch (uid, tag, stunde, gewicht) + VALUES('".addslashes($this->uid)."',". + $this->tag.','.$this->stunde.','.$this->gewicht.');'; + } + else + { + $qry = 'UPDATE tbl_zeitwunsch SET'. + ' gewicht='.$this->gewicht. + " WHERE uid='".addslashes($this->uid)."' AND + tag=".$this->tag.' AND stunde='.$this->stunde; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Zeitwunsches:'.$qry; + return false; + } + } +} +?> \ No newline at end of file