From 1400041921bc6eaed5b2c7cba8dd3e0c3aa7a129 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Tue, 14 Nov 2017 17:35:20 +0100 Subject: [PATCH] CIS-Suche verbessert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Contents mit Titel-Übereinstimmung werden zuerst geliefert - Leerzeichen werden aus Suchstring entfernt --- cis/private/tools/suche.php | 161 ++++++++++++++++++------------------ include/content.class.php | 46 +++++++---- 2 files changed, 114 insertions(+), 93 deletions(-) diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 7b56f2707..e4950f00b 100755 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -46,19 +46,18 @@ $sprache = getSprache(); $p = new phrasen($sprache); echo ' + "http://www.w3.org/TR/html4/strict.dtd"> - - - - - - - Globale Suche + '; + + include('../../../include/meta/jquery.php'); + include('../../../include/meta/jquery-tablesorter.php'); + +echo 'Globale Suche '; @@ -74,14 +73,22 @@ echo '

'; -if($search=='') +if($search == '') exit; // String aufsplitten und Sonderzeichen entfernen $searchItems = explode(' ',TRIM(str_replace(',', '', $search),'!.?')); +// Leerzeichen und Whitespaces entfernen +$searchItems = preg_replace("/\s/", '', $searchItems); + + +// Leere Strings aus Array entfernen +while ($array_key = array_search("", $searchItems)) + unset ($searchItems[$array_key]); + // Wenn nach dem TRIM keine Zeichen uebrig bleiben, dann abbrechen -if(implode(',', $searchItems)=='') +if(implode(',', $searchItems) == '') exit; //Easter Egg @@ -228,55 +235,56 @@ function searchOE($searchItems) $benutzerfunktion->getOeFunktionen($row->oe_kurzbz,'ass,Leitung,stvLtg,oezuordnung','now()','now()'); $oebezeichnung = new organisationseinheit(); $oebezeichnung->load($row->oe_kurzbz); - echo '

',$row->organisationseinheittyp_kurzbz,' ',$oebezeichnung->bezeichnung,'

'; - echo ' - - - - - - - - - - - - '; - foreach($benutzerfunktion->result as $bf) + if (count($benutzerfunktion->result) > 0) { - $person = new person(); - $person->getPersonFromBenutzer($bf->uid); - $mitarbeiter = new mitarbeiter(); - $mitarbeiter->load($bf->uid); - $kontakt = new kontakt(); - $kontakt->loadFirmaKontakttyp($mitarbeiter->standort_id,'telefon'); - $bisverwendung = new bisverwendung(); - $bisverwendung->getLastAktVerwendung($bf->uid); - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - echo ''; - //if($row->alias!='' && !in_array($row->studiengang_kz, $noalias)) ??? Was macht $noalias? - if($person->alias!='') - $mail = $person->alias.'@'.DOMAIN; - else - $mail = $person->uid.'@'.DOMAIN; - echo ''; - //if(!defined('CIS_SUCHE_LVPLAN_ANZEIGEN') || CIS_SUCHE_LVPLAN_ANZEIGEN) - //echo ''; - echo ''; + echo '

',$row->organisationseinheittyp_kurzbz,' ',$oebezeichnung->bezeichnung,'

'; + echo '
',$p->t('global/vorname'),'',$p->t('global/nachname'),'',$p->t('global/funktion'),'',$p->t('global/telefonnummer'),'',$p->t('lvplan/raum'),'',$p->t('global/mail'),'
'.$person->vorname.'',$person->nachname,''.$bf->bezeichnung; - if($person->aktiv==false) - echo ' (ausgeschieden)'; - elseif($bisverwendung->beschausmasscode=='5') - echo ' (karenziert)'; - echo '',($mitarbeiter->telefonklappe!=''?$kontakt->kontakt.'-'.$mitarbeiter->telefonklappe:'-'),'',($mitarbeiter->ort_kurzbz!=''?$mitarbeiter->ort_kurzbz:'-'),'',$mail,''.$p->t('lvplan/lvPlan').'
+ + + + + + + + + + + + '; + foreach($benutzerfunktion->result as $bf) + { + $person = new person(); + $person->getPersonFromBenutzer($bf->uid); + $mitarbeiter = new mitarbeiter(); + $mitarbeiter->load($bf->uid); + $kontakt = new kontakt(); + $kontakt->loadFirmaKontakttyp($mitarbeiter->standort_id,'telefon'); + $bisverwendung = new bisverwendung(); + $bisverwendung->getLastAktVerwendung($bf->uid); + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + //if($row->alias!='' && !in_array($row->studiengang_kz, $noalias)) ??? Was macht $noalias? + if($person->alias!='') + $mail = $person->alias.'@'.DOMAIN; + else + $mail = $person->uid.'@'.DOMAIN; + echo ''; + //if(!defined('CIS_SUCHE_LVPLAN_ANZEIGEN') || CIS_SUCHE_LVPLAN_ANZEIGEN) + //echo ''; + echo ''; + echo "\n"; + } echo "\n"; + echo '
',$p->t('global/vorname'),'',$p->t('global/nachname'),'',$p->t('global/funktion'),'',$p->t('global/telefonnummer'),'',$p->t('lvplan/raum'),'',$p->t('global/mail'),'
'.$person->vorname.'',$person->nachname,''.$bf->bezeichnung; + if($bisverwendung->beschausmasscode=='5') + echo ' (karenziert)'; + echo '',($mitarbeiter->telefonklappe!=''?$kontakt->kontakt.'-'.$mitarbeiter->telefonklappe:'-'),'',($mitarbeiter->ort_kurzbz!=''?$mitarbeiter->ort_kurzbz:'-'),'',$mail,''.$p->t('lvplan/lvPlan').'

'; } - echo "\n"; - echo '
'; } } return true; @@ -443,10 +451,10 @@ function searchContent($searchItems) $cms = new content(); $cms->search($searchItems, 21); - if(count($cms->result)>0) + if(count($cms->result) > 0) { echo '

',$p->t('tools/content'),'

'; - if(count($cms->result)>20) + if(count($cms->result) > 20) { echo '

'.$p->t("tools/esWurdenMehrAlsXInhalteGefunden").'

'; } @@ -454,30 +462,25 @@ function searchContent($searchItems) $anzeigesprache=''; foreach($cms->result as $row) { - if ($sprache==$row->sprache) + if ($sprache == $row->sprache) { - if ($anzeigesprache!=$row->sprache) + if ($anzeigesprache != $row->sprache) { - $anzeigesprache=$row->sprache; + $anzeigesprache = $row->sprache; echo '

',$row->sprache,'

'; echo ''; echo '

',$row->sprache,'

'; echo '