This commit is contained in:
Christian Paminger
2007-05-09 13:57:49 +00:00
parent 455183409b
commit 248e91d420
+40 -37
View File
@@ -15,7 +15,7 @@
* 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>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -26,7 +26,7 @@
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/student.class.php');
//Connection Herstellen
if(!$conn = pg_pconnect(CONN_STRING))
die("Fehler beim öffnen der Datenbankverbindung");
@@ -53,24 +53,24 @@
<form method="post" action="psearch.php" name="SearchFormular">
<td nowrap><input type="hidden" name="do_search">
Suche nach:
<input type="text" name="txtSearchQuery" size="45">
<input type="text" name="txtSearchQuery" size="45">
in Gruppe
<select name="cmbChoice">
<option value="all">Alle Kategorien</option>
<?php
$fkt_obj = new funktion($conn);
$fkt_obj->getAll();
//$qry = "SELECT DISTINCT funktion_kurzbz AS kurzbz, bezeichnung FROM public.tbl_funktion WHERE aktiv=TRUE ORDER BY bezeichnung";
//$result = pg_exec($sql_conn, $sql_query);
//$num_rows = pg_num_rows($result);
//for($i = 0; $i < $num_rows; $i++)
foreach ($fkt_obj->result as $row)
{
//$row = pg_fetch_object($result, $i);
if(isset($cmbChoice) && $cmbChoice == $row->funktion_kurzbz)
{
echo "<option value=\"$row->funktion_kurzbz\" selected>$row->beschreibung</option>";
@@ -93,18 +93,18 @@
<td nowrap>
<?php
if(isset($do_search))
{
{
if($txtSearchQuery == "" || $txtSearchQuery == "*" || $txtSearchQuery == "*.*")
{
if($cmbChoice == "all")
{
//$sql_query = "SELECT DISTINCT tbl_person.uid, titel, nachname, vornamen, telefonklappe AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM public.tbl_person, public.tbl_mitarbeiter WHERE tbl_mitarbeiter.uid=tbl_person.uid AND aktiv=TRUE UNION SELECT DISTINCT tbl_person.uid, titel, nachname, vornamen, (''::varchar) AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM public.tbl_person, public.tbl_student WHERE semester<10 AND tbl_person.uid=tbl_student.uid AND tbl_student.uid not like '%dummy%' AND aktiv=TRUE ORDER BY nachname, vornamen";
$sql_query = "SELECT uid, titelpre, titelpost, nachname, vorname, telefonklappe as teltw,(uid || '@technikum-wien.at') AS emailtw, foto,-1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student WHERE semester<10 ORDER BY nachname, vorname";
$sql_query = "SELECT uid, titelpre, titelpost, nachname, vorname, vornamen, telefonklappe as teltw,(uid || '@technikum-wien.at') AS emailtw, foto,-1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student WHERE semester<10 ORDER BY nachname, vorname";
}
else
{
//$sql_query = "SELECT DISTINCT tbl_person.uid, titel, nachname, vornamen, telefonklappe AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM public.tbl_person, public.tbl_mitarbeiter WHERE tbl_mitarbeiter.uid=tbl_person.uid AND public.tbl_funktion.funktion_kurzbz='$cmbChoice' AND public.tbl_personfunktion.funktion_kurzbz=public.tbl_funktion.funktion_kurzbz AND tbl_person.uid=public.tbl_personfunktion.uid AND aktiv=TRUE UNION SELECT DISTINCT tbl_person.uid, (''::varchar) AS titel, nachname, vornamen, (''::varchar) AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM public.tbl_person, public.tbl_student WHERE semester<10 AND tbl_person.uid=tbl_student.uid AND public.tbl_funktion.funktion_kurzbz='$cmbChoice' AND public.tbl_personfunktion.funktion_kurzbz=public.tbl_funktion.funktion_kurzbz AND tbl_person.uid=public.tbl_personfunktion.uid AND aktiv=TRUE ORDER BY nachname, vornamen";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion using(uid) WHERE funktion_kurzbz='$cmbChoice' UNION SELECT DISTINCT uid, titelpre,titelpost, nachname, vorname, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, vw_student.studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student JOIN public.tbl_benutzerfunktion using(uid) WHERE semester<10 AND funktion_kurzbz='$cmbChoice' ORDER BY nachname, vorname";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion using(uid) WHERE funktion_kurzbz='$cmbChoice' UNION SELECT DISTINCT uid, titelpre,titelpost, nachname, vorname, vornamen, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, vw_student.studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student JOIN public.tbl_benutzerfunktion using(uid) WHERE semester<10 AND funktion_kurzbz='$cmbChoice' ORDER BY nachname, vorname";
}
}
else
@@ -113,22 +113,22 @@
if($cmbChoice == "all")
{
//$sql_query = "SELECT DISTINCT tbl_person.uid, titel, nachname, vornamen, telefonklappe AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM public.tbl_person, public.tbl_mitarbeiter WHERE tbl_mitarbeiter.uid=tbl_person.uid AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR tbl_person.uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE UNION SELECT DISTINCT tbl_person.uid, (''::varchar) AS titel, nachname, vornamen, (''::varchar) AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM public.tbl_person, public.tbl_student WHERE semester<10 AND tbl_person.uid=tbl_student.uid AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR tbl_person.uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE ORDER BY nachname, vornamen";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter WHERE (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student WHERE semester<10 AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) ORDER BY nachname, vorname";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter WHERE (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student WHERE semester<10 AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) ORDER BY nachname, vorname";
}
else
{
//$sql_query = "SELECT DISTINCT tbl_person.uid, titel, nachname, vornamen, telefonklappe AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM public.tbl_person, public.tbl_mitarbeiter WHERE tbl_mitarbeiter.uid=tbl_person.uid AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR tbl_person.uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND public.tbl_funktion.funktion_kurzbz='$cmbChoice' AND public.tbl_personfunktion.funktion_kurzbz=public.tbl_funktion.funktion_kurzbz AND tbl_person.uid=public.tbl_personfunktion.uid) AND aktiv=TRUE UNION SELECT DISTINCT tbl_person.uid, (''::varchar) AS titel, nachname, vornamen, (''::varchar) AS teltw, (tbl_person.uid || '@technikum-wien.at') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort FROM public.tbl_person, public.tbl_student WHERE semester <10 AND tbl_person.uid=tbl_student.uid AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR tbl_person.uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vornamen) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vornamen || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND public.tbl_funktion.funktion_kurzbz='$cmbChoice' AND public.tbl_personfunktion.funktion_kurzbz=public.tbl_funktion.funktion_kurzbz AND tbl_person.uid=public.tbl_personfunktion.uid) AND aktiv=TRUE ORDER BY nachname, vornamen";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, vw_student.studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student JOIN public.tbl_benutzerfunktion USING(uid) WHERE semester <10 AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ORDER BY nachname, vorname";
$sql_query = "SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, telefonklappe AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE UNION SELECT DISTINCT uid, titelpre, titelpost, nachname, vorname, vornamen, (''::varchar) AS teltw, (uid || '@technikum-wien.at') AS emailtw, foto, vw_student.studiengang_kz, semester, ''::varchar as ort FROM campus.vw_student JOIN public.tbl_benutzerfunktion USING(uid) WHERE semester <10 AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ORDER BY nachname, vorname";
}
}
$result = pg_query($conn, $sql_query);
$num_rows = pg_num_rows($result);
if($num_rows > 0)
{
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"100%\">";
echo "<tr>
<td align=\"left\" class=\"ContentHeader\" nowrap><font class=\"ContentHeader\">&nbsp;Titel</font></td>
<td align=\"left\" class=\"ContentHeader\" nowrap><font class=\"ContentHeader\">&nbsp;Vorname</font></td>
@@ -139,19 +139,19 @@
<td align=\"left\" class=\"ContentHeader\" nowrap><font class=\"ContentHeader\">&nbsp;Studiengang</font></td>
<td align=\"left\" class=\"ContentHeader\" nowrap><font class=\"ContentHeader\">&nbsp;Semester</font></td>
<td align=\"left\" class=\"ContentHeader\" nowrap><font class=\"ContentHeader\">&nbsp;Hauptverteiler</font></td>";
echo "</tr>
<tr>
<td nowrap>&nbsp;</td>
</tr>";
for($i = 0; $i < $num_rows; $i++)
{
$row = pg_fetch_object($result, $i);
echo "<tr>";
if($row->titelpre != "")
{
if($i % 2 == 0)
@@ -174,16 +174,19 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->vorname != "")
{
$vorname=$row->vorname;
if($row->vornamen != "")
$vorname.=' '.substr($row->vornamen,0,1).'.';
if($i % 2 == 0)
{
echo " <td align=\"left\" nowrap>&nbsp;$row->vorname</td>";
echo " <td align=\"left\" nowrap>&nbsp;$vorname</td>";
}
else
{
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;$row->vorname</td>";
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;$vorname</td>";
}
}
else
@@ -197,7 +200,7 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->nachname != "")
{
if($i % 2 == 0)
@@ -220,7 +223,7 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->teltw != "")
{
if($i % 2 == 0)
@@ -243,7 +246,7 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->emailtw != "")
{
if($i % 2 == 0)
@@ -266,7 +269,7 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->ort != "")
{
if($i % 2 == 0)
@@ -289,12 +292,12 @@
echo " <td align=\"left\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
$kurzbz='';
if($row->studiengang_kz != -1)
{
$stg_obj = new studiengang($conn, $row->studiengang_kz);
if($i % 2 == 0)
{
echo "<td align=\"left\" nowrap>&nbsp;$stg_obj->kuerzel</td>";
@@ -339,14 +342,14 @@
echo " <td align=\"center\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
if($row->studiengang_kz != -1)
{
$std_obj = new student($conn, $row->uid);
$verband=$std_obj->verband;
$gruppe=$std_obj->gruppe;
$kurzbz=strtolower($kurzbz);
$verband=strtolower($verband);
if($i % 2 == 0)
@@ -369,18 +372,18 @@
echo " <td align=\"center\" class=\"MarkLine\" nowrap>&nbsp;</td>";
}
}
echo "</tr>";
}
echo "<tr>
<td nowrap>&nbsp;</td>
</tr>";
echo "</table>";
}
if($num_rows > 0)
{
echo "Es wurden $num_rows Eintr&auml;ge gefunden.";