mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
SYNC Scripte für benutzergruppe, gruppe, personlvstudiensemester, reservierung und variable
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
<?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 BenutzerGruppen von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/benutzergruppe.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 uid, mailgrp_kurzbz as gruppe_kurzbz, updateamum, updatevon
|
||||
FROM tbl_personmailgrp
|
||||
UNION
|
||||
SELECT uid, einheit_kurzbz as gruppe_kurzbz, updateamum, updatevon
|
||||
FROM tbl_einheitstudent';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync BenutzerGruppe\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$bngruppe = new benutzergruppe($conn);
|
||||
$bngruppe->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$bngruppe->uid = $row->uid;
|
||||
$bngruppe->updateamum = $row->updateamum;
|
||||
$bngruppe->updatevon = $row->updatevon;
|
||||
$bngruppe->insertamum = '';
|
||||
$bngruppe->insertvon = '';
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_benutzergruppe WHERE
|
||||
gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND uid='".addslashes($row->uid)."'";
|
||||
|
||||
if($row1=pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
$new = ($row1->anz>0?false:true);
|
||||
|
||||
if(!$bngruppe->save($new))
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log .= $bngruppe->errormsg."\n";
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.='Fehler beim Auslesen';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= "BenutzerGruppen 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 - BenutzerGruppe</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,111 @@
|
||||
<?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 Gruppen von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/gruppe.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 einheit_kurzbz as gruppe_kurzbz, studiengang_kz, bezeichnung, semester, typ, mailgrp_kurzbz,
|
||||
bezeichnung as mailgrp_beschreibung, true as sichtbar , true as aktiv, null as updateamum,
|
||||
null as updatevon, null as insertamum, null as insertvon
|
||||
FROM tbl_einheit WHERE mailgrp_kurzbz is null
|
||||
UNION
|
||||
SELECT mailgrp_kurzbz as gruppe_kurzbz, studiengang_kz, beschreibung as bezeichnung, null as semester,
|
||||
null as typ, mailgrp_kurzbz, beschreibung as mailgrp_beschreibung, sichtbar, aktiv, null as updateamum,
|
||||
null as updatevon, null as insertamum, null as insertvon
|
||||
FROM tbl_mailgrp';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Gruppe\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$gruppe = new gruppe($conn);
|
||||
$gruppe->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$gruppe->studiengang_kz = $row->studiengang_kz;
|
||||
$gruppe->bezeichnung = $row->bezeichnung;
|
||||
$gruppe->semester = $row->semester;
|
||||
$gruppe->typ = $row->typ;
|
||||
$gruppe->mailgrp_kurzbz = $row->mailgrp_kurzbz;
|
||||
$gruppe->mailgrp_beschreibung = $row->mailgrp_beschreibung;
|
||||
$gruppe->sichtbar = ($row->sichtbar=='f'?true:false);
|
||||
$gruppe->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$gruppe->updateamum = $row->updateamum;
|
||||
$gruppe->updatevon = $row->updatevon;
|
||||
$gruppe->insertamum = $row->insertamum;
|
||||
$gruppe->insertvon = $row->insertvon;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_gruppe where gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."'";
|
||||
|
||||
if($row1=pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
$new = ($row1->anz>0?false:true);
|
||||
|
||||
if(!$gruppe->save($new))
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log .= $gruppe->errormsg."\n";
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.='Fehler beim Auslesen';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= "Gruppen 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 - Gruppe</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>
|
||||
@@ -41,7 +41,7 @@ $anzahl_fehler=0;
|
||||
// ***********************************
|
||||
|
||||
//Mitarbeiter
|
||||
$qry = "SELECT * FROM tbl_person JOIN tbl_mitarbeiter USING(uid) WHERE personalnummer<>'OFF' AND uid NOT LIKE '\_dummy%' AND uid NOT LIKE '\_Dummy%'";
|
||||
$qry = "SELECT * FROM tbl_person JOIN tbl_mitarbeiter USING(uid) WHERE uid NOT LIKE '\_dummy%' AND uid NOT LIKE '\_Dummy%'";
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
@@ -57,6 +57,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$mitarbeiter->anrede='';
|
||||
$mitarbeiter->titelpost='';
|
||||
$mitarbeiter->titelpre=$row->titel;
|
||||
|
||||
$mitarbeiter->nachname=$row->nachname;
|
||||
if(!$len=strpos($row->vornamen,' '))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?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 tbl_personlvstudiensemester von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/personlvstudiensemester.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_personlehrfachstudiensemester';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Personlvstudiensemester\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$obj = new personlvstudiensemester($conn);
|
||||
$obj->uid = $row->uid;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$qry = "SELECT lehrveranstaltung_nr FROM tbl_lehrveranstaltung WHERE ext_id=$row->lehrfach_nr";
|
||||
if($row1 = pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
$obj->lehrveranstaltung_nr = $row1->lehrveranstaltung_nr;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_personlvstudiensemester WHERE
|
||||
uid='".addslashes($row->uid)."' AND studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'
|
||||
AND lehrveranstaltung_nr='".addslashes($row1->lehrveranstaltung_nr)."';";
|
||||
|
||||
if($row1=pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
$new = ($row1->anz>0?false:true);
|
||||
|
||||
if(!$obj->save($new))
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log .= $obj->errormsg."\n";
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.='Fehler beim Auslesen';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log .= 'Fehler beim auslesen der Lehrveranstaltung_nr\n';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= "PersonLVStudiensemester 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 - PersonLVStudiensemester</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,102 @@
|
||||
<?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 Reservierungen von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/reservierung.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_reservierung';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Reservierung\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$reservierung = new reservierung($conn);
|
||||
$reservierung->reservierung_id = $row->reservierung_id;
|
||||
$reservierung->ort_kurzbz = $row->ort_kurzbz;
|
||||
$reservierung->studiengang_kz = $row->studiengang_kz;
|
||||
$reservierung->uid = $row->uid;
|
||||
$reservierung->stunde = $row->stunde;
|
||||
$reservierung->datum = $row->datum;
|
||||
$reservierung->titel = $row->titel;
|
||||
$reservierung->beschreibung = $row->beschreibung;
|
||||
$reservierung->semester = $row->semester;
|
||||
$reservierung->verband = $row->verband;
|
||||
$reservierung->gruppe = $row->gruppe;
|
||||
$reservierung->gruppe_kurzbz = $row->einheit_kurzbz;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_reservierung where reservierung_id='".addslashes($row->reservierung_id)."'";
|
||||
|
||||
if($row1 =pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
$var = ($row1->anz>0?false:true);
|
||||
//Wenn reservierung vorhanden ist dann updaten sonst neu einfuegen
|
||||
if(!$reservierung->save($var))
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log .= $reservierung->errormsg."\n";
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.='Fehler beim Auslesen';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= "Reservierungen 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 - Reservierung</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,94 @@
|
||||
<?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 tbl_variable von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/variable.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_variable";
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Variable\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$error=false;
|
||||
$var = new variable($conn);
|
||||
|
||||
$var->uid = $row->uid;
|
||||
$var->name = $row->name;
|
||||
$var->wert = $row->wert;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_variable WHERE uid='$row->uid' AND name='$row->name'";
|
||||
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
if($row1->anz>0) //wenn dieser eintrag schon vorhanden ist
|
||||
$new=false;
|
||||
else
|
||||
$new=true;
|
||||
|
||||
if(!$var->save($new))
|
||||
{
|
||||
$error_log.=$var->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
$error_log .= "Fehler beim ermitteln der Variable\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= 'Variablendatensaetze 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 - Variable</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>
|
||||
@@ -28,7 +28,7 @@ class benutzer extends person
|
||||
var $alias; // varchar(256)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Benutzer der geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
@@ -94,6 +94,7 @@ class benutzer extends person
|
||||
$this->errormsg = 'aktiv muss ein boolscher wert sein';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
@@ -104,19 +105,13 @@ class benutzer extends person
|
||||
// ******************************************************************
|
||||
function save()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
//Personen Datensatz speichern
|
||||
if(!person::save())
|
||||
return false;
|
||||
|
||||
/*if(!pg_query($this->conn,'BEGIN;'))
|
||||
{
|
||||
$this->errormsg = 'Benutzertransaktion konnte nicht gesetzt werden';
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!benutzer::validate())
|
||||
return false;
|
||||
}*/
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
{
|
||||
@@ -143,20 +138,11 @@ class benutzer extends person
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
/*if(!pg_query($this->conn,'COMMIT;'))
|
||||
{
|
||||
$this->errormsg = 'Bentuzer commit fehlgeschlagen';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{*/
|
||||
//Log schreiben
|
||||
return true;
|
||||
/*}*/
|
||||
}
|
||||
else
|
||||
{
|
||||
//pg_query($this->conn,'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$qry;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
<?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 benutzergruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $benutzergruppen = array(); // benutzergruppe Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $gruppe_kurzbz; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine BenutzerGruppe
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid
|
||||
// * $gruppe_kurzbz
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzergruppe($conn, $uid=null, $gruppe_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($gruppe_kurzbz!=null && $uid!=null)
|
||||
$this->load($uid, $gruppe_kurzbz);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die BenutzerGruppe
|
||||
// * @param gruppe_kurzbz
|
||||
// *********************************************************
|
||||
function load($uid, $gruppe_kurzbz)
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nich laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
{
|
||||
//ToDo: Just 4 Sync dannach wieder errormsg setzen
|
||||
$this->updatevon = substr($this->updatevon,0,15);
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = 'Insertvon 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 BenutzerGruppe 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($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//ToDo
|
||||
$qry = 'Select 1;';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der BenutzerGruppe:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+190
-168
@@ -1,202 +1,224 @@
|
||||
<?php
|
||||
/**
|
||||
* Klasse gruppe (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 gruppe
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var gruppe Objekt
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $gruppen = array(); // gruppen Objekt
|
||||
|
||||
var $ausbildungssemester_id; // @var integer
|
||||
var $gruppe_id; // @var integer
|
||||
var $name; // @var string
|
||||
var $nummerintern; // @var integer
|
||||
var $obergruppe_id; // @var integer
|
||||
var $ordnung; // @var integer
|
||||
var $studiengang_id; // @var integer
|
||||
var $typ; // @var integer ( Ebene ??)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $fullname; // @var string
|
||||
//Tabellenspalten
|
||||
var $gruppe_kurzbz; // varchar(10)
|
||||
var $studiengang_kz; // integer
|
||||
var $bezeichnung; // varchar(64)
|
||||
var $semester; // smallint
|
||||
var $typ; // smallint
|
||||
var $mailgrp_kurzbz; // varchar(16)
|
||||
var $mailgrp_beschreibung; // varchar(64)
|
||||
var $sichtbar; // boolean
|
||||
var $aktiv; // boolean
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur Datenbank
|
||||
* $gruppe_id ID der zu ladenden Gruppe
|
||||
*/
|
||||
function gruppe($conn, $gruppe_id=null)
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Gruppe
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $gruppe_kurzbz
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function gruppe($conn, $gruppe_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($gruppe_id != null)
|
||||
$this->load($gruppe_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Gruppe
|
||||
* @param gruppe_id ID der Gruppe
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($gruppe_id)
|
||||
{
|
||||
//gruppe_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($gruppe_id) || $gruppe_id =='')
|
||||
{
|
||||
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM gruppe WHERE gruppe_pk='$gruppe_id';";
|
||||
if($gruppe_kurzbz!=null)
|
||||
$this->load($gruppe_kurzbz);
|
||||
}
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
// *********************************************************
|
||||
// * Laedt die Gruppe
|
||||
// * @param gruppe_kurzbz
|
||||
// *********************************************************
|
||||
function load($gruppe_kurzbz)
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$this->gruppe_id = $row->gruppe_pk;
|
||||
$this->name = $row->name;
|
||||
$this->nummerintern = $row->nummerintern;
|
||||
$this->obergruppe_id = $row->obergruppe_fk;
|
||||
$this->ordnung = $row->ordnung;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->typ = $row->typ;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
if(strlen($this->gruppe_kurzbz)>10)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->gruppe_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Gruppe muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->bezeichnung)>64)
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->typ!='' && !is_numeric($this->typ))
|
||||
{
|
||||
$this->errormsg = 'Typ muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->mailgrp_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Mailgrp_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->mailgrp_beschreibung)>64)
|
||||
{
|
||||
$this->errormsg = 'Mailgrp_beschreibung darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->sichtbar))
|
||||
{
|
||||
$this->errormsg = 'Sichtbar muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->aktiv))
|
||||
{
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->fullname = $this->getFullName($row->gruppe_pk);
|
||||
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 Gruppe 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($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, typ,
|
||||
mailgrp_kurzbz, mailgrp_beschreibung, sichtbar, aktiv,
|
||||
updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->typ).','.
|
||||
$this->addslashes($this->mailgrp_kurzbz).','.
|
||||
$this->addslashes($this->mailgrp_beschreibung).','.
|
||||
($this->sichtbar?'true':'false').','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
$qry = 'UPDATE tbl_gruppe SET'.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' typ='.$this->addslashes($this->typ).','.
|
||||
' mailgrp_kurzbz='.$this->addslashes($this->mailgrp_kurzbz).','.
|
||||
' mailgrp_beschreibung='.$this->addslashes($this->mailgrp_beschreibung).','.
|
||||
' sichtbar='.($this->sichtbar?'true':'false').','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE gruppe_kurzbz=".$this->addslashes($this->gruppe_kurzbz).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den vollen namen einer Gruppe
|
||||
* @param $gruppe_id
|
||||
* @return voller name, false im Fehlerfall
|
||||
*/
|
||||
function getFullName($gruppe_id)
|
||||
else
|
||||
{
|
||||
//gruppe_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($gruppe_id) || $gruppe_id == '')
|
||||
{
|
||||
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
|
||||
$this->errormsg = 'Fehler beim Speichern der Gruppe:'.$qry;
|
||||
return false;
|
||||
}
|
||||
|
||||
//gesamten gruppennamen ermitteln
|
||||
$qry = "SELECT fas_function_get_fullname_from_gruppe($gruppe_id) as fullname;";
|
||||
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Gruppenname konnte nicht ermittelt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return $row->fullname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Gruppen eines Studienganges/studiensemesters/ausbildungssemesters
|
||||
* @param studiengang_id ID des studienganges
|
||||
* studiensemester_id ID des Studiensemesters (optional)
|
||||
* ausbildungssemester_id ID des Ausbildungssemesters (optional)
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load_gruppen($studiengang_id, $studiensemester_id=null, $ausbildungssemester_id=null)
|
||||
{
|
||||
//Pruefen ob gueltige Werte uebergeben wurden
|
||||
if(!is_numeric($studiengang_id) || $studiengang_id == '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_id!=null && (!is_numeric($studiensemester_id) || $studiensemester_id == ''))
|
||||
{
|
||||
$this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($ausbildungssemester_id!=null && (!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == ''))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Befehl zusammenbauen
|
||||
$qry = "SELECT * FROM gruppe WHERE studiengang_fk='$studiengang_id' ";
|
||||
|
||||
if($ausbildungssemester_id!=null)
|
||||
$qry .= "AND ausbildungssemester_fk='$ausbildungssemester_id' ";
|
||||
|
||||
if($studiensemester_id != null)
|
||||
$qry .= "AND studiensemester_fk='$studiensemester_id' ";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
//Daten laden
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn);
|
||||
|
||||
$grp_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$grp_obj->gruppe_id = $row->gruppe_pk;
|
||||
$grp_obj->name = $row->name;
|
||||
$grp_obj->nummerintern = $row->nummerintern;
|
||||
$grp_obj->obergruppe_id = $row->obergruppe_fk;
|
||||
$grp_obj->ordnung = $row->ordnung;
|
||||
$grp_obj->studiengang_id = $row->studiengang_fk;
|
||||
$grp_obj->typ = $row->typ;
|
||||
$grp_obj->updateamum = $row->creationdate;
|
||||
$grp_obj->updatevon = $row->creationuser;
|
||||
|
||||
$grp_obj->fullname = $this->getFullName($row->gruppe_pk);
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die DB
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $gruppe_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($gruppe_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -32,7 +32,7 @@ class mitarbeiter extends benutzer
|
||||
var $telefonklappe; //varchar(25)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Mitarbeiter der geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
|
||||
@@ -54,7 +54,7 @@ class person
|
||||
var $ext_id; // bigint
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Person
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $person_id Person die geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
@@ -173,6 +173,12 @@ class person
|
||||
$this->errormsg = 'Nachname darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->nachname=='' || is_null($this->nachname))
|
||||
{
|
||||
$this->errormsg = 'Nachname muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->vorname)>32)
|
||||
{
|
||||
$this->errormsg = 'Vorname darf nicht laenger als 32 Zeichen sein';
|
||||
@@ -184,6 +190,11 @@ class person
|
||||
return false;
|
||||
}
|
||||
//ToDo Gebdatum pruefen -> laut bis muss er aelter als 10 Jahre sein
|
||||
if(strlen($this->gebdatum)==0 || is_null($this->gebdatum))
|
||||
{
|
||||
$this->errormsg = 'Geburtsdatum muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gebort)>128)
|
||||
{
|
||||
$this->errormsg = 'Geburtsort darf nicht laenger als 128 Zeichen sein';
|
||||
@@ -268,15 +279,9 @@ class person
|
||||
function save()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
if(!person::validate())
|
||||
return false;
|
||||
/* Verschachtelte transaktionen funktionieren nicht!
|
||||
if(!pg_query($this->conn,'BEGIN;'))
|
||||
{
|
||||
$this->errormsg = 'Transaktion konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_person (sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
@@ -346,18 +351,10 @@ class person
|
||||
{
|
||||
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$this->person_id=$row->id;
|
||||
/*if(!pg_query($this->conn,'COMMIT;'))
|
||||
{
|
||||
$this->errormsg = 'Personentransaktion konnte nicht commitet werden';
|
||||
return false;
|
||||
}*/
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
|
||||
//pg_query($this->conn,'ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -367,7 +364,7 @@ class person
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Person-Datensatzes:'.$qry;
|
||||
$this->errormsg = 'Fehler beim Speichern des Person-Datensatzes:'.$this->nachname.' '.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
<?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 personlvstudiensemester
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $personlvstudiensemester = array(); // personlvstudiensemester Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
var $lehrveranstaltung_nr; // integer
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Zuteilung
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid
|
||||
// * $studiensemester_kurzbz
|
||||
// * $lehrveranstaltung_nr
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function personlvstudiensemester($conn, $uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_nr=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;
|
||||
}
|
||||
else
|
||||
$this->new = true;
|
||||
|
||||
if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_nr!=null)
|
||||
$this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_nr);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Zuteilung
|
||||
// * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr
|
||||
// *********************************************************
|
||||
function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_nr)
|
||||
{
|
||||
$this->errormsg = 'Not implemented';
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->studiensemester_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Studiensemester_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_nr))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltungsnummer 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 Zuteilung 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($new=null)
|
||||
{
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_personlvstudiensemester (uid, studiensemester_kurzbz, lehrveranstaltung_nr)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->lehrveranstaltung_nr).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
// ToDo
|
||||
$qry = 'Select 1;';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$this->new = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der PersonLVStudiensemester:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,216 @@
|
||||
<?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 reservierung
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $reservierungen = array(); // reservierung Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $reservierung_id; // int
|
||||
var $ort_kurzbz; // varchar(8)
|
||||
var $studiengang_kz; // int
|
||||
var $uid; // varchar(16)
|
||||
var $stunde; // smalint
|
||||
var $datum; // date
|
||||
var $titel; // varchar(10)
|
||||
var $beschreibung; // varchar(32)
|
||||
var $semester; // smalint
|
||||
var $verband; // char(1)
|
||||
var $gruppe; // char(1)
|
||||
var $gruppe_kurzbz; // varchar(10)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $reservierung_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function reservierung($conn, $reservierung_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;
|
||||
}
|
||||
else
|
||||
$this->new = true;
|
||||
|
||||
if($reservierung_id!=null)
|
||||
$this->load($reservierung_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Reservierung
|
||||
// * @param reservierung_id
|
||||
// *********************************************************
|
||||
function load($reservierung_id)
|
||||
{
|
||||
$this->errormsg = 'Not implemented';
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->ort_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = 'Ort_Kurzbz darf nicht laenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->stunde))
|
||||
{
|
||||
$this->errormsg = 'Stunde ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titel)>10)
|
||||
{
|
||||
$this->errormsg = 'Titel darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->beschreibung)>32)
|
||||
{
|
||||
$this->beschreibung = 'Beschreibung darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->verband)>1)
|
||||
{
|
||||
$this->errormsg = 'Verband darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe)>1)
|
||||
{
|
||||
$this->errormsg = 'Gruppe darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe_kurzbz)>10)
|
||||
{
|
||||
$this->gruppe_kurzbz = 'Gruppe_kurzbz darf nicht laenger als 10 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 Reservierung 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($new=null)
|
||||
{
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_reservierung (reservierung_id, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel,
|
||||
beschreibung, semester, verband, gruppe, gruppe_kurzbz)
|
||||
VALUES('.$this->addslashes($this->reservierung_id).','.
|
||||
$this->addslashes($this->ort_kurzbz).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->stunde).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
$this->addslashes($this->titel).','.
|
||||
$this->addslashes($this->beschreibung).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_reservierung SET'.
|
||||
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' uid='.$this->addslashes($this->uid).','.
|
||||
' stunde='.$this->addslashes($this->stunde).','.
|
||||
' datum='.$this->addslashes($this->datum).','.
|
||||
' titel='.$this->addslashes($this->titel).','.
|
||||
' beschreibung='.$this->addslashes($this->beschreibung).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' verband='.$this->addslashes($this->verband).','.
|
||||
' gruppe='.$this->addslashes($this->gruppe).','.
|
||||
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).
|
||||
" WHERE reservierung_id='".addslashes($this->reservierung_id)."'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$this->new = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Reservierung:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -32,7 +32,7 @@ class student extends benutzer
|
||||
var $gruppe;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Studenten
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $student_id Student der geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
|
||||
@@ -33,7 +33,7 @@ class stunde
|
||||
var $ende; // time without timezone
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Stunde
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $stunde Stunde die geladen werden soll
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
@@ -60,7 +60,7 @@ class stunde
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Stunde
|
||||
// * @param
|
||||
// * @param $stunde
|
||||
// *********************************************************
|
||||
function load($stunde)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
<?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 variable
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $variables = array(); // variable Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $name; // varchar(64)
|
||||
var $wert; // varchar(64)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Variable
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid
|
||||
// * $name
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function variable($conn, $uid=null, $name=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 && $name!=null)
|
||||
$this->load($uid, $name);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die Variablen
|
||||
// * @param
|
||||
// *********************************************************
|
||||
function load($uid, $name)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return true;
|
||||
}
|
||||
if(strlen($this->name)>64)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->wert)>64)
|
||||
{
|
||||
$this->errormsg = 'Wert darf nicht laenger als 64 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 Variable 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($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_variable (uid, name, wert)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->name).','.
|
||||
$this->addslashes($this->wert).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_variable SET'.
|
||||
' wert='.$this->addslashes($this->wert).
|
||||
" WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Variable:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user