diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php
index 5f4a501e8..2ae48a1b0 100644
--- a/include/tw/vilesci_menu_main.inc.php
+++ b/include/tw/vilesci_menu_main.inc.php
@@ -145,7 +145,7 @@ $menu=array
(
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma'), 'image'=>'folder.png',
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
- 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
+ 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
'User'=>array
diff --git a/vilesci/personen/betriebsmittel.php b/vilesci/personen/betriebsmittel.php
deleted file mode 100644
index 12eede8c8..000000000
--- a/vilesci/personen/betriebsmittel.php
+++ /dev/null
@@ -1,196 +0,0 @@
-
- * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
- * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
- * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
- */
-
- require_once('../../config/vilesci.config.inc.php');
- require_once('../../include/basis_db.class.php');
- if (!$db = new basis_db())
- die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
- 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 (!$user=get_uid())
- die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück ');
-
-
-//Berechtigung pruefen
-$rechte = new benutzerberechtigung();
-$rechte->getBerechtigungen($user);
-
-if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support'))
- die('Sie haben keine Berechtigung fuer diese Seite Zurück ');
-
-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();
- 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 ' ';
-
-
-if($search!='')
-{
- //Suche in Datenbank
-/*
- $qry = "SELECT distinct t bl_betriebsmittelperson.*, t bl_betriebsmittel.*, tbl_person.*, t bl_betriebsmittelperson.updateamum as updateamum,
- t bl_betriebsmittelperson.updatevon as updatevon
- FROM public.t bl_betriebsmittelperson
- JOIN public.".t bl_betriebsmittel USING(betriebsmittel_id)
- JOIN public.t bl_person USING(person_id)
- LEFT JOIN public.t bl_benutzer USING(person_id)
- WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'";
-*/
-
- $qry = "SELECT distinct public.vw_betriebsmittelperson.*, public.vw_betriebsmittelperson.updateamum as updateamum,
- public.vw_betriebsmittelperson.updatevon as updatevon
- FROM public.vw_betriebsmittelperson
- WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'";
-
-
- if($result = $db->db_query($qry))
- {
- echo "Datenbank Result
-
- ";
- echo "Nummer
- Typ
- Kaution
- Ausgegeben
- Retour
- Vorname
- Nachname
- UID
- UpdateAmUm
- UpdateVon
- Aktion ";
- echo ' ';
- echo '';
-
- while($row = $db->db_fetch_object($result))
- {
- echo "";
- echo "$row->nummer ";
- echo "$row->betriebsmitteltyp ";
- echo "$row->kaution ";
- echo "$row->ausgegebenam ";
- echo "$row->retouram ";
- echo "$row->vorname ";
- echo "$row->nachname ";
- echo "";
- //Alle UIDs zu dieser Person suchen
- $qry_uid = "SELECT uid FROM public.tbl_benutzer WHERE person_id='$row->person_id'";
- if($result_uid = $db->db_query($qry_uid))
- {
- while($row_uid = $db->db_fetch_object($result_uid))
- {
- echo "$row_uid->uid ";
- }
- }
- echo " ";
- echo "$row->updateamum ";
- echo "$row->updatevon ";
- echo "edit ";
- echo "betriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete ";
- echo " ";
- }
-
- echo ' ';
- echo '
';
- }
-
- //Suche im LDAP
-
- // LDAP Verbindung herstellen
- if (!$ds=ldap_connect(LDAP_SERVER))
- die('Keine Verbindung zum LDAP '.LDAP_SERVER);
-
- if (!$r=@ldap_bind($ds)) // this is an "anonymous" bind, typically
- die("Unable to connect to LDAP server! ".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 "Kartennummer
- UID
- Name ";
- echo ' ';
- echo '';
- //Kartennummer
- echo ''.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').' ';
- //UID
- echo ''.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').' ';
- //Gesamter Name
- echo ''.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').' ';
- echo '
';
-}
-?>
-
-
\ No newline at end of file
diff --git a/vilesci/personen/betriebsmitteldetail.php b/vilesci/personen/betriebsmitteldetail.php
deleted file mode 100644
index 02f000f23..000000000
--- a/vilesci/personen/betriebsmitteldetail.php
+++ /dev/null
@@ -1,270 +0,0 @@
-
- * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
- * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
- * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
- */
- require_once('../../config/vilesci.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/betriebsmitteltyp.class.php');
-
- require_once('../../include/datum.class.php');
- if (!$db = new basis_db())
- die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
- if (!$user=get_uid())
- die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück ');
-
-
- $rechte = new benutzerberechtigung();
- $rechte->getBerechtigungen($user);
- if(!$rechte->isBerechtigt('admin', 0, 'suid') && !$rechte->isBerechtigt('support', null, 'suid'))
- die('Sie haben keine Berechtigung fuer diese Seite Zurück ');
-
-
-$datum_obj = new datum();
-
-echo '
-
- Betriebsmittel Details
-
-
-
-
- Details
- ';
-
-
-
-$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();
-
- //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();
- 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(mb_eregi_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();
-
-//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('Y-m-d');
- $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 '';
-?>
-
-
\ No newline at end of file
diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php
index 712363e35..eb2c66a81 100644
--- a/vilesci/personen/personen_details.php
+++ b/vilesci/personen/personen_details.php
@@ -465,12 +465,14 @@ echo "
".$anmerkungen."
-
+
Bild hochladen
Bild aktualisieren
Bild entfernen
+
+ FH-Ausweis Status
@@ -531,7 +533,7 @@ if(isset($uid) && $uid!='')
echo 'AccountInfoBlatt erstellen ';
- echo 'Betriebsmittel (Zutrittskarten) verwalten ';
+ echo 'Betriebsmittel verwalten ';
echo " ";
diff --git a/vilesci/stammdaten/betriebsmittel_frameset.html b/vilesci/stammdaten/betriebsmittel_frameset.html
deleted file mode 100644
index ab189ba7a..000000000
--- a/vilesci/stammdaten/betriebsmittel_frameset.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- VileSci-Betriebsmittel
-
-
-
-
-
-
-
-
-
- This application works only with a frames-enabled browser.
- Use without frames
-
-
-
-
-
\ No newline at end of file
diff --git a/vilesci/personen/betriebsmittel_index.php b/vilesci/stammdaten/betriebsmittel_frameset.php
similarity index 58%
rename from vilesci/personen/betriebsmittel_index.php
rename to vilesci/stammdaten/betriebsmittel_frameset.php
index cbaa4b7b2..9115a242f 100644
--- a/vilesci/personen/betriebsmittel_index.php
+++ b/vilesci/stammdaten/betriebsmittel_frameset.php
@@ -1,5 +1,5 @@
-,
- * Andreas Oesterreicher ,
- * Rudolf Hangl and
- * Gerald Raab .
+ * Authors: Andreas Oesterreicher
*/
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/basis_db.class.php');
+$db = new basis_db();
-if(isset($_GET['search']))
- $search = $_GET['search'];
-else
- $search = '';
-?>
-
+echo '
-
- Betriebsmittel
+ VileSci-Betriebsmittel
-
- " id="uebersicht" name="uebersicht" frameborder="0" />
-
+';
+
+if(isset($_GET['searchstr']))
+ $searchstr=$_GET['searchstr'];
+else
+ $searchstr='';
+
+echo ' ';
+echo '
+
This application works only with a frames-enabled browser.
@@ -46,4 +47,5 @@ else
-
\ No newline at end of file
+';
+?>
\ No newline at end of file
diff --git a/vilesci/stammdaten/betriebsmittel_uebersicht.php b/vilesci/stammdaten/betriebsmittel_uebersicht.php
index 73cec2cc1..7de85a1b6 100644
--- a/vilesci/stammdaten/betriebsmittel_uebersicht.php
+++ b/vilesci/stammdaten/betriebsmittel_uebersicht.php
@@ -44,6 +44,10 @@ if(isset($_GET['searchstr']))
$searchstr = $_GET['searchstr'];
else
$searchstr = '';
+if(isset($_GET['typ']))
+ $typ=$_GET['typ'];
+else
+ $typ='Zutrittskarte';
$htmlstr.='
@@ -51,7 +55,11 @@ $htmlstr.='
Bitte Suchbegriff eingeben:
-
+
+
+ Zutrittskarte
+ Schluessel
+
@@ -66,70 +74,130 @@ $htmlstr.='
if(isset($_GET['searchstr']) || isset($_POST['bmsuche']))
{
$bm_obj = new betriebsmittel();
+ $sql_query='';
if (isset($_POST['bmsuche']))
{
$bmsuche=strtoupper($_POST['bmsuche']);
$kartennummer = $bm_obj->transform_kartennummer($bmsuche);
- $sql_query="SELECT * FROM public.vw_betriebsmittelperson
- WHERE upper(nummer) LIKE '%".addslashes($kartennummer)."%' LIMIT 30";
+ $sql_query="SELECT
+ distinct on(tbl_betriebsmittelperson.betriebsmittelperson_id)
+ tbl_betriebsmittel.*,
+ tbl_betriebsmittelperson.*,
+ tbl_person.vorname, tbl_person.nachname,
+ tbl_benutzer.uid, tbl_betriebsmittelperson.uid as bmpuid
+ FROM
+ wawi.tbl_betriebsmittel
+ JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
+ JOIN public.tbl_person USING(person_id)
+ LEFT JOIN public.tbl_benutzer USING(person_id)
+ WHERE
+ (
+ upper(nummer) LIKE '%".$db->db_escape($kartennummer)."%'
+ OR
+ upper(nummer2) LIKE '%".$db->db_escape($kartennummer)."%'
+ OR
+ upper(nummer) LIKE '%".$db->db_escape($bmsuche)."%'
+ OR
+ upper(nummer2) LIKE '%".$db->db_escape($bmsuche)."%'
+ )
+ AND betriebsmitteltyp=".$db->db_add_param($typ)." LIMIT 30";
//echo $sql_query;
}
- else
+ elseif(!empty($searchstr))
{
- $sql_query = 'SELECT * FROM public.vw_betriebsmittelperson ';
- if(!empty($searchstr))
- {
+
+ $sql_query = '
+ SELECT
+ distinct on(tbl_betriebsmittelperson.betriebsmittelperson_id)
+ tbl_betriebsmittel.*,
+ tbl_betriebsmittelperson.*,
+ tbl_person.vorname, tbl_person.nachname,
+ tbl_benutzer.uid, tbl_betriebsmittelperson.uid as bmpuid
+ FROM
+ wawi.tbl_betriebsmittel
+ JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
+ JOIN public.tbl_person USING(person_id)
+ LEFT JOIN public.tbl_benutzer USING(person_id)
+ ';
+
+ //Wenn searchstring nur Hexwerte enthaelt, dann in kartennummer umwandeln
+ if(preg_match("/^[A-F0-9]+$/", $searchstr))
$kartennummer = $bm_obj->transform_kartennummer($searchstr);
- $sql_query.=" where uid ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($kartennummer)."' OR nachname ~* '".addslashes($searchstr)."' OR vorname ~* '".addslashes($searchstr)."' ";
- }
- $sql_query.=" ORDER BY nummer ";
- if(empty($searchstr))
- $sql_query.=" LIMIT 100 ";
+ else
+ $kartennummer='';
+ $sql_query.=" WHERE
+ (tbl_benutzer.uid ~* ".$db->db_add_param($searchstr)."
+ OR nummer = ".$db->db_add_param($searchstr)."
+ OR nummer = ".$db->db_add_param($kartennummer)."
+ OR nachname ~* ".$db->db_add_param($searchstr)."
+ OR vorname ~* ".$db->db_add_param($searchstr).") ";
+
+ $sql_query.=" AND betriebsmitteltyp=".$db->db_add_param($typ);
}
-
- if(!$erg=$db->db_query($sql_query))
+ //echo $sql_query;
+ if($sql_query!='')
{
- $htmlstr='Fehler beim Laden der Berechtigungen';
- }
- else
- {
- $htmlstr .= " \n";
- $htmlstr .= " Typ Nummer
- Person (UID)
- Ausgabe Retour ";
- $htmlstr .= " \n";
- $i = 0;
-
- while($row=$db->db_fetch_object($erg))
+ if(!$erg=$db->db_query($sql_query))
{
- $htmlstr .= " \n";
- $htmlstr .= " ".$row->betriebsmitteltyp." \n";
- $htmlstr .= '
- '.$row->nummer." \n";
- $htmlstr .= " $row->nachname $row->vorname ( $row->uid ) \n";
- $htmlstr .= " ".$row->ausgegebenam." \n";
- $htmlstr .= " $row->retouram \n";
- $htmlstr .= " \n";
- $i++;
+ $htmlstr='Fehler beim Laden der Daten';
+ }
+ else
+ {
+ $htmlstr .= "\n";
+ $htmlstr .= " Typ
+ Nummer
+ Nummer2
+ Person (UID)
+ Ausgabe
+ Retour ";
+ $htmlstr .= " \n";
+ $i = 0;
+
+ while($row=$db->db_fetch_object($erg))
+ {
+ $htmlstr .= " \n";
+ $htmlstr .= " ".$row->betriebsmitteltyp." \n";
+ $htmlstr .= '
+ '.$db->convert_html_chars($row->nummer)." \n";
+ $htmlstr .= '
+ '.$db->convert_html_chars($row->nummer2)." \n";
+ $htmlstr .= " ".$db->convert_html_chars($row->nachname.' '.$row->vorname)." ( ".$db->convert_html_chars($row->bmpuid)." ) \n";
+ $htmlstr .= " ".$db->convert_html_chars($row->ausgegebenam)." \n";
+ $htmlstr .= " ".$db->convert_html_chars($row->retouram)." \n";
+ $htmlstr .= " \n";
+ $i++;
+ }
+ $htmlstr .= "
\n";
}
- $htmlstr .= "
\n";
}
-}
+}
?>
-Betriebsmittel-Uebersicht
-
-
-
-
-
+ Betriebsmittel - Uebersicht
+
+
+
+
+
+
+