Пример #1
0
<?php

define('SCR', 'searcher');
require_once 'global.php';
require_once R_P . 'lib/cloudwind/cloudwind.class.php';
CloudWind::yunSearchEntry();
$_searchHelper = new PW_SearchHelper();
$_searchHelper->checkLevel();
S::gp(array("keyword", "type", "condition", "fid", "step", "username", "starttime", "endtime", "threadrange", "diaryusername", "diarystarttime", "diaryendtime", "diaryrange", "page", "fid", "sch_time", "digest", 'authorid', "ttable", "ptable", 'sortby'));
$_searchHelper->checkSearchCondition($starttime, $endtime, $diarystarttime, $diaryendtime);
if ($sch_time == 'newatc' || $digest == 1 || $sch_time == 'today') {
    list($type, $condition) = $_searchHelper->getSpecialCondition();
}
$searchPassType = $db_search_type ? array_keys($db_search_type) : array_keys($_searchHelper->getDefaultSearcherType());
if ($type && !in_array($type, array_merge(array('special'), (array) $searchPassType))) {
    Showmsg("抱歉,搜索类型不存在");
}
$searcherService = L::loadclass('searcher', 'search');
/* @var $searcherService PW_Searcher */
list($page, $isSphinx, $threadrange, $diaryrange) = $_searchHelper->initCondition($page, $threadrange, $diaryrange);
list($perpage, $searchURL) = array(20, '');
if ($type && !$keyword) {
    //默认数据
    $perpage = 50;
    switch ($type) {
        case "thread":
            pwCache::getData(D_P . 'data/bbscache/search_config.php');
            list($searchForumPart1, $searchForumPart2) = $_searchHelper->getSearchForum();
            $timesFilterList = $_searchHelper->getTimesFilterListByPostTimes(array(1, 24, 168, 720));
            $expandCondition = array('fid' => $fid, 'starttime' => $starttime, 'endtime' => $endtime);
            list($total, $threads) = $searcherService->searchDefault($type, $page, $perpage, $expandCondition);