Betriebsmittel

- doppelte Einträge bei Suchergebnissen entfernt
- Filter für Zutrittskarte und Schlüssel hinzugefügt
- Betriebsmittel die über Inventar verwaltet werden herausgefiltert
- Verwendung des JQuery Tablesort
- alte fehlerhafte Betriebsmittelverwaltung entfernt
This commit is contained in:
Andreas Österreicher
2012-08-01 14:17:18 +00:00
parent 75ed387c52
commit 69e08a2fc7
7 changed files with 141 additions and 556 deletions
+1 -1
View File
@@ -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
-196
View File
@@ -1,196 +0,0 @@
<?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 >
* 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 ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
//Berechtigung pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support'))
die('Sie haben keine Berechtigung fuer diese Seite <a href="javascript:history.back()">Zur&uuml;ck</a>');
echo '<html>
<head>
<title>Betriebsmittel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script language="Javascript">
function confdel()
{
return confirm("Wollen Sie diesen Eintrag wirklich loeschen");
}
</script>
</head>
<body class="Background_main">
<h2>Betriebsmittel</h2>
';
$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 '<b>Datensatz wurde geloescht</b>';
else
echo '<b>Fehler beim Loeschen des Datensatzes: '.$bmp->errormsg.'</b>';
}
else
{
die('Fehlerhafte Parameteruebergabe');
}
}
echo '<table width="100%"><tr><td>
<form method="POST" enctype="multipart/form-data" accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'">
Nummer/Uid: <input type="text" name="search" value="'.$search.'">&nbsp;
<input type="submit" value="Suchen" name="suche">
</form></td><td align="right"><a href="betriebsmitteldetail.php" target="detail">NEU</a></td></tr></table><br><br>';
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 "<b>Datenbank Result</b><br><table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>";
echo "<th class='table-sortable:default'>Nummer</th>
<th class='table-sortable:default'>Typ</th>
<th class='table-sortable:default'>Kaution</th>
<th class='table-sortable:default'>Ausgegeben</th>
<th class='table-sortable:default'>Retour</th>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>UID</th>
<th class='table-sortable:default'>UpdateAmUm</th>
<th class='table-sortable:default'>UpdateVon</th>
<th class='table-sortable:default' colspan='2'>Aktion</th>";
echo '</tr></thead>';
echo '<tbody>';
while($row = $db->db_fetch_object($result))
{
echo "<tr>";
echo "<td>$row->nummer</td>";
echo "<td>$row->betriebsmitteltyp</td>";
echo "<td>$row->kaution</td>";
echo "<td>$row->ausgegebenam</td>";
echo "<td>$row->retouram</td>";
echo "<td>$row->vorname</td>";
echo "<td>$row->nachname</td>";
echo "<td>";
//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 "<a href='personen_details.php?uid=$row_uid->uid' target='_top'>$row_uid->uid</a><br>";
}
}
echo "</td>";
echo "<td>$row->updateamum</td>";
echo "<td>$row->updatevon</td>";
echo "<td><a href='betriebsmitteldetail.php?betriebsmittel_id=$row->betriebsmittel_id&person_id=$row->person_id' target='detail'>edit</a></td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?search=$search&type=delete&betriebsmittel_id=$row->betriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete</a></td>";
echo "</tr>";
}
echo '</tbody>';
echo '</table>';
}
//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("<h4>Unable to connect to LDAP server! ".LDAP_SERVER."</h4>");
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 "<br><b>LDAP Result</b><br><table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>";
echo "<th class='table-sortable:default'>Kartennummer</th>
<th class='table-sortable:default'>UID</th>
<th class='table-sortable:default'>Name</th>";
echo '</tr></thead>';
echo '<tbody>';
//Kartennummer
echo '<tr><td>'.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').'</td>';
//UID
echo '<td>'.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').'</td>';
//Gesamter Name
echo '<td>'.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').'</td></tr>';
echo '</tbody></table>';
}
?>
</body>
</html>
-270
View File
@@ -1,270 +0,0 @@
<?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 >
* 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 ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
$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 <a href="javascript:history.back()">Zur&uuml;ck</a>');
$datum_obj = new datum();
echo '<html>
<head>
<title>Betriebsmittel Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="Background_main">
<h2>Details</h2>
';
$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 '<form accept-charset="UTF-8" method="POST" action="'.$_SERVER['PHP_SELF'].'?betriebsmittel_id='.$betriebsmittel_id.'&person_id='.$person_id.'">';
echo '<input type="hidden" name="new" value="'.$new.'">';
echo '<table><tr><td valign="top">';
echo '<table>';
//Person
echo '<tr><td>Person</td><td><SELECT name="person_id">';
$qry = "SELECT distinct tbl_person.* FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) ORDER BY nachname, vorname";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if($person_id == $row->person_id)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$row->person_id.'" '.$selected.'>'.$row->nachname.' '.$row->vorname.' '.$row->titelpre.' '.$row->titelpost.'</option>';
}
}
echo '</SELECT></td></tr>';
$oBetriebsmitteltyp = new betriebsmitteltyp();
$oBetriebsmitteltyp->result=array();
// Typtable
if (!$oBetriebsmitteltyp->getAll())
$errormsg[]=$oBetriebsmitteltyp->errormsg;
//TYP
echo '<tr><td>Typ</td><td><SELECT name="betriebsmitteltyp">';
#$qry = "SELECT * FROM public.t bl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
#if($result = $db->db_query($qry))
#{
# while($row = $db->db_fetch_object($result))
if (is_array($oBetriebsmitteltyp->result) && count($oBetriebsmitteltyp->result)>0)
{
for ($ind=0;$ind<count($oBetriebsmitteltyp->result);$ind++)
{
$row=$oBetriebsmitteltyp->result[$ind];
if($row->betriebsmitteltyp==$betriebsmitteltyp)
$selected = 'selected';
else
$selected = '';
echo "<option value='$row->betriebsmitteltyp' $selected>$row->betriebsmitteltyp</option>";
}
}
echo '</SELECT></td></tr>';
//</table></td><td valign="top"><table>';
//Nummer
echo '<tr><td>Nummer</td><td><input type="text" name="nummer" value="'.$nummer.'"><input type="hidden" name="nummerold" value="'.$nummer.'"></td></tr>';
//Beschreibung
echo '<tr><td>Beschreibung</td><td><textarea name="beschreibung">'.$beschreibung.'</textarea></td></tr>';
echo '</table>';
echo '</td><td valign="top">';
//Kaution
echo '<table><tr><td>Kaution</td><td><input type="text" name="kaution" value="'.$kaution.'"></td></tr>';
//Anmerkung
echo '<tr><td>Anmerkung</td><td><textarea name="anmerkung">'.$anmerkung.'</textarea></td></tr>';
//echo '</table></td><td valign="top"><table>';
//Ausgegeben am
echo '<tr><td>Ausgegeben am</td><td><input type="text" name="ausgegebenam" value="'.$ausgegebenam.'"></td></tr>';
//Retour am
echo '<tr><td>Retour am</td><td><input type="text" name="retouram" value="'.$retouram.'"></td></tr>';
echo '</table>';
echo '</td></tr>';
echo '<tr><td></td><td></td><td></td><td align="right"><input type="submit" name="save" value="Speichern"></td></tr>';
echo '</table>';
echo '</form>';
?>
</body>
</html>
+4 -2
View File
@@ -465,12 +465,14 @@ echo "
<td valign='top'><textarea name='anmerkungen'>".$anmerkungen."</textarea></td>
<td></td>
<td><img id='personimage' src='../../content/bild.php?src=person&person_id=$person_id' height='100'></td>
<td>
<td colspan='2'>
<a href='#foo' onclick='window.open(\"../../content/bildupload.php?person_id=$person_id\",\"BildUpload\", \"height=50,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes\"); return false;'>Bild hochladen</a>
<br><br>
<a href='#foo' onclick='RefreshImage(); return false;'>Bild aktualisieren</a>
<br><br>
<a href='".$_SERVER['PHP_SELF']."?person_id=$person_id&uid=$uid&deleteimage=true'>Bild entfernen</a>
<br><br>
<a href=\"../fhausweis/search.php?person_id=".$person_id."\">FH-Ausweis Status</a>
</td>
</tr>
<tr>
@@ -531,7 +533,7 @@ if(isset($uid) && $uid!='')
echo '<br><a href="../../content/pdfExport.php?xsl=AccountInfo&xml=accountinfoblatt.xml.php&uid='.$uid.'" >AccountInfoBlatt erstellen</a>';
echo '<br><a href="betriebsmittel_index.php?search='.$uid.'" >Betriebsmittel (Zutrittskarten) verwalten</a>';
echo '<br><a href="../stammdaten/betriebsmittel_frameset.php?searchstr='.$uid.'" >Betriebsmittel verwalten</a>';
echo "</fieldset></td></tr>";
@@ -1,21 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>VileSci-Betriebsmittel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="60%,*">
<frame src="betriebsmittel_uebersicht.php" id="betriebsmittel_uebersicht" name="betriebsmittel_uebersicht" frameborder="0" />
<frame src="betriebsmittel_details.php" id="betriebsmittel_details" name="betriebsmittel_details" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
<a href="main.php">Use without frames</a>
</body>
</noframes>
</frameset>
</html>
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
<?php
/* Copyright (C) 2012 FH 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
@@ -15,29 +15,30 @@
* 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
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 = '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>Betriebsmittel</title>
<title>VileSci-Betriebsmittel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="400,*">
<frame src="betriebsmittel.php<?php echo ($search!=''?"?search=$search":"");?>" id="uebersicht" name="uebersicht" frameborder="0" />
<frame src="" id="detail" name="detail" frameborder="0" /><!-- betriebsmitteldetail.php -->
<frameset rows="40%,*">';
if(isset($_GET['searchstr']))
$searchstr=$_GET['searchstr'];
else
$searchstr='';
echo ' <frame src="betriebsmittel_uebersicht.php?searchstr='.$db->convert_html_chars($searchstr).'" id="betriebsmittel_uebersicht" name="betriebsmittel_uebersicht" frameborder="0" />';
echo '
<frame src="betriebsmittel_details.php" id="betriebsmittel_details" name="betriebsmittel_details" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
@@ -46,4 +47,5 @@ else
</noframes>
</frameset>
</html>
</html>';
?>
+116 -48
View File
@@ -44,6 +44,10 @@ if(isset($_GET['searchstr']))
$searchstr = $_GET['searchstr'];
else
$searchstr = '';
if(isset($_GET['typ']))
$typ=$_GET['typ'];
else
$typ='Zutrittskarte';
$htmlstr.='
<table width="100%">
@@ -51,7 +55,11 @@ $htmlstr.='
<td>
<form accept-charset="UTF-8" name="search" method="GET">
Bitte Suchbegriff eingeben:
<input type="text" name="searchstr" size="30" value="'.$searchstr.'">
<input type="text" name="searchstr" size="30" value="'.$db->convert_html_chars($searchstr).'">
<SELECT name="typ">
<option value="Zutrittskarte" '.($typ=='Zutrittskarte'?'selected':'').'>Zutrittskarte</option>
<option value="Schluessel" '.($typ=='Schluessel'?'selected':'').'>Schluessel</option>
</SELECT>
<input type="submit" value="Suchen">
</form>
</td>
@@ -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 .= "<table id='t1' class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'> <thead><tr class='liste'>\n";
$htmlstr .= " <th class='table-sortable:default'>Typ</th><th class='table-sortable:default'>Nummer</th>
<th class='table-sortable:default'>Person (UID)</th>
<th class='table-sortable:default'>Ausgabe</th><th class='table-sortable:alphanumeric'>Retour</th>";
$htmlstr .= " </tr></thead><tbody>\n";
$i = 0;
while($row=$db->db_fetch_object($erg))
if(!$erg=$db->db_query($sql_query))
{
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->betriebsmitteltyp."</td>\n";
$htmlstr .= ' <td>
<a href="betriebsmittel_details.php?betriebsmittel_id='.$row->betriebsmittel_id.'&betriebsmittelperson_id='.$row->betriebsmittelperson_id.'"
target="betriebsmittel_details">'.$row->nummer."</a></td>\n";
$htmlstr .= " <td>$row->nachname $row->vorname &nbsp; ( $row->uid )</td>\n";
$htmlstr .= " <td>".$row->ausgegebenam."</td>\n";
$htmlstr .= " <td>$row->retouram</td>\n";
$htmlstr .= " </tr>\n";
$i++;
$htmlstr='Fehler beim Laden der Daten';
}
else
{
$htmlstr .= "<table id='t1' class='tablesorter'><thead><tr>\n";
$htmlstr .= " <th>Typ</th>
<th>Nummer</th>
<th>Nummer2</th>
<th>Person (UID)</th>
<th>Ausgabe</th>
<th>Retour</th>";
$htmlstr .= " </tr></thead><tbody>\n";
$i = 0;
while($row=$db->db_fetch_object($erg))
{
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->betriebsmitteltyp."</td>\n";
$htmlstr .= ' <td>
<a href="betriebsmittel_details.php?betriebsmittel_id='.$db->convert_html_chars($row->betriebsmittel_id).'&betriebsmittelperson_id='.$db->convert_html_chars($row->betriebsmittelperson_id).'"
target="betriebsmittel_details">'.$db->convert_html_chars($row->nummer)."</a></td>\n";
$htmlstr .= ' <td>
<a href="betriebsmittel_details.php?betriebsmittel_id='.$db->convert_html_chars($row->betriebsmittel_id).'&betriebsmittelperson_id='.$db->convert_html_chars($row->betriebsmittelperson_id).'"
target="betriebsmittel_details">'.$db->convert_html_chars($row->nummer2)."</a></td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($row->nachname.' '.$row->vorname)." &nbsp; ( ".$db->convert_html_chars($row->bmpuid)." )</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($row->ausgegebenam)."</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($row->retouram)."</td>\n";
$htmlstr .= " </tr>\n";
$i++;
}
$htmlstr .= "</tbody></table>\n";
}
$htmlstr .= "</tbody></table>\n";
}
}
}
?>
<html>
<head>
<title>Betriebsmittel-Uebersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
document.getElementById('bmsuche').focus();
//-->
</script>
<title>Betriebsmittel - Uebersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript">
<!--
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[3,0]],
widgets: ["zebra"]
});
});
document.getElementById('bmsuche').focus();
//-->
</script>
</head>
<body class="background_main">