resultq("SELECT `thread` FROM `posts` WHERE `id` = '$pid'"); $numposts = $sql->resultq("SELECT COUNT(*) FROM `posts` WHERE `thread` = '$id' AND `id` < '$pid'"); $page = floor($numposts / $ppp); } if ($lpt) { if (!$ppp) $ppp = ($log ? $loguser['postsperpage'] : 20); $pid = $sql->resultq("SELECT MIN(`id`) FROM `posts` WHERE `thread` = '".$_GET['id']."' AND `date` > '".$_GET['lpt']."'"); if (!$pid) { $pid = $sql->resultq("SELECT MAX(`id`) FROM `posts` WHERE `thread` = '".$_GET['id']."'"); } return header("Location: ?pid=$pid#$pid"); } if ($id) { $thread = mysql_fetch_array(mysql_query("SELECT * FROM threads WHERE id=$id")); $forumid = intval($thread['forum']); $forum = mysql_fetch_array(mysql_query("SELECT * FROM forums WHERE id=$forumid")); $specialscheme = $forum['specialscheme']; if ($loguser['id']) { $readdate = @mysql_result(@mysql_query("SELECT `readdate` FROM `forumread` WHERE `user` = '$loguser[id]' AND `forum` = '$forumid'"), 0); if ($thread['lastpostdate'] > $readdate) { mysql_query("REPLACE INTO threadsread SET `uid` = '$loguser[id]', `tid` = '$thread[id]', `time` = '".ctime()."', `read` = '1'"); } $unreadquery = mysql_query("SELECT COUNT(*) FROM `threads` WHERE `id` NOT IN (SELECT `tid` FROM `threadsread` WHERE `uid` = '$loguser[id]' AND `read` = '1') AND `lastpostdate` > '$readdate' AND `forum` = '$forumid'"); $unreadcount = mysql_result($unreadquery, 0); if ($unreadcount == 0) mysql_query("REPLACE INTO forumread VALUES ('$loguser[id]', '$forumid', '".ctime().'\')'); } if ($tnext = @mysql_result(@mysql_query("SELECT min(lastpostdate) FROM threads WHERE forum=$forumid AND lastpostdate>$thread[lastpostdate]"), 0, 0)) $tnext = mysql_result(mysql_query("SELECT id FROM threads WHERE lastpostdate=$tnext"), 0, 0); if ($tprev = @mysql_result(@mysql_query("SELECT max(lastpostdate) FROM threads WHERE forum=$forumid AND lastpostdate<$thread[lastpostdate]"), 0, 0)) $tprev = mysql_result(mysql_query("SELECT id FROM threads WHERE lastpostdate=$tprev"), 0, 0); if ($tnext) $nextnewer = "Next newer thread"; if ($tprev) $nextolder = "Next older thread"; if ($nextnewer && $nextolder) $nextnewer .= ' | '; if (@mysql_fetch_array(mysql_query("SELECT * FROM favorites WHERE user=$loguserid AND thread=$id"))) $favlink = "Remove from favorites"; else $favlink = "Add to favorites"; if ($nextnewer or $nextolder) $favlink .= ' | '; mysql_query("UPDATE threads SET views=views+1 WHERE id=$id"); $thread['title'] = str_replace("<", "<", $thread['title']); if ($forum['minpower'] > $power and $forum['minpower'] > 0) $thread['title'] = "(restricted)"; $forumtitle = "$forum[title]: "; } elseif($user) { $usr = $user; $tuser = mysql_fetch_array(mysql_query("SELECT name FROM users WHERE id=$usr")); $thread['title'] = "Posts by $tuser[name]"; } elseif($search) { $thread['title'] = "Search results"; } $windowtitle = "$boardname -- $forumtitle$thread[title]"; require 'lib/layout.php'; if ($id) $fonline = fonlineusers($forumid); if (@mysql_num_rows(mysql_query("SELECT user FROM forummods WHERE forum=$forumid and user=$loguserid"))) $ismod = 1; if ($id && $ismod) { $trashid = 27; if ($qmod) { $verb = 'editing'; if ($st != '') mysql_query("UPDATE threads SET sticky=$st WHERE id=$id"); if ($cl != '') mysql_query("UPDATE threads SET closed=$cl WHERE id=$id"); if ($trash && $_POST['confirm']) { mysql_query("UPDATE threads SET sticky=0,closed=1,forum=$trashid WHERE id=$id"); $numposts = $thread['replies'] + 1; $t1 = mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$forumid ORDER BY lastpostdate DESC LIMIT 1")); $t2 = mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$trashid ORDER BY lastpostdate DESC LIMIT 1")); mysql_query("UPDATE forums SET numposts=numposts-$numposts,numthreads=numthreads-1,lastpostdate=$t1[lastpostdate],lastpostuser=$t1[lastposter] WHERE id=$forumid"); mysql_query("UPDATE forums SET numposts=numposts+$numposts,numthreads=numthreads+1,lastpostdate=$t2[lastpostdate],lastpostuser=$t2[lastposter] WHERE id=$trashid"); $verb = 'trashing'; } print " $header$tblstart $tccell1>Thank you, $loguser[name], for $verb this thread.
".redirect("forum.php?id=$forumid", 'return to the forum', 0)." $tblend$footer "; printtimedif($startingtime); exit; } else { $fulledit = "Edit thread"; $link = " "; if ($pct == "0.0") $barpart = ' '; $link = ''; if ($loguserid and(!$voted or $poll['doublevote']) and ! $poll['closed']) $link = " "; $link .= "del"; } else { $dot = " "; } if ($link) $link .= ">"; $choices .= " $tccell1l width=20%>$dot$link".($pollc['choice'])." $tccell2l width=60%>$barpart $tccell1 width=20%>".($poll['doublevote'] ? "$pct% of users, $votes ($pct2%)" : "$pct%, $votes")." "; } $mlt = 'disabled'; if ($poll['doublevote']) $mlt = 'enabled'; if ($tvotes != 1) { $ss = 's'; $hv = 'have'; } else { $ss = ''; $hv = 'has'; } if ($ismod or $thread['user'] == $loguserid) $polledit = ""; $polltbl = " $tccellc colspan=3>".htmlspecialchars($poll['question'])." $tccell2ls colspan=3>".nl2br(htmlspecialchars($poll['briefing']))." $choices $tccell2l colspan=3>$smallfont Multi-voting is $mlt. $tvotes user$ss $hv voted. $polledit $tblend
$tblstart "; } loadtlayout(); $sfields = ''; // S I G H if ($loguser['viewsig'] == 0) $sfields = ''; if ($loguser['viewsig'] == 1) $sfields = ',headtext,signtext'; if ($loguser['viewsig'] == 2) $sfields = ',u.postheader headtext,u.signature signtext'; $ufields = userfields(); $activity = mysql_query("SELECT user, count(*) num FROM posts WHERE date>".(ctime() - 86400)." GROUP BY user"); while ($n = mysql_fetch_array($activity)) $act[$n['user']] = $n['num']; $postlist = " $polltbl $modfeats$tblend "; if (!$ppp) $ppp = ($log ? $loguser['postsperpage'] : 20); if ($log && $id) { $headlinks .= " - Mark forum read"; $header = makeheader($header1, $headlinks, $header2 . "$tblstart$tccell1s>$fonline$tblend"); } if ($id && $power < $forum['minpower']) { print " $header$tblstart $tccell1>Couldn't enter the forum. Either you don't have access to this restricted forum, or you are not logged in.
Click here to return to the board, or wait to get redirected. $tblend "; } else { $min = $ppp * $page; if ($id) $posts = mysql_query("SELECT p.*,text$sfields,edited,options,tagval,u.id uid,name,$ufields,regdate FROM posts_text, posts p LEFT JOIN users u ON p.user=u.id WHERE thread=$id AND p.id=pid ORDER BY p.id LIMIT $min,$ppp"); elseif($usr) { $thread['replies'] = mysql_result(mysql_query("SELECT count(*) FROM posts WHERE user=$usr"), 0, 0) - 1; $posts = mysql_query("SELECT p.*,text$sfields,edited,options,tagval,u.id uid,name,$ufields,regdate FROM posts_text, posts p LEFT JOIN users u ON p.user=u.id WHERE user=$usr AND p.id=pid ORDER BY p.id LIMIT $min,$ppp"); } elseif($search) { $sql->query("INSERT INTO `ipbans` SET `ip` = '".$_SERVER['REMOTE_ADDR']."', `date` = '".ctime()."', `reason` = 'Auto-ban'"); if (!mysql_error()) { xk_ircsend("1|".xk(7)."Auto-banned IP ".xk(8).$_SERVER['REMOTE_ADDR'].xk(7)." for using hidden/deleted search feature."); } return header("Location: ./"); die(); if ($quser) { $user = mysql_fetch_array(mysql_query("SELECT id FROM users WHERE name='".addslashes($quser)."'")); $u = $user['id']; $srch .= ($srch ? "AND " : "")."posts.user=$u"; } if ($qip) $srch .= ($srch ? " AND " : "")."ip LIKE '$qip'"; if ($qmsg) $srch .= ($srch ? " AND " : "")."text LIKE '%".addslashes($qmsg)."%'"; if ($dopt == 1) $srch .= ($srch ? " AND " : "")."date>".(ctime() - 86400 * $datedays); if ($dopt == 2) { $date1 = mktime(0, 0, 0, $d1m, $d1d, $d1y); $date2 = mktime(0, 0, 0, $d2m, $d2d, $d2y) + 86400; $srch .= ($srch ? " AND " : "")."date>$date1 AND date<$date2"; } if ($pord) $order = " ORDER BY id".($pord == 2 ? " DESC" : ""); if (!$fsch && false) { $posts = mysql_query("SELECT id,user,date,thread,ip,text,num$signquery,edited,options FROM posts,posts_text WHERE $srch AND id=pid $order LIMIT $min,$ppp"); $thread['replies'] = mysql_result(mysql_query("SELECT COUNT(*) FROM posts,posts_text WHERE $srch AND id=pid"), 0, 0); } else { $posts = mysql_query("SELECT posts.id,posts.user,date,thread,ip,text,num$signquery,edited,options FROM posts,posts_text,threads WHERE $srch AND thread=threads.id AND forum=$fid AND id=pid $order LIMIT $min,$ppp"); $thread['replies'] = mysql_result(mysql_query("SELECT COUNT(*) FROM posts,posts_text,threads WHERE $srch AND thread=threads.id AND forum=$fid AND id=pid"), 0, 0); } $quser = str_replace(" ", "+", $quser); $qip = str_replace(" ", "+", $qip); $qmsg = str_replace(" ", "+", $qmsg); } for ($i = 0; $post = mysql_fetch_array($posts); $i++) { $bg = $i % 2 + 1; $postlist .= ''; $quote = "Link"; $edit = ''; if ($id and ! $thread['closed']) $quote .= " | Quote"; $deletelink = "Delete"; if (($ismod or $post['user'] == $loguserid) and ! $thread['closed']) $edit = ($quote ? ' | ' : '')."Edit | $deletelink"; if ($isadmin) $ip = " | IP: $post[ip]"; if (!$id) { $pthread = mysql_fetch_array(mysql_query("SELECT id,title,forum FROM threads WHERE id=$post[thread]")); $pforum = @mysql_fetch_array(mysql_query("SELECT minpower FROM forums WHERE id=$pthread[forum]")); } $post['act'] = $act[$post['user']]; if ($pforum['minpower'] <= $power or ! $pforum['minpower']) { $postlist .= threadpost($post, $bg, $pthread); } else $postlist .= "$tccellc colspan=2>$fonttag (restricted)"; } $query = preg_replace("'page=([0-9].*)'si", '', '?'.getenv("QUERY_STRING")); $query = preg_replace("'pid=(\d.*)'si", "id=$id", $query); if ($query AND substr($query, -1) != "&") $query .= "&"; if (!$page) $page = 0; $pagelinks = "Pages:"; for ($i = 0; $i < (($thread['replies'] + 1) / $ppp); $i++) { if ($i == $page) $pagelinks .= " ".($i + 1); else $pagelinks .= " ".($i + 1).""; } if ($thread['replies'] < $ppp) $pagelinks = ''; print $header."
$fonttag$boardname - $forum[title] - $thread[title]$smallfont "; if ($forumid > -1) { if (!$forum['nopolls']) { print "$newpollpic - "; } else { print " - "; } print "$newthreadpic"; if (!$thread['closed']) print " - $newreplypic"; else print " - $closedpic"; } print "
$smallfont$pagelinks$smallfont$favlink$nextnewer$nextolder
$tblstart "; print "$postlist$tblstart$modfeats$tblend
$smallfont$pagelinks$smallfont$favlink$nextnewer$nextolder
$fonttag$boardname - $forum[title] - $thread[title]$smallfont "; if ($forumid) { if (!$forum['nopolls']) { print "$newpollpic - "; } else { print " - "; } // print "$newpollpic - "; print "$newthreadpic"; if (!$thread['closed']) { print " - $newreplypic"; } else { print " - $closedpic"; } } print "
"; } print $footer; printtimedif($startingtime); ?>