From ba230e1bab0e4c1697c59a33a76d84f6a8e8c1e1 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 19 Jul 2013 15:54:16 +0000 Subject: [PATCH] =?UTF-8?q?Anpassungen=20an=20CIS-Redesign=20Autocomplete?= =?UTF-8?q?=20f=C3=BCr=20Lektor=20und=20Student=20in=20der=20LV-Plan=20Suc?= =?UTF-8?q?he?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stammdaten/stammdaten_autocomplete.php | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/vilesci/stammdaten/stammdaten_autocomplete.php b/vilesci/stammdaten/stammdaten_autocomplete.php index 2353ce8ea..c47b818e2 100644 --- a/vilesci/stammdaten/stammdaten_autocomplete.php +++ b/vilesci/stammdaten/stammdaten_autocomplete.php @@ -363,6 +363,78 @@ cellSeparator (default value: "|") } break; + // Lektor,Student - FHTW Suche im LV-Plan + case 'lektor_student': + $person_id=trim((isset($_REQUEST['q']) ? $_REQUEST['q']:'')); + if (is_null($person_id) || $person_id=='') + exit('person_id wurde nicht übergeben!'); + + $matchcode=mb_strtoupper(addslashes(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($person_id)))); + $pWhere=" aktiv "; + if ($person_id) + { + $pWhere.=" and (UPPER(trim(uid)) like '%".$matchcode."%' "; + $pWhere.=" or UPPER(trim(to_char(person_id,'999999999'))) like '%".$matchcode."%' "; + $pWhere.=" or UPPER(trim(nachname)) like '%".addslashes($matchcode)."%' "; + $pWhere.=" or UPPER(trim(vorname)) like '%".addslashes($matchcode)."%' "; + $pWhere.=" or UPPER(trim(nachname || ' ' || vorname)) like '%".addslashes($matchcode)."%' "; + $pWhere.=" or UPPER(trim(vorname || ' ' || nachname)) like '%".addslashes($matchcode)."%' ) "; + } + /*if (!empty($oe_kurzbz)) + { + $pSql="SELECT vw_benutzer.uid,vw_benutzer.person_id,vw_benutzer.aktiv,uid,person_id,titelpre,anrede,vorname,nachname,vornamen,titelpost,funktion_kurzbz + FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid) + where ". $pWhere ." + and (funktion_kurzbz='oezuordnung') + and oe_kurzbz IN( + WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as + ( + SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit + WHERE upper(trim(oe_kurzbz))=upper(trim('".addslashes($oe_kurzbz)."')) + UNION ALL + SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes + WHERE o.oe_parent_kurzbz=oes.oe_kurzbz + ) + SELECT oe_kurzbz + FROM oes + GROUP BY oe_kurzbz limit 1) + ORDER BY nachname, vorname, funktion_kurzbz "; + + $pArt=''; + $pDistinct=true; + $pFields=''; + $pTable=''; + $matchcode=''; + $pWhere=''; + $pOrder=''; + $pLimit=''; + + } + else + {*/ + $pArt='select'; + $pDistinct=true; + $pFields='uid,vorname,nachname,tbl_mitarbeiter.lektor,aktiv'; + $pTable=' campus.vw_benutzer LEFT JOIN public.tbl_mitarbeiter ON (uid=mitarbeiter_uid)'; + $matchcode=mb_strtoupper(addslashes(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($person_id)))); + $pOrder='lektor,nachname'; + $pLimit='100'; + $pSql=''; + + if (!$oRresult=$db->SQL($pArt,$pDistinct,$pFields,$pTable,$pWhere,$pOrder,$pLimit,$pSql)) + exit(' |'.$db->errormsg."\n"); + + + for ($i=0;$iuid).'|' + .trim($oRresult[$i]->uid).' ' + .html_entity_decode($oRresult[$i]->vorname).' '.html_entity_decode($oRresult[$i]->nachname).' ' + .html_entity_decode($oRresult[$i]->lektor) + ."\n"; + } + break; + default: echo " Funktion $work fehlt! "; break;