From 18729af6392fa34429b10e91c0463197c96bfb2f Mon Sep 17 00:00:00 2001 From: kindlm Date: Tue, 12 Jul 2016 10:49:02 +0200 Subject: [PATCH] Verbesserungen in Personensuche --- vilesci/personen/personen_details.php | 6 ++++- vilesci/personen/suche.php | 34 ++++++++++++++++++++------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php index 956bbfd7c..9fde7d32e 100644 --- a/vilesci/personen/personen_details.php +++ b/vilesci/personen/personen_details.php @@ -346,6 +346,10 @@ if(!$error_person_save) $kurzbeschreibung = $person->kurzbeschreibung; } +$akte = new akte(); +if($akte->getAkten($person_id, 'Lichtbil')) + $dms_id_lichtbild = $akte->result[0]->dms_id; + // PERSON echo " - +
@@ -464,7 +468,7 @@ echo "
Anmerkungen Bild hochladen

diff --git a/vilesci/personen/suche.php b/vilesci/personen/suche.php index 6c1ad5b35..35500dd50 100644 --- a/vilesci/personen/suche.php +++ b/vilesci/personen/suche.php @@ -47,6 +47,11 @@ if(isset($_GET['searchstr'])) else $searchstr = ''; +if(isset($_GET['filter'])) + $filter = $_GET['filter']; +else + $filter = ''; + $datum_obj = new datum(); echo ' @@ -70,20 +75,31 @@ echo '
Bitte Suchbegriff eingeben: + Nur MitarbeiterInnen + Nur Studierende
'; if($searchstr!='') { - $qry = "SELECT person_id FROM public.tbl_person WHERE person_id in( - SELECT distinct person_id FROM public.tbl_person LEFT JOIN public.tbl_benutzer USING(person_id) WHERE - nachname ~* '".$db->db_escape($searchstr)."' OR - vorname ~* '".$db->db_escape($searchstr)."' OR - alias ~* '".$db->db_escape($searchstr)."' OR - COALESCE(nachname,'') || ' ' || COALESCE(vorname,'') = '".$db->db_escape($searchstr)."' OR - COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') = '".$db->db_escape($searchstr)."' OR - uid ~* '".$db->db_escape($searchstr)."' - ) ORDER BY nachname, vorname;"; + $qry = "SELECT + distinct on (nachname, vorname, person_id) * + FROM + public.tbl_person + LEFT JOIN public.tbl_benutzer USING(person_id)"; + + if ($filter=='mitarbeiter') + $qry .= " JOIN public.tbl_mitarbeiter ON (uid=mitarbeiter_uid) "; + elseif ($filter=='student') + $qry .= " JOIN public.tbl_prestudent USING (person_id) "; + + $qry .= " WHERE true + AND nachname ~* '".$db->db_escape($searchstr)."' OR + vorname ~* '".$db->db_escape($searchstr)."' OR + (nachname || ' ' || vorname) ~* '".$db->db_escape($searchstr)."' OR + (vorname || ' ' || nachname) ~* '".$db->db_escape($searchstr)."' OR + uid=".$db->db_add_param($searchstr)." + ORDER BY nachname, vorname;"; if($result = $db->db_query($qry)) {