This commit is contained in:
Andreas Österreicher
2007-11-08 16:42:47 +00:00
parent 42071feac9
commit 10d0795325
10 changed files with 501 additions and 83 deletions
+1 -1
View File
@@ -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();
+6 -5
View File
@@ -143,6 +143,7 @@ if(isset($_POST['save']) || isset($_POST['edit']))
else
{
echo '<b>Daten wurden gespeichert</b><br>';
$zeitaufzeichnung_id = $zeit->zeitaufzeichnung_id;
}
}
@@ -203,7 +204,7 @@ if($result_projekt = pg_query($conn, $qry_projekt))
<td align='right'><a href='".$_SERVER['PHP_SELF']."' class='Item'>NEU</a></td></tr></table>";
//Formular
echo '<br><br><form method="POST">';
echo '<br><br><form action="'.$_SERVER['PHP_SELF'].'?zeitaufzeichnung_id='.$zeitaufzeichnung_id.'" method="POST">';
echo '<table>';
//Projekt
@@ -301,12 +302,12 @@ if($result_projekt = pg_query($conn, $qry_projekt))
echo " <th class='table-sortable:numeric'>ID</th><th class='table-sortable:default'>Projekt</th>";
echo "<th class='table-sortable:default'>Aktivitaet</th><th class='table-sortable:default'>Start</th>";
echo "<th class='table-sortable:default'>Ende</th>";
//echo "<th class='table-sortable:default'>Dauer</th>";
echo "<th class='table-sortable:default'>Beschreibung</th><th class='table-sortable:default'>Studiengang</th>";
echo "<th class='table-sortable:default'>Dauer</th>";
echo "<th class='table-sortable:default'>Beschreibung</th><th class='table-sortable:default'>Stg</th>";
echo "<th class='table-sortable:default'>Fachbereich</th><th colspan='2'>Aktion</th>";
echo " </tr></thead><tbody>\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 " <td>$row->aktivitaet_kurzbz</td>\n";
echo " <td>".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->start))."</td>\n";
echo " <td>".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->ende))."</td>\n";
//echo " <td align='right'>".$row->diff."</td>\n";
echo " <td align='right'>".$row->diff."</td>\n";
echo " <td title='".str_replace("\r\n",' ',$row->beschreibung)."'>".(strlen($row->beschreibung)>33?substr($row->beschreibung,0,30).'...':$row->beschreibung)."</td>\n";
echo " <td>".(isset($stg_arr[$row->studiengang_kz])?$stg_arr[$row->studiengang_kz]:$row->studiengang_kz)."</td>\n";
echo " <td>$row->fachbereich_kurzbz</td>\n";
+1 -1
View File
@@ -1835,7 +1835,7 @@ if(!$error)
else
{
$error = true;
$errormsg.="\nFehler beim ermitteln der UID";
$errormsg.="\nFehler beim Ermitteln der UID";
}
//Berechtigung pruefen
+2 -2
View File
@@ -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;
}
}
+8 -2
View File
@@ -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;
+180
View File
@@ -0,0 +1,180 @@
<?php
/* Copyright (C) 2007 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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
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 '<html>
<head>
<title>Betriebsmittel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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 wirklick 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($conn);
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">
Nummer/Uid: <input type="text" name="search" value="'.htmlentities($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 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 "<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'>Kartennummer</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 = pg_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 = pg_query($conn, $qry_uid))
{
while($row_uid = pg_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
$ds=ldap_connect(LDAP_SERVER);
if ($ds)
$r=ldap_bind($ds); // this is an "anonymous" bind, typically
else
echo "<h4>Unable to connect to 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>
+49
View File
@@ -0,0 +1,49 @@
<?php
/* Copyright (C) 2007 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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
if(isset($_GET['search']))
$search = $_GET['search'];
else
$search = '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>Betriebsmittel</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<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 -->
<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>
+253
View File
@@ -0,0 +1,253 @@
<?php
/* Copyright (C) 2007 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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
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 '<html>
<head>
<title>Betriebsmittel Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="Background_main">
<h2>Details</h2>
';
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 '<form 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 = pg_query($conn, $qry))
{
while($row = pg_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>';
//TYP
echo '<tr><td>Typ</td><td><SELECT name="betriebsmitteltyp">';
$qry = "SELECT * FROM public.tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
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="'.htmlentities($nummer).'"><input type="hidden" name="nummerold" value="'.htmlentities($nummer).'"></td></tr>';
//Beschreibung
echo '<tr><td>Beschreibung</td><td><textarea name="beschreibung">'.htmlentities($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="'.htmlentities($kaution).'"></td></tr>';
//Anmerkung
echo '<tr><td>Anmerkung</td><td><textarea name="anmerkung">'.htmlentities($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="'.htmlentities($ausgegebenam).'"></td></tr>';
//Retour am
echo '<tr><td>Retour am</td><td><input type="text" name="retouram" value="'.htmlentities($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>
+1
View File
@@ -422,6 +422,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 "</fieldset></td></tr>";
-72
View File
@@ -1,72 +0,0 @@
<?php
/**
* Changes: 22.10.2004: Anpassung an neues DB-Schema (WM)
*/
include('../config.inc.php');
include('../../include/functions.inc.php');
$searchstr=$_POST['searchstr'];
if (!$conn = @pg_pconnect(CONN_STRING))
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
if (strlen($searchstr)<3)
die("Zuwenige Zeichen!");
else
{
// Suche mit Umlauten ist problematisch, da upper() mit Umlauten
// nicht funktioniert (zumindest nicht bei er Standard Debian Distro)
// vielleicht hilft eine reinintialisierung mit initdb und
// dem entsprechenden Locale Setting. Lt. Manual hat die Locale
// vom initdb nichts mit dem tatsächlichen Encoding der Datenbank
// zu tun
// $searchstr=strtr($searchstr,"äöü","ÄÖÜ");
// SQL-Injection verhindern
$searchstr=addslashes($searchstr);
$sql_query=sprintf("SELECT * FROM tbl_person ".
"WHERE (uid~*'%s') OR (vornamen~*'%s') ".
" OR (nachname~*'%s') ".
"ORDER BY nachname, vornamen",
$searchstr,$searchstr,$searchstr);
//echo $sql_query;
if(!($erg=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows=pg_numrows($erg);
}
?>
<html>
<head>
<title>Suchergebnis</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="background_main">
<h4>Suchergebnisse</h4>
Results: <?php echo $num_rows; ?><br>
<br>
<table border="<?php echo $cfgBorder; ?>">
<tr bgcolor="<?php echo $cfgThBgcolor; ?>"><th>Titel</th><th>Vornamen</th><th>Nachname</th><th>eMail</th></tr>
<?php
for ($i=0; $i<$num_rows; $i++)
{
$bgcolor = $cfgBgcolorOne;
$i % 2 ? 0: $bgcolor = $cfgBgcolorTwo;
$vornamen=pg_result($erg,$i,"vornamen");
$nachname=pg_result($erg,$i,"nachname");
$titel=pg_result($erg,$i,"titel");
$emailtw=pg_result($erg,$i,"email");
?>
<tr bgcolor=<?php echo $bgcolor; ?>>
<td><?php echo $titel; ?></td>
<td><?php echo $vornamen; ?></td>
<td><?php echo $nachname; ?></td>
<td><a href="mailto:<?php echo $emailtw; ?>"><?php echo $emailtw; ?></a></td>
</tr>
<?php
}
?>
</table>
</body>
</html>