www.gusucode.com > Destoon B2B仿淘宝电子商务网站 UTF8 v6.0源码程序 > destoon/module/sell/sphinx.inc.php

    <?php 
defined('IN_DESTOON') or exit('Access Denied');
$tags = $ids = $_tags = $tbs = $PPT = array();//PPT
if($DT_QST) {
	if($kw) {
		if(strlen($kw) < $DT['min_kw'] || strlen($kw) > $DT['max_kw']) message(lang($L['word_limit'], array($DT['min_kw'], $DT['max_kw'])), $MOD['linkurl'].'search.php');
		if($DT['search_limit'] && $page == 1) {
			if(($DT_TIME - $DT['search_limit']) < get_cookie('last_search')) message(lang($L['time_limit'], array($DT['search_limit'])), $MOD['linkurl'].'search.php');
			set_cookie('last_search', $DT_TIME);
		}
		$replacef = explode(' ', $kw);
		$replacet = array_map('highlight', $replacef);
	}
	require DT_ROOT.'/include/sphinx.class.php';
	$sx = new SphinxClient();
	if($MOD['sphinx_host'] && $MOD['sphinx_port']) $sx->SetServer($MOD['sphinx_host'], $MOD['sphinx_port']);
	$sx->SetArrayResult(true);
	$sx->SetMatchMode(SPH_MATCH_PHRASE);
	$sx->SetRankingMode(SPH_RANK_NONE);
	$sx->SetSortMode(SPH_SORT_EXTENDED, 'sorttime desc');
	$sx->SetFilter('status', array(3));
	if($catid) $sx->SetFilter('catid', explode(',', $CAT['arrchildid']));
	if($areaid) $sx->SetFilter('areaid', explode(',', $ARE['arrchildid']));
	$pagesize = $MOD['pagesize'];
	$offset = ($page-1)*$pagesize;
	$sx->SetLimits($offset, $pagesize);
	$_kw = convert($kw, DT_CHARSET, 'utf-8');
	$r = $sx->Query($_kw, $MOD['sphinx_name']);
	$time = $r['time'];
	$items = $r['total_found'];
	$total = $r['total'];
	$pages = pages($items > $total ? $total : $items, $page, $pagesize);
	foreach($r['matches'] as $k=>$v) {
		$ids[$v['id']] = $v['id'];
	}		
	if($ids) {
		$condition = "itemid IN (".implode(',', $ids).")";
		$result = $db->query("SELECT ".$MOD['fields']." FROM {$table} WHERE {$condition}");
		while($r = $db->fetch_array($result)) {
			$r['adddate'] = timetodate($r['addtime'], 5);
			$r['editdate'] = timetodate($r['edittime'], 5);
			if($lazy && isset($r['thumb']) && $r['thumb']) $r['thumb'] = DT_SKIN.'image/lazy.gif" original="'.$r['thumb'];
			$r['alt'] = $r['title'];
			$r['title'] = set_style($r['title'], $r['style']);
			if($kw) $r['title'] = str_replace($replacef, $replacet, $r['title']);
			if($kw) $r['introduce'] = str_replace($replacef, $replacet, $r['introduce']);
			$r['linkurl'] = $MOD['linkurl'].$r['linkurl'];
			$_tags[$r['itemid']] = $r;
		}
		$db->free_result($result);
		foreach($ids as $id) {
			$tags[] = $_tags[$id];
		}
		if($page == 1 && $kw) keyword($kw, $items, $moduleid);
	}
}
$showpage = 1;
$datetype = 5;
$seo_file = 'search';
include DT_ROOT.'/include/seo.inc.php';
include template($MOD['template_search'] ? $MOD['template_search'] : 'search', $module);
?>