function thread_top_find($fid = 0)
{
    if ($fid == 0) {
        $threadlist = db_find("SELECT * FROM `bbs_thread_top` WHERE top=3 ORDER BY tid DESC LIMIT 100", 'tid');
    } else {
        $threadlist = db_find("SELECT * FROM `bbs_thread_top` WHERE fid='{$fid}' AND top=1 ORDER BY tid DESC LIMIT 100", 'tid');
    }
    $tids = arrlist_values($threadlist, 'tid');
    $threadlist = thread_find_by_tids($tids, 1, 100);
    return $threadlist;
}
function thread_new_find()
{
    $threadlist = db_find("SELECT * FROM `bbs_thread_new` ORDER BY tid DESC LIMIT 100");
    if (empty($threadlist)) {
        $threadlist = thread_find(array(), array('tid' => -1), 1, 100);
        foreach ($threadlist as $thread) {
            thread_new_create($thread['tid']);
        }
    } else {
        $tids = arrlist_values($threadlist, 'tid');
        $threadlist = thread_find_by_tids($tids, 1, 100, 'tid');
    }
    return $threadlist;
}
function thread_lastpid_find()
{
    $threadlist = db_find("SELECT * FROM `bbs_thread_lastpid` ORDER BY lastpid DESC LIMIT 100");
    if (empty($threadlist)) {
        // 此处特殊情况,一般不会执行到此处,无须索引
        $threadlist = thread_find(array(), array('lastpid' => -1), 1, 100);
        foreach ($threadlist as $thread) {
            thread_lastpid_create($thread['tid'], $thread['lastpid']);
        }
    } else {
        $tids = arrlist_values($threadlist, 'tid');
        $threadlist = thread_find_by_tids($tids, 1, 100, 'lastpid');
    }
    return $threadlist;
}
Ejemplo n.º 4
0
function thread_find_tids($fid, $pagesize = 20, $order = 'tid')
{
    global $conf;
    $limit = $pagesize * $conf['cache_thread_list_pages'];
    $tidlist = db_find("SELECT tid FROM `bbs_thread` WHERE fid='{$fid}' ORDER BY {$order} DESC LIMIT 0, {$limit}", 'tid');
    $tids = arrlist_values($tidlist, 'tid');
    return $tids;
}