Zeile 6 | Zeile 6 |
---|
* Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* $Id: forumdisplay.php 4276 2008-11-23 03:01:33Z Tikitiki $
| * $Id: forumdisplay.php 4536 2009-11-25 06:34:47Z RyanGordon $
|
*/
define("IN_MYBB", 1);
| */
define("IN_MYBB", 1);
|
Zeile 69 | Zeile 69 |
---|
$currentitem = $fid; build_forum_breadcrumb($fid); $parentlist = $foruminfo['parentlist'];
|
$currentitem = $fid; build_forum_breadcrumb($fid); $parentlist = $foruminfo['parentlist'];
|
| // To validate, turn & to & but keep unicode support $foruminfo['name'] = preg_replace("#&(?!\#[0-9]+;)#si", "&", $foruminfo['name']);
|
$forumpermissions = forum_permissions(); $fpermissions = $forumpermissions[$fid];
| $forumpermissions = forum_permissions(); $fpermissions = $forumpermissions[$fid];
|
Zeile 214 | Zeile 217 |
---|
while($user = $db->fetch_array($query)) { if($user['uid'] == 0)
|
while($user = $db->fetch_array($query)) { if($user['uid'] == 0)
|
{
| {
|
++$guestcount; } else
| ++$guestcount; } else
|
Zeile 250 | Zeile 253 |
---|
} if($guestcount && $onlinemembers)
|
} if($guestcount && $onlinemembers)
|
{
| {
|
$onlinesep = ", ";
|
$onlinesep = ", ";
|
}
| }
|
$invisonline = ''; if($inviscount && $mybb->usergroup['canviewwolinvis'] != 1 && ($inviscount != 1 && $mybb->user['invisible'] != 1)) { $invisonline = $lang->sprintf($lang->users_browsing_forum_invis, $inviscount);
|
$invisonline = ''; if($inviscount && $mybb->usergroup['canviewwolinvis'] != 1 && ($inviscount != 1 && $mybb->user['invisible'] != 1)) { $invisonline = $lang->sprintf($lang->users_browsing_forum_invis, $inviscount);
|
}
| }
|
if($invisonline != '' && ($guestcount || $onlinemembers)) { $onlinesep2 = ", ";
| if($invisonline != '' && ($guestcount || $onlinemembers)) { $onlinesep2 = ", ";
|
Zeile 287 | Zeile 290 |
---|
if($foruminfo['rulestype'] == 1) { eval("\$rules = \"".$templates->get("forumdisplay_rules")."\";");
|
if($foruminfo['rulestype'] == 1) { eval("\$rules = \"".$templates->get("forumdisplay_rules")."\";");
|
}
| }
|
else if($foruminfo['rulestype'] == 2) { eval("\$rules = \"".$templates->get("forumdisplay_rules_link")."\";");
|
else if($foruminfo['rulestype'] == 2) { eval("\$rules = \"".$templates->get("forumdisplay_rules_link")."\";");
|
} }
$bgcolor = "trow1";
| } }
$bgcolor = "trow1";
|
// Set here to fetch only approved topics (and then below for a moderator we change this). $visibleonly = "AND visible='1'"; $tvisibleonly = "AND t.visible='1'";
| // Set here to fetch only approved topics (and then below for a moderator we change this). $visibleonly = "AND visible='1'"; $tvisibleonly = "AND t.visible='1'";
|
Zeile 331 | Zeile 334 |
---|
// First, the date cut for the threads. $datecut = 0; if(!$mybb->input['datecut'])
|
// First, the date cut for the threads. $datecut = 0; if(!$mybb->input['datecut'])
|
{
| {
|
// If the user manually set a date cut, use it. if($mybb->user['daysprune']) {
| // If the user manually set a date cut, use it. if($mybb->user['daysprune']) {
|
Zeile 359 | Zeile 362 |
---|
$checkdate = TIME_NOW - ($datecut * 86400); $datecutsql = "AND (lastpost >= '$checkdate' OR sticky = '1')"; $datecutsql2 = "AND (t.lastpost >= '$checkdate' OR t.sticky = '1')";
|
$checkdate = TIME_NOW - ($datecut * 86400); $datecutsql = "AND (lastpost >= '$checkdate' OR sticky = '1')"; $datecutsql2 = "AND (t.lastpost >= '$checkdate' OR t.sticky = '1')";
|
} else
| } else
|
{ $datecutsql = ''; $datecutsql2 = '';
| { $datecutsql = ''; $datecutsql2 = '';
|
Zeile 441 | Zeile 444 |
---|
} eval("\$orderarrow['$sortby'] = \"".$templates->get("forumdisplay_orderarrow")."\";");
|
} eval("\$orderarrow['$sortby'] = \"".$templates->get("forumdisplay_orderarrow")."\";");
|
// How many posts are there? if($datecut > 0) { $query = $db->simple_select("threads", "COUNT(tid) AS threads", "fid = '$fid' $visibleonly $datecutsql"); $threadcount = $db->fetch_field($query, "threads"); } else { $query = $db->simple_select("forums", "threads, unapprovedthreads", "fid = '{$fid}'", array('limit' => 1)); $forum_threads = $db->fetch_array($query); $threadcount = $forum_threads['threads']; if($ismod == true) { $threadcount += $forum_threads['unapprovedthreads']; } // If we have 0 threads double check there aren't any "moved" threads if($threadcount == 0) { $query = $db->simple_select("threads", "COUNT(tid) AS threads", "fid = '$fid' $visibleonly", array('limit' => 1));
| $threadcount = 0;
if($fpermissions['canviewthreads'] != 0) { // How many posts are there? if($datecut > 0) { $query = $db->simple_select("threads", "COUNT(tid) AS threads", "fid = '$fid' $visibleonly $datecutsql");
|
$threadcount = $db->fetch_field($query, "threads");
|
$threadcount = $db->fetch_field($query, "threads");
|
| } else { $query = $db->simple_select("forums", "threads, unapprovedthreads", "fid = '{$fid}'", array('limit' => 1)); $forum_threads = $db->fetch_array($query); $threadcount = $forum_threads['threads']; if($ismod == true) { $threadcount += $forum_threads['unapprovedthreads']; } // If we have 0 threads double check there aren't any "moved" threads if($threadcount == 0) { $query = $db->simple_select("threads", "COUNT(tid) AS threads", "fid = '$fid' $visibleonly", array('limit' => 1)); $threadcount = $db->fetch_field($query, "threads"); }
|
} }
| } }
|
Zeile 480 | Zeile 488 |
---|
$pages = $threadcount / $perpage; $pages = ceil($pages); if($page > $pages || $page <= 0)
|
$pages = $threadcount / $perpage; $pages = ceil($pages); if($page > $pages || $page <= 0)
|
{
| {
|
$start = 0; $page = 1; }
| $start = 0; $page = 1; }
|
Zeile 494 | Zeile 502 |
---|
$end = $start + $perpage; $lower = $start + 1; $upper = $end;
|
$end = $start + $perpage; $lower = $start + 1; $upper = $end;
|
|
|
if($upper > $threadcount) { $upper = $threadcount;
| if($upper > $threadcount) { $upper = $threadcount;
|
Zeile 509 | Zeile 517 |
---|
{ $q = "?"; $and = '';
|
{ $q = "?"; $and = '';
|
} else { $q = ''; $and = "&"; }
| } else { $q = ''; $and = "&"; }
|
if($sortby != "lastpost") { $page_url .= "{$q}{$and}sortby={$sortby}";
|
if($sortby != "lastpost") { $page_url .= "{$q}{$and}sortby={$sortby}";
|
$q = '';
| $q = '';
|
$and = "&"; }
| $and = "&"; }
|
Zeile 534 | Zeile 542 |
---|
{ $page_url .= "{$q}{$and}datecut={$datecut}"; }
|
{ $page_url .= "{$q}{$and}datecut={$datecut}"; }
|
}
| }
|
else { $page_url = str_replace("{fid}", $fid, FORUM_URL_PAGED); } $multipage = multipage($threadcount, $perpage, $page, $page_url);
|
else { $page_url = str_replace("{fid}", $fid, FORUM_URL_PAGED); } $multipage = multipage($threadcount, $perpage, $page, $page_url);
|
if($foruminfo['allowtratings'] != 0)
| if($foruminfo['allowtratings'] != 0 && $fpermissions['canviewthreads'] != 0)
|
{ $lang->load("ratethread"); switch($db->type) { case "pgsql":
|
{ $lang->load("ratethread"); switch($db->type) { case "pgsql":
|
$ratingadd = ''; $query = $db->query(" SELECT t.numratings, t.totalratings, t.tid FROM ".TABLE_PREFIX."threads t WHERE t.fid='$fid' $tvisibleonly $datecutsql2 ORDER BY t.sticky DESC, t.$sortfield $sortordernow $sortfield2 LIMIT $start, $perpage "); while($thread = $db->fetch_array($query)) { if($thread['totalratings'] == 0) { $rating = 0; } else { $rating = $thread['totalratings'] / $thread['numratings']; }
$avaragerating[$thread['tid']] = $rating; } $t = "t."; $sortfield = "lastpost";
| $ratingadd = "CASE WHEN t.numratings=0 THEN 0 ELSE t.totalratings/t.numratings::numeric END AS averagerating, ";
|
break; default: $ratingadd = "(t.totalratings/t.numratings) AS averagerating, ";
| break; default: $ratingadd = "(t.totalratings/t.numratings) AS averagerating, ";
|
Zeile 615 | Zeile 601 |
---|
WHERE a.startdate<='$time' AND (a.enddate>='$time' OR a.enddate='0') AND ($sql OR fid='-1') ORDER BY a.startdate DESC $limit ");
|
WHERE a.startdate<='$time' AND (a.enddate>='$time' OR a.enddate='0') AND ($sql OR fid='-1') ORDER BY a.startdate DESC $limit ");
|
| $bgcolor = alt_trow(true); // Reset the trow colours
|
while($announcement = $db->fetch_array($query)) { if($announcement['startdate'] > $mybb->user['lastvisit'])
| while($announcement = $db->fetch_array($query)) { if($announcement['startdate'] > $mybb->user['lastvisit'])
|
Zeile 668 | Zeile 655 |
---|
$icon_cache = $cache->read("posticons");
|
$icon_cache = $cache->read("posticons");
|
// Start Getting Threads $query = $db->query(" SELECT t.*, {$ratingadd}{$select_rating_user}t.username AS threadusername, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid){$select_voting} WHERE t.fid='$fid' $tvisibleonly $datecutsql2 ORDER BY t.sticky DESC, {$t}{$sortfield} $sortordernow $sortfield2 LIMIT $start, $perpage "); while($thread = $db->fetch_array($query))
| if($fpermissions['canviewthreads'] != 0)
|
{
|
{
|
if($db->type == "pgsql")
| // Start Getting Threads $query = $db->query(" SELECT t.*, {$ratingadd}{$select_rating_user}t.username AS threadusername, u.username FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid){$select_voting} WHERE t.fid='$fid' $tvisibleonly $datecutsql2 ORDER BY t.sticky DESC, {$t}{$sortfield} $sortordernow $sortfield2 LIMIT $start, $perpage "); while($thread = $db->fetch_array($query))
|
{
|
{
|
$thread['averagerating'] = $averagerating[$thread['tid']]; }
| $threadcache[$thread['tid']] = $thread;
|
|
|
$threadcache[$thread['tid']] = $thread;
// If this is a moved thread - set the tid for participation marking and thread read marking to that of the moved thread if(substr($thread['closed'], 0, 5) == "moved") { $tid = substr($thread['closed'], 6); if(!$tids[$tid])
| // If this is a moved thread - set the tid for participation marking and thread read marking to that of the moved thread if(substr($thread['closed'], 0, 5) == "moved")
|
{
|
{
|
$moved_threads[$tid] = $thread['tid']; $tids[$thread['tid']] = $tid; } } // Otherwise - set it to the plain thread ID else { $tids[$thread['tid']] = $thread['tid']; if($moved_threads[$tid]) { unset($moved_threads[$tid]);
| $tid = substr($thread['closed'], 6); if(!$tids[$tid]) { $moved_threads[$tid] = $thread['tid']; $tids[$thread['tid']] = $tid; } } // Otherwise - set it to the plain thread ID else { $tids[$thread['tid']] = $thread['tid']; if($moved_threads[$tid]) { unset($moved_threads[$tid]); }
|
} }
|
} }
|
| } else { $tids = $threadcache = null;
|
}
if($tids)
| }
if($tids)
|
Zeile 837 | Zeile 826 |
---|
else { $thread['averagerating'] = floatval(round($thread['averagerating'], 2));
|
else { $thread['averagerating'] = floatval(round($thread['averagerating'], 2));
|
$thread['width'] = intval($thread['averagerating'])*20;
| $thread['width'] = intval(round($thread['averagerating']))*20;
|
$thread['numratings'] = intval($thread['numratings']);
$not_rated = '';
| $thread['numratings'] = intval($thread['numratings']);
$not_rated = '';
|