Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
    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);
Ejemplo n.º 3
0
$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)) {