| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <?phprequire_once(__DIR__.SLASH.'WikiCategory.class.php');require_once(__DIR__.SLASH.'WikiPage.class.php');$results = array();$terms = explode(' ',trim($_['term']));$rterms = array();foreach ($terms as $value) {	if(empty(trim($value)) || strlen($value)<=2) continue;	$rterms[] = str_replace('/','\/',preg_quote($value));}if(count($rterms)>0){	foreach(WikiPage::loadAll(array(),array('label'),array('100'), array('*'), 1) as $page){		$page->content();		$content = $page->label.' - '.$page->content;			if(preg_match_all('/'.implode('|',$rterms).'/iUs',$content, $matches, PREG_OFFSET_CAPTURE)){						foreach ($matches as $match) {				foreach ($match as $word) {					$offset = $word[1];					$word = $word[0];					$length = strlen($page->content);					$start = $offset-50;					$start = $start < 0 ? 0 : $start;					$end = $start+100 > $length -1 ? $length -1: 100;					$excerpt = substr($page->content,$start,$end).'...';					$excerpt = htmlentities($excerpt);					$excerpt = preg_replace('|(.*)('.$word.')(.*)|iUs', '$1<span class="wiki-search-highlight">$2</span>$3', $excerpt);					//Dans quel but ? (ligne dessous)					// if(isset($results[$page->id])) $excerpt = $results[$page->id]['excerpt'].' '.$excerpt; 					$results[$page->id] = array(						'type' => 'page', 						'item' => $page,						'excerpt' => $excerpt					); 				}			}		}	}	foreach(WikiCategory::staticQuery('SELECT * FROM {{table}} WHERE label REGEXP ? ',array(implode('|',$rterms)),true) as $category){		$results[$category->id] = array(			'type' => 'category', 			'item' => $category,			'excerpt' => 'Catégorie'		);	}}?><h3 class="search-title"><i class="fas fa-search"></i> RECHERCHE</h3><small class="tags-container <?php if(empty($results)) echo 'light-border-bottom'; ?>">	<?php if(isset($terms[0]) && !empty($terms[0])): ?>		<h6 class="d-inline-block no-select">Tags : </h6>		<?php foreach ($terms as $term):			if(empty($term)) continue;			$bgColor = random_hex_pastel_color($term);			$color = get_light($bgColor) >= 0.65 ? '#4c4c4c' : '#fdfdfd';			?>			<span class="ml-1 tag-item" style="<?php echo 'background-color:'.$bgColor.';color:'.$color.';'; ?>"><i class="fas fa-tag"></i> <?php echo htmlentities($term); ?> <i class="fas fa-times delete-tag" onclick="wiki_tag_delete(this);"></i></span>		<?php endforeach; ?>	<?php endif; ?></small><?php if(empty($results) && isset($terms[0]) && empty($terms[0])): ?>	<p class="mt-2"><i class="far fa-sad-tear"></i> Aucun mot-clé renseigné...<p><?php elseif(empty($results)): ?>	<p class="mt-2"><i class="far fa-grin-beam-sweat"></i> Oops ! Rien trouvé..<p><?php else: ?><h3 class="wiki-title mt-0"><?php echo count($results); ?> Résultats</h3><ul class="category-recent"><?php foreach($results as $result): 	$item = $result['item'];	if($result['type'] == 'page'): ?>	<li data-category="<?php echo $item->join('category')->slug; ?>" data-page="<?php echo $item->slug; ?>" onclick="wiki_page_open($(this).attr('data-category'),$(this).attr('data-page'),event);">		<h5><i class="far fa-sticky-note"></i> <?php echo $item->label; ?></h5>		<small class="wiki-small">			<span class="font-weight-bold"><i class="far fa-bookmark"></i> <?php echo $item->join('category')->label; ?></span>			<span> - Edité <?php echo $item->created(); ?> par <i class="far fa-meh-blank"></i> <?php echo $item->author(); ?></span>		</small>		<br>		<small>...<?php echo $result['excerpt']; ?></small>	</li>	<?php else: ?>	<li data-category="<?php echo $item->slug; ?>" onclick="wiki_category_open($(this).attr('data-category'),$(this).attr('data-page'),event);">		<h5><i class="far fa-bookmark"></i> <?php echo $item->label; ?></h5>		<small class="wiki-small">			<span class="font-weight-bold"><i class="far fa-bookmark"></i> <?php echo $item->label; ?></span>			<span> - Edité <?php echo $item->created(); ?> par <i class="far fa-meh-blank"></i> <?php echo $item->author(); ?></span>		</small>		<br>	</li>	<?php endif; ?><?php endforeach; ?></ul><?php endif; ?>
 |