/** * function getInstance get a Threads object via $gid & $board * suggest using this method to get a ref of Threads * * @param int $gid * @param Board $board * @return Threads object * @static * @access public * @throws ThreadsNullException */ public static function getInstance($gid, $board) { $arr = array(); $haveprev = null; $gid = intval($gid); $ret = bbs_get_threads_from_gid($board->BID, $gid, $gid, $arr, $haveprev, 1); if ($ret == 0 || count($arr) == 0) { throw new ThreadsNullException(); } $num = count($arr); return new Threads(array($arr[0], $arr[$num - 1], $num), $board, $arr); }
html_error_quit("错误的讨论区"); } $board = $brdarr["NAME"]; $board_desc = $brdarr["DESC"]; $brd_encode = urlencode($board); //$isnormalboard = bbs_normalboard($board); $lookupuser = array(); $guestUID = bbs_getuser("guest", $lookupuser); $isnormalboard = bbs_checkreadperm($guestUID, $bid); //bbs_set_onboard($bid,1); $usernum = $currentuser["index"]; if (!$isnormalboard && bbs_checkreadperm($usernum, $bid) == 0) { html_error_quit("错误的讨论区"); } $haveprev = 0; $num = bbs_get_threads_from_gid($bid, $gid, $start, $articles, $haveprev); if ($num == 0) { html_error_quit("错误的参数"); } $pagesize = 20; $totalpage = ($num - 1) / $pagesize + 1; $totalpage = intval($totalpage); if ($pno < 1 || $pno > $totalpage) { $pno = 1; } $startnum = ($pno - 1) * $pagesize; $endnum = $startnum + $pagesize; if ($endnum > $num) { $endnum = $num; } bbs_checkorigin($board);
$id = $_GET["id"]; if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page = 1; } $bname = bbs_getbname($bid); if ($bname == "") { ie("board not found."); } if (!bbs_checkreadperm($uid, $bid)) { ie("permission denied."); } $haveprev = 0; $articles = array(); $ret = bbs_get_threads_from_gid($bid, $id, 1, $articles, $haveprev); if ($ret == 0) { ie("cannot read threads."); } $pagecount = ceil($ret / THREAD_PAGE_SIZE); if ($page < 1) { $page = 1; } if ($page > $pagecount) { $page = $pagecount; } if ($page == $pagecount) { cache_header("nocache"); } else { $all_if = bbs_get_board_index($bname, $dir_modes["NORMAL"]); if (cache_header("public", @filemtime($all_if), 300)) {