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; }
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; }