Diverse Sync Scripte Vilesci->Portal

This commit is contained in:
Andreas Österreicher
2006-11-30 16:24:41 +00:00
parent 0ea5f15c62
commit 75946e95e5
22 changed files with 1768 additions and 305 deletions
@@ -0,0 +1,96 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Benutzerberechtigung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -0,0 +1,93 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Benutzerberechtigung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -0,0 +1,93 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Feedback</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
+4 -4
View File
@@ -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";
?>
@@ -0,0 +1,97 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehrform</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -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
+3 -3
View File
@@ -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))
{
+3 -3
View File
@@ -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";
?>
@@ -0,0 +1,95 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Studiensemester</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
+92
View File
@@ -0,0 +1,92 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Stunde</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -0,0 +1,90 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Zeitwunsch</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
+12 -10
View File
@@ -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)
{
}
+185
View File
@@ -0,0 +1,185 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+138
View File
@@ -0,0 +1,138 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+148
View File
@@ -0,0 +1,148 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+165 -130
View File
@@ -1,131 +1,166 @@
<?php
/**
* Klasse lehrform (FAS-Online)
* @create 15-03-2006
*/
class lehrform
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var lehrform Objekt
var $lehrform_id; // @var integer
var $bezeichnung; // @var string
var $kurzbezeichnung; // @var string
var $standardfaktor; // @var float
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param $conn Conection zur Datenbank
* $lehrform_id ID der zu Ladenden Lehrform
*/
function lehrform($conn, $lehrform_id=null)
{
$this->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;
}
}
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+16 -14
View File
@@ -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').','.
+7 -5
View File
@@ -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;
+7 -5
View File
@@ -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;
+122 -125
View File
@@ -1,163 +1,160 @@
<?php
/**
* Klasse studiensemester (FAS-Online)
* @create 15-03-2006
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+135
View File
@@ -0,0 +1,135 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+158
View File
@@ -0,0 +1,158 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>