diff --git a/admin/sync/sync_vilesci_portal_ferien.php b/admin/sync/sync_vilesci_portal_ferien.php new file mode 100644 index 000000000..13bd2d05f --- /dev/null +++ b/admin/sync/sync_vilesci_portal_ferien.php @@ -0,0 +1,127 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +//* +//* Synchronisiert Funktiondatensaetze von Vilesci DB in PORTAL DB +//* +//* + +include('../../vilesci/config.inc.php'); +include('../../include/fas/ferien.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"); + +$adress='ruhan@technikum-wien.at'; +//$adress='fas_sync@technikum-wien.at'; + +$error_log=''; +$text = ''; +$anzahl_quelle=0; +$anzahl_eingefuegt=0; +$anzahl_fehler=0; + +function validate($row) +{ +} + +/************************* + * VILESCI-PORTAL - Synchronisation + */ + +//ferien +$qry = "SELECT * FROM tbl_ferien"; + +if($result = pg_query($conn_vilesci, $qry)) +{ + echo nl2br("Ferien Sync\n------------\n"); + $anzahl_quelle=pg_num_rows($result); + while($row = pg_fetch_object($result)) + { + $error=false; + $ferien = new ferien($conn); + $ferien->bezeichnung =$row->bezeichnung; + $ferien->studiengang_kz =$row->studiengang_kz; + $ferien->vondatum =$row->vondatum; + $ferien->bisdatum =$row->bisdatum; + + $qry = "SELECT bezeichnung, studiengang_kz FROM tbl_ferien WHERE bezeichnung='$row->bezeichnung' AND studiengang_kz='$row->studiengang_kz'"; + if($result1 = pg_query($conn, $qry)) + { + if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist + { + if($row1=pg_fetch_object($result1)) + { + //Feriendaten updaten + $ferien->new=false; + + } + else + { + $error_log.="bezeichnung von $row->studiengang_kz, $row->bezeichnung konnte nicht ermittelt werden\n"; + $error=true; + } + } + else + { + //Ferien neu anlegen + $ferien->new=true; + } + + if(!$error) + { + if(!$ferien->save()) + { + $error_log.=$ferien->errormsg."\n"; + $anzahl_fehler++; + } + else + { + $anzahl_eingefuegt++; + } + } + else + $anzahl_fehler++; + } + } + echo nl2br("abgeschlossen\n\n"); +} +else + $error_log .= 'Feriendatensaetze konnten nicht geladen werden'; + +?> + + + +Synchro - Vilesci -> Portal - Ferien + + + + + + \ No newline at end of file diff --git a/include/fas/benutzerfunktion.class.php b/include/fas/benutzerfunktion.class.php index 4864375b0..25cf99ab7 100644 --- a/include/fas/benutzerfunktion.class.php +++ b/include/fas/benutzerfunktion.class.php @@ -29,7 +29,7 @@ class benutzerfunktion var $conn; // @var resource DB-Handle var $new; // @var boolean var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + var $result = array(); // @var benutzerfunktion Objekt //Tabellenspalten var $benutzerfunktion_id; // @var serial diff --git a/include/fas/ferien.class.php b/include/fas/ferien.class.php new file mode 100644 index 000000000..2a5bf40b9 --- /dev/null +++ b/include/fas/ferien.class.php @@ -0,0 +1,217 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Klasse ferien (FAS-Online) + * @create 07-12-2006 + */ + +class ferien +{ + var $conn; // @var resource DB-Handle + var $new; // @var boolean + var $errormsg; // @var string + var $result = array(); // @var ferien Objekt + + //Tabellenspalten + var $bezeichnung; // @var varchar(64) + var $studiengang_kz; // @var integer + var $vondatum; // @var date + var $bisdatum; // @var date + + /** + * Konstruktor + * @param $conn Connection zur DB + * $bezeichnung und studiengang_kz ID der zu ladenden Ferien + */ + function ferien($conn, $bezeichnung=null, $studiengang_kz=null) + { + $this->conn = $conn; + if($bezeichnung != null && $studiengang_kz != null && !is_numeric($studiengang_kz)) + $this->load($bezeichnung, studiengang_kz); + } + + /** + * Laedt alle verfuegbaren Feriendaten + * @return true wenn ok, false im Fehlerfall + */ + function getAll() + { + $qry = 'SELECT * FROM tbl_ferien order by bezeichnung, studiengang_kz;'; + + if(!$res = pg_query($this->conn, $qry)) + { + $this->errormsg = 'Fehler beim Laden der Datensaetze'; + return false; + } + + while($row = pg_fetch_object($res)) + { + $ferien_obj = new ferien($this->conn); + $ferien_obj->bezeichnung = $row->bezeichnung; + $ferien_obj->studiengang_kz = $row->studiengang_kz; + $ferien_obj->vondatum = $row->vondatum; + $ferien_obj->bisdatum = $row->bisdatum; + + $this->result[] = $ferien_obj; + } + return true; + } + + /** + * Laedt einen Feriendatensatz + * @param $bezeichnung, studiengang_kz ID der zu ladenden Ferien + * @return true wenn ok, false im Fehlerfall + */ + function load($bezeichnung, $studiengang_kz) + { + if($studiengang_kz == '' || !is_numeric($studiengang_kz) || $bezeichnung=='') + { + $this->errormsg = 'ID ungültig'; + return false; + } + + $qry = "SELECT * FROM tbl_ferien WHERE bezeichnung = '$this->bezeichnung' AND studiengang_kz = '$this->studiengang_kz';"; + + if(!$res = pg_query($this->conn, $qry)) + { + $this->errormsg = 'Fehler beim Laden des Datensatzes'; + return false; + } + + if($row=pg_fetch_object($res)) + { + $this->bezeichnung = $row->bezeichnung; + $this->studiengang_kz = $row->studiengang_kz; + $this->vondatum = $row->vondatum; + $this->bisdatum = $row->bisdatum; + } + else + { + $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; + return false; + } + + return true; + } + + /** + * Loescht einen Datensatz + * @param $bezeichnung, studiengang_kz id des Datensatzes der geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + function delete($bezeichnung, $studiengang_kz) + { + $this->errormsg = 'Noch nicht implementiert'; + return false; + } + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + /** + * Prueft die Gueltigkeit der Variablen + * @return true wenn ok, false im Fehlerfall + */ + function checkvars() + { + $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); + + //Laenge Pruefen + if(strlen($this->bezeichnung)>64) + { + $this->errormsg = "Bezeichnung darf nicht laenger als 64 Zeichen sein bei $this->studiengang_kz - $this->bezeichnung"; + return false; + } + $this->errormsg = ''; + return true; + } + /** + * Speichert den aktuellen Datensatz + * @return true wenn ok, false im Fehlerfall + */ + function save() + { + //Gueltigkeit der Variablen pruefen + if(!$this->checkvars()) + return false; + + if($this->new) + { + //Neuen Datensatz anlegen + + if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='') + { + $this->errormsg = 'ID ungültig'; + return false; + } + $qry = 'INSERT INTO tbl_ferien (bezeichnung, studiengang_kz, vondatum, bisdatum) VALUES ('. + $this->addslashes($this->bezeichnung).', '. + $this->addslashes($this->studiengang_kz).', '. + $this->addslashes($this->vondatum).', '. + $this->addslashes($this->bisdatum).'); '; + } + else + { + //bestehenden Datensatz akualisieren + + if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='') + { + $this->errormsg = 'ID der Ferien ungültig'; + return false; + } + + $qry = 'UPDATE tbl_ferien SET '. + 'bezeichnung='.$this->addslashes($this->bezeichnung).', '. + 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. + 'vondatum='.$this->addslashes($this->vondatum).', '. + 'bisdatum='.$this->addslashes($this->bisdatum).';'; + } + + if(pg_query($this->conn, $qry)) + { + /*//Log schreiben + $sql = $qry; + $qry = "SELECT nextval('log_seq') as id;"; + if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) + { + $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; + return false; + } + + $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; + if(pg_query($this->conn, $qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; + return false; + }*/ + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid; + return false; + } + } +} +?> \ No newline at end of file diff --git a/include/fas/news.class.php b/include/fas/news.class.php index 81e8b96e6..d977e899d 100644 --- a/include/fas/news.class.php +++ b/include/fas/news.class.php @@ -29,7 +29,7 @@ class news var $conn; // @var resource DB-Handle var $new; // @var boolean var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + var $result = array(); // @var news Objekt //Tabellenspalten var $news_id; // @var serial @@ -67,7 +67,7 @@ class news if(!$res = pg_query($this->conn, $qry)) { - $this->errormsg = 'Fehler beim laden der Datensaetze'; + $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } @@ -108,7 +108,7 @@ class news if(!$res = pg_query($this->conn, $qry)) { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; }