*/ /** * Globale Suche */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/content.class.php'); require_once('../../../include/benutzer.class.php'); $uid = get_uid(); $db = new basis_db(); $sprache = getSprache(); $p = new phrasen($sprache); echo ' Globale Suche '; echo '

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

'; $search = (isset($_REQUEST['search'])?$_REQUEST['search']:''); echo '
'; if($search=='') exit; $searchItems = explode(' ',$search); searchPerson($searchItems); searchContent($searchItems); function searchPerson($searchItems) { global $db, $p; $bn = new benutzer(); $bn->search($searchItems); if(count($bn->result)>0) { echo '

',$p->t('global/personen'),'

'; echo ' '; foreach($bn->result as $row) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if($row->alias!='') $mail = $row->alias.'@'.DOMAIN; else $mail = $row->uid.'@'.DOMAIN; echo ''; echo ''; echo "\n"; } echo '
',$p->t('global/titel'),' ',$p->t('global/vorname'),' ',$p->t('global/nachname'),' ',$p->t('global/titel'),' ',$p->t('global/studiengang'),' ',$p->t('global/telefonnummer'),' ',$p->t('global/mail'),'
',$row->titelpre,'',$row->vorname,'',$row->nachname,'',$row->titelpost,'',$row->studiengang,'',$row->telefonklappe,'',$mail,'
'; } } function searchContent($searchItems) { global $db,$p; $cms = new content(); $cms->search($searchItems); if(count($cms->result)>0) { echo '

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

'; echo ''; } } function findAndMark($content, $items) { foreach($items as $row) { if($row!='') { $item = $row; break; } } //CDATA und HTML Tags entfernen $content = mb_str_replace('<[CDATA[', '', $content); $content = mb_str_replace(']]>', '', $content); $content = strip_tags($content); $item = mb_strtolower($item); $beginn = mb_strpos(mb_strtolower($content), $item); $len = mb_strlen($item); //Im Content sind die Umlaute teilweise codiert gespeichert //Wenn der Eintrag nicht gefunden wird, wird mit Codierten Zeichen nochmals gesucht if($beginn=='') { $beginn = mb_strpos(mb_strtolower($content), htmlentities($item,ENT_NOQUOTES,'UTF-8')); $len = mb_strlen(htmlentities($item,ENT_NOQUOTES,'UTF-8')); } if($beginn=='') { $beginn=0; $len=0; } $start = (($beginn-100)>0?($beginn-100):0); //echo "start: $start
beginn: $beginn
beginn-start: ".($beginn-$start); //echo "
item:".$item.'
'; $preview=''; if($start!=0) $preview='...'; $preview .= mb_substr($content, $start, ($beginn-$start)); $preview.=''; $preview.= mb_substr($content, $beginn, $len); $preview.=''; $preview.= mb_substr($content, $beginn+$len, 300); $laenge = $beginn+$len+300; if($laenge'; ?>