From 10d079532595716334d7c3a1544468c7c3960698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 8 Nov 2007 16:42:47 +0000 Subject: [PATCH] --- cis/private/menu.php | 2 +- cis/private/tools/zeitaufzeichnung.php | 11 +- content/student/studentDBDML.php | 2 +- include/benutzer.class.php | 4 +- include/betriebsmittelperson.class.php | 10 +- vilesci/personen/betriebsmittel.php | 180 +++++++++++++++ vilesci/personen/betriebsmittel_index.php | 49 +++++ vilesci/personen/betriebsmitteldetail.php | 253 ++++++++++++++++++++++ vilesci/personen/personen_details.php | 1 + vilesci/personen/search_go.php | 72 ------ 10 files changed, 501 insertions(+), 83 deletions(-) create mode 100644 vilesci/personen/betriebsmittel.php create mode 100644 vilesci/personen/betriebsmittel_index.php create mode 100644 vilesci/personen/betriebsmitteldetail.php delete mode 100644 vilesci/personen/search_go.php diff --git a/cis/private/menu.php b/cis/private/menu.php index cca876bac..b29e44045 100644 --- a/cis/private/menu.php +++ b/cis/private/menu.php @@ -30,7 +30,7 @@ require_once('../../include/lehrveranstaltung.class.php'); //Connection Herstellen if(!$db_conn = pg_pconnect(CONN_STRING)) - die('Fehler beim oeffnen der Datenbankverbindung'); + die('Fehler beim Oeffnen der Datenbankverbindung'); $user=get_uid(); diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index a9dc1e00b..334ce090d 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -143,6 +143,7 @@ if(isset($_POST['save']) || isset($_POST['edit'])) else { echo 'Daten wurden gespeichert
'; + $zeitaufzeichnung_id = $zeit->zeitaufzeichnung_id; } } @@ -203,7 +204,7 @@ if($result_projekt = pg_query($conn, $qry_projekt)) NEU"; //Formular - echo '

'; + echo '

'; echo ''; //Projekt @@ -301,12 +302,12 @@ if($result_projekt = pg_query($conn, $qry_projekt)) echo " "; echo ""; echo ""; - //echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo " \n"; - $qry = "SELECT *, ende-start as diff FROM campus.tbl_zeitaufzeichnung WHERE uid='$user' AND ende>(now() - INTERVAL '40 days') ORDER BY ende DESC"; + $qry = "SELECT *, to_char ((ende-start),'HH24:MI:SS') as diff FROM campus.tbl_zeitaufzeichnung WHERE uid='$user' AND ende>(now() - INTERVAL '40 days') ORDER BY ende DESC"; if($result = pg_query($conn, $qry)) { $i = 0; @@ -318,7 +319,7 @@ if($result_projekt = pg_query($conn, $qry_projekt)) echo " \n"; echo " \n"; echo " \n"; - //echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 1ef40e90c..e49306d2a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -1835,7 +1835,7 @@ if(!$error) else { $error = true; - $errormsg.="\nFehler beim ermitteln der UID"; + $errormsg.="\nFehler beim Ermitteln der UID"; } //Berechtigung pruefen diff --git a/include/benutzer.class.php b/include/benutzer.class.php index 2b34d586c..2a3cdbcec 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -84,7 +84,7 @@ class benutzer extends person } else { - $this->errormsg = "Fehler beim laden: $qry"; + $this->errormsg = "Fehler beim Laden der Benutzerdaten"; return false; } } @@ -135,7 +135,7 @@ class benutzer extends person } else { - $this->errormsg = 'Fehler beim pruefen des Alias'; + $this->errormsg = 'Fehler beim Pruefen des Alias'; return false; } } diff --git a/include/betriebsmittelperson.class.php b/include/betriebsmittelperson.class.php index 14a68ea5b..c3defd597 100644 --- a/include/betriebsmittelperson.class.php +++ b/include/betriebsmittelperson.class.php @@ -45,6 +45,10 @@ class betriebsmittelperson var $updateamum; // @var timestamp var $updatevon; // @var bigint + var $nummer; + var $betriebsmitteltyp; + var $beschreibung; + // ************************************ // * Konstruktor // * @param $conn Connection @@ -140,13 +144,15 @@ class betriebsmittelperson return false; } - if($this->ausgegebenam!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->ausgegebenam)) + if($this->ausgegebenam!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->ausgegebenam) + && !ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$this->ausgegebenam)) { $this->errormsg = 'Ausgegeben am Datum ist ungueltig'; return false; } - if($this->retouram!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->retouram)) + if($this->retouram!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->retouram) + && !ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$this->retouram)) { $this->errormsg = 'Ausgegeben am Datum ist ungueltig'; return false; diff --git a/vilesci/personen/betriebsmittel.php b/vilesci/personen/betriebsmittel.php new file mode 100644 index 000000000..721db1135 --- /dev/null +++ b/vilesci/personen/betriebsmittel.php @@ -0,0 +1,180 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/betriebsmittelperson.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +//Berechtigung pruefen +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +echo ' + + Betriebsmittel + + + + + + + +

Betriebsmittel

+ '; + +$search = (isset($_REQUEST['search'])?$_REQUEST['search']:''); + +//Loeschen eines Datensatzes +if(isset($_GET['type']) && $_GET['type']=='delete') +{ + if(isset($_GET['betriebsmittel_id']) && is_numeric($_GET['betriebsmittel_id']) + && isset($_GET['person_id']) && is_numeric($_GET['person_id'])) + { + $bmp = new betriebsmittelperson($conn); + if($bmp->delete($_GET['betriebsmittel_id'], $_GET['person_id'])) + echo 'Datensatz wurde geloescht'; + else + echo 'Fehler beim Loeschen des Datensatzes: '.$bmp->errormsg.''; + } + else + { + die('Fehlerhafte Parameteruebergabe'); + } +} + +echo '
IDProjektAktivitaetStartEndeDauerBeschreibungStudiengangDauerBeschreibungStgFachbereichAktion
$row->aktivitaet_kurzbz".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->start))."".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->ende))."".$row->diff."".$row->diff."beschreibung)."'>".(strlen($row->beschreibung)>33?substr($row->beschreibung,0,30).'...':$row->beschreibung)."".(isset($stg_arr[$row->studiengang_kz])?$stg_arr[$row->studiengang_kz]:$row->studiengang_kz)."$row->fachbereich_kurzbz
+ + Nummer/Uid:   + + NEU


'; + +if($search!='') +{ + //Suche in Datenbank + $qry = "SELECT distinct tbl_betriebsmittelperson.*, tbl_betriebsmittel.*, tbl_person.*, tbl_betriebsmittelperson.updateamum as updateamum, tbl_betriebsmittelperson.updatevon as updatevon FROM + public.tbl_betriebsmittelperson + JOIN public.tbl_betriebsmittel USING(betriebsmittel_id) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_benutzer USING(person_id) + WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'"; + if($result = pg_query($conn, $qry)) + { + echo "Datenbank Result
+ + "; + echo " + + + + + + + + + + "; + echo ''; + echo ''; + + while($row = pg_fetch_object($result)) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + + echo ''; + echo '
KartennummerTypKautionAusgegebenRetourVornameNachnameUIDUpdateAmUmUpdateVonAktion
$row->nummer$row->betriebsmitteltyp$row->kaution$row->ausgegebenam$row->retouram$row->vorname$row->nachname"; + //Alle UIDs zu dieser Person suchen + $qry_uid = "SELECT uid FROM public.tbl_benutzer WHERE person_id='$row->person_id'"; + if($result_uid = pg_query($conn, $qry_uid)) + { + while($row_uid = pg_fetch_object($result_uid)) + { + echo "$row_uid->uid
"; + } + } + echo "
$row->updateamum$row->updatevoneditbetriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete
'; + } + + //Suche im LDAP + + // LDAP Verbindung herstellen + $ds=ldap_connect(LDAP_SERVER); + + if ($ds) + $r=ldap_bind($ds); // this is an "anonymous" bind, typically + else + echo "

Unable to connect to LDAP server

"; + + if(is_numeric($search)) + $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "departmentNumber=".$search); + else + $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "uid=".$search); + + $info = ldap_get_entries($ds, $sr); + + echo "
LDAP Result
+ + "; + echo " + + "; + echo ''; + echo ''; + //Kartennummer + echo ''; + //UID + echo ''; + //Gesamter Name + echo ''; + echo '
KartennummerUIDName
'.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').''.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').''.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').'
'; +} +?> + + \ No newline at end of file diff --git a/vilesci/personen/betriebsmittel_index.php b/vilesci/personen/betriebsmittel_index.php new file mode 100644 index 000000000..5ade42a62 --- /dev/null +++ b/vilesci/personen/betriebsmittel_index.php @@ -0,0 +1,49 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ + +if(isset($_GET['search'])) + $search = $_GET['search']; +else + $search = ''; +?> + + + + + Betriebsmittel + + + + + + " id="uebersicht" name="uebersicht" frameborder="0" /> + + + <body bgcolor="#FFFFFF"> + This application works only with a frames-enabled browser.<br /> + <a href="main.php">Use without frames</a> + </body> + + + + \ No newline at end of file diff --git a/vilesci/personen/betriebsmitteldetail.php b/vilesci/personen/betriebsmitteldetail.php new file mode 100644 index 000000000..f49a8642e --- /dev/null +++ b/vilesci/personen/betriebsmitteldetail.php @@ -0,0 +1,253 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/betriebsmittelperson.class.php'); +require_once('../../include/betriebsmittel.class.php'); +require_once('../../include/datum.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); + +echo ' + + Betriebsmittel Details + + + + +

Details

+ '; + + +if(!$rechte->isBerechtigt('admin', 0, 'suid') && !$rechte->isBerechtigt('support', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +$betriebsmittel_id = (isset($_GET['betriebsmittel_id'])?$_GET['betriebsmittel_id']:''); +$person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); +$error = false; + +//Speichern der Daten +if(isset($_POST['save'])) +{ + $bm = new betriebsmittel($conn); + + //Nachschauen ob dieses Betriebsmittel schon existiert + if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummerold'])) + { + if(count($bm->result)>0) + { + //Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert + if($bm->load($bm->result[0]->betriebsmittel_id)) + { + $bm->beschreibung = $_POST['beschreibung']; + $bm->nummer = $_POST['nummer']; + $bm->updatevon = $user; + $bm->updateamum = date('Y-m-d H:i:s'); + + if(!$bm->save(false)) + { + $return = false; + $error = true; + echo 'Fehler beim Speichern des Betriebsmittels'; + } + else + { + $betriebsmittel_id = $bm->betriebsmittel_id; + } + } + else + { + $return = false; + $error = true; + echo 'Gefundener Eintrag konnte nicht geladen werden!?!?'; + } + } + else + { + //Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt + $bm->betriebsmitteltyp = $_POST['betriebsmitteltyp']; + $bm->nummer = $_POST['nummer']; + $bm->beschreibung = $_POST['beschreibung']; + $bm->reservieren = false; + $bm->ort_kurzbz = null; + $bm->insertamum = date('Y-m-d H:i:s'); + $bm->insertvon = $user; + + if($bm->save(true)) + { + $betriebsmittel_id = $bm->betriebsmittel_id; + } + else + { + $error = true; + $return = false; + echo 'Fehler beim Anlegen des Betriebsmittels'; + } + } + + //Zuordnung Betriebsmittel-Person anlegen + $bmp = new betriebsmittelperson($conn); + if($_POST['new']=='true') + { + if($bmp->load($betriebsmittel_id, $_POST['person_id'])) + { + $bmp->updateamum = date('Y-m-d H:i:s'); + $bmp->updatevon = $user; + $bmp->new = false; + } + else + { + $error = true; + $return = false; + echo 'Fehler beim Laden der Betriebmittelperson Zuordnung'; + } + } + else + { + $bmp->insertamum = date('Y-m-d H:i:s'); + $bmp->insertvon = $user; + $bmp->new = true; + } + + if(!$error) + { + $bmp->person_id = $_POST['person_id']; + $bmp->betriebsmittel_id=$betriebsmittel_id; + $bmp->anmerkung = $_POST['anmerkung']; + $bmp->kaution = trim(str_replace(',','.',$_POST['kaution'])); + $bmp->ausgegebenam = $_POST['ausgegebenam']; + $bmp->retouram = $_POST['retouram']; + + if($bmp->save()) + { + echo 'Daten wurden erfolgreich gespeichert'; + } + else + { + echo $bmp->errormsg; + } + } + } + else + { + echo 'Fehler:'.$bm->errormsg; + } +} + +$bm = new betriebsmittelperson($conn); + +//Laden der Daten +$new = 'false'; +if($betriebsmittel_id!='' && $person_id!='') +{ + if(!$bm->load($betriebsmittel_id, $person_id)) + die('betriebsmittel konnte nicht geladen werden'); + else + $new ='true'; +} +else +{ + $bm->kaution = '0.0'; + $bm->ausgegebenam = date('d.m.Y'); + $bm->betriebsmitteltyp = 'Zutrittskarte'; +} + +$nummer = $bm->nummer; +$beschreibung = $bm->beschreibung; +$betriebsmitteltyp =$bm->betriebsmitteltyp; +$kaution = $bm->kaution; +$anmerkung = $bm->anmerkung; +$ausgegebenam = ($bm->ausgegebenam!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->ausgegebenam)):''); +$retouram = ($bm->retouram!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->retouram)):''); + + +//Formular +echo '
'; +echo ''; +echo ''; +echo ''; +echo '
'; +echo ''; +//Person +echo ''; +//TYP +echo '
Person
Typ
'; +//Nummer +echo ''; +//Beschreibung +echo ''; +echo '
Nummer
Beschreibung
'; +echo '
'; +//Kaution +echo ''; +//Anmerkung +echo ''; +echo '
Kaution
Anmerkung
'; +//Ausgegeben am +echo ''; +//Retour am +echo ''; +echo '
Ausgegeben am
Retour am
'; +echo '
'; +echo '
'; +?> + + \ No newline at end of file diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php index d4ef9ce40..a81fc22b3 100644 --- a/vilesci/personen/personen_details.php +++ b/vilesci/personen/personen_details.php @@ -422,6 +422,7 @@ if(isset($uid) && $uid!='') echo '
AccountInfoBlatt erstellen'; + echo '
Betriebsmittel (Zutrittskarten) verwalten'; echo ""; diff --git a/vilesci/personen/search_go.php b/vilesci/personen/search_go.php deleted file mode 100644 index a11e2ed09..000000000 --- a/vilesci/personen/search_go.php +++ /dev/null @@ -1,72 +0,0 @@ - - - - -Suchergebnis - - - - - -

Suchergebnisse

-Results:
-
- - - - > - - - - - - -
TitelVornamenNachnameeMail
- -