Zeile 282 | Zeile 282 |
---|
$inviscount = 0; $onlinemembers = ''; $doneusers = array();
|
$inviscount = 0; $onlinemembers = ''; $doneusers = array();
|
| $query = $db->simple_select("sessions", "COUNT(DISTINCT ip) AS guestcount", "uid = 0 AND time > $timecut AND location1 = $fid AND nopermission != 1"); $guestcount = $db->fetch_field($query, 'guestcount');
|
$query = $db->query("
|
$query = $db->query("
|
SELECT s.ip, s.uid, u.username, s.time, u.invisible, u.usergroup, u.usergroup, u.displaygroup FROM ".TABLE_PREFIX."sessions s LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid) WHERE s.time > '$timecut' AND location1='$fid' AND nopermission != 1
| SELECT s.ip, s.uid, u.username, s.time, u.invisible, u.usergroup, u.usergroup, u.displaygroup FROM ".TABLE_PREFIX."sessions s LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid) WHERE s.uid != 0 AND s.time > $timecut AND location1 = $fid AND nopermission != 1
|
ORDER BY u.username ASC, s.time DESC ");
while($user = $db->fetch_array($query)) {
|
ORDER BY u.username ASC, s.time DESC ");
while($user = $db->fetch_array($query)) {
|
if($user['uid'] == 0)
| if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
|
{
|
{
|
++$guestcount; } else { if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
| $doneusers[$user['uid']] = $user['time']; ++$membercount; if($user['invisible'] == 1)
|
{
|
{
|
$doneusers[$user['uid']] = $user['time']; ++$membercount; if($user['invisible'] == 1) { $invisiblemark = "*"; ++$inviscount; } else { $invisiblemark = ''; }
| $invisiblemark = "*"; ++$inviscount; } else { $invisiblemark = ''; }
|
|
|
if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) { $user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']); $user['profilelink'] = build_profile_link($user['username'], $user['uid']); eval("\$onlinemembers .= \"".$templates->get("forumdisplay_usersbrowsing_user", 1, 0)."\";"); $comma = $lang->comma; } }
| if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) { $user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']); $user['profilelink'] = build_profile_link($user['username'], $user['uid']); eval("\$onlinemembers .= \"".$templates->get("forumdisplay_usersbrowsing_user", 1, 0)."\";"); $comma = $lang->comma; }
|
}
|
}
|
}
| }
|
$guestsonline = ''; if($guestcount)
|
$guestsonline = ''; if($guestcount)
|
{
| {
|
$guestsonline = $lang->sprintf($lang->users_browsing_forum_guests, $guestcount); }
$invisonline = ''; if($mybb->user['invisible'] == 1)
|
$guestsonline = $lang->sprintf($lang->users_browsing_forum_guests, $guestcount); }
$invisonline = ''; if($mybb->user['invisible'] == 1)
|
{
| {
|
// the user was counted as invisible user --> correct the inviscount $inviscount -= 1;
|
// the user was counted as invisible user --> correct the inviscount $inviscount -= 1;
|
}
| }
|
if($inviscount && $mybb->usergroup['canviewwolinvis'] != 1)
|
if($inviscount && $mybb->usergroup['canviewwolinvis'] != 1)
|
{
| {
|
$invisonline = $lang->sprintf($lang->users_browsing_forum_invis, $inviscount);
|
$invisonline = $lang->sprintf($lang->users_browsing_forum_invis, $inviscount);
|
}
| }
|
$onlinesep = ''; if($invisonline != '' && $onlinemembers) { $onlinesep = $lang->comma;
|
$onlinesep = ''; if($invisonline != '' && $onlinemembers) { $onlinesep = $lang->comma;
|
}
| }
|
$onlinesep2 = ''; if($invisonline != '' && $guestcount || $onlinemembers && $guestcount) {
| $onlinesep2 = ''; if($invisonline != '' && $guestcount || $onlinemembers && $guestcount) {
|
Zeile 360 | Zeile 358 |
---|
// Do we have any forum rules to show for this forum? $forumrules = ''; if($foruminfo['rulestype'] != 0 && $foruminfo['rules'])
|
// Do we have any forum rules to show for this forum? $forumrules = ''; if($foruminfo['rulestype'] != 0 && $foruminfo['rules'])
|
{
| {
|
if(!$foruminfo['rulestitle']) { $foruminfo['rulestitle'] = $lang->sprintf($lang->forum_rules, $foruminfo['name']);
| if(!$foruminfo['rulestitle']) { $foruminfo['rulestitle'] = $lang->sprintf($lang->forum_rules, $foruminfo['name']);
|
Zeile 387 | Zeile 385 |
---|
$bgcolor = "trow1";
// Set here to fetch only approved/deleted topics (and then below for a moderator we change this).
|
$bgcolor = "trow1";
// Set here to fetch only approved/deleted topics (and then below for a moderator we change this).
|
| $visible_states = array("1");
|
if($fpermissions['canviewdeletionnotice'] != 0) {
|
if($fpermissions['canviewdeletionnotice'] != 0) {
|
$visibleonly = "AND visible IN (-1,1)"; $tvisibleonly = "AND t.visible IN (-1,1)"; } else { $visibleonly = "AND visible='1'"; $tvisibleonly = "AND t.visible='1'";
| $visible_states[] = "-1";
|
}
// Check if the active user is a moderator and get the inline moderation tools.
| }
// Check if the active user is a moderator and get the inline moderation tools.
|
Zeile 407 | Zeile 401 |
---|
$inlinemod = ''; $inlinecookie = "inlinemod_forum".$fid;
|
$inlinemod = ''; $inlinecookie = "inlinemod_forum".$fid;
|
if(is_moderator($fid, "canviewdeleted") == true || is_moderator($fid, "canviewunapprove") == true)
| if(is_moderator($fid, "canviewdeleted") == true)
|
{
|
{
|
if(is_moderator($fid, "canviewunapprove") == true && is_moderator($fid, "canviewdeleted") == false) { $visibleonly = "AND visible IN (0,1)"; $tvisibleonly = "AND t.visible IN (0,1)"; } elseif(is_moderator($fid, "canviewdeleted") == true && is_moderator($fid, "canviewunapprove") == false) { $visibleonly = "AND visible IN (-1,1)"; $tvisibleonly = "AND t.visible IN (-1,1)"; } else { $visibleonly = " AND visible IN (-1,0,1)"; $tvisibleonly = " AND t.visible IN (-1,0,1)"; }
| $visible_states[] = "-1";
|
}
|
}
|
}
| if(is_moderator($fid, "canviewunapprove") == true) { $visible_states[] = "0"; } }
|
else
|
else
|
{
| {
|
$inlinemod = $inlinemodcol = ''; $ismod = false; }
|
$inlinemod = $inlinemodcol = ''; $ismod = false; }
|
| $visible_condition = "visible IN (".implode(',', array_unique($visible_states)).")"; $visibleonly = "AND ".$visible_condition;
// Allow viewing own unapproved threads for logged in users if($mybb->user['uid'] && $mybb->settings['showownunapproved']) { $visible_condition .= " OR (t.visible=0 AND t.uid=".(int)$mybb->user['uid'].")"; }
$tvisibleonly = "AND (t.".$visible_condition.")";
|
if(is_moderator($fid, "caneditposts") || $fpermissions['caneditposts'] == 1) {
| if(is_moderator($fid, "caneditposts") || $fpermissions['caneditposts'] == 1) {
|
Zeile 612 | Zeile 607 |
---|
if($fpermissions['canviewthreads'] != 0) { // How many threads are there?
|
if($fpermissions['canviewthreads'] != 0) { // How many threads are there?
|
$query = $db->simple_select("threads", "COUNT(tid) AS threads", "fid = '$fid' $useronly $visibleonly $datecutsql $prefixsql");
| $query = $db->simple_select("threads t", "COUNT(tid) AS threads", "fid = '$fid' $tuseronly $tvisibleonly $datecutsql2 $prefixsql2");
|
$threadcount = $db->fetch_field($query, "threads"); }
| $threadcount = $db->fetch_field($query, "threads"); }
|
Zeile 758 | Zeile 753 |
---|
// See if this announcement has been read in our announcement array $cookie = array(); if(isset($mybb->cookies['mybb']['announcements']))
|
// See if this announcement has been read in our announcement array $cookie = array(); if(isset($mybb->cookies['mybb']['announcements']))
|
{
| {
|
$cookie = my_unserialize(stripslashes($mybb->cookies['mybb']['announcements'])); }
| $cookie = my_unserialize(stripslashes($mybb->cookies['mybb']['announcements'])); }
|
Zeile 770 | Zeile 765 |
---|
{ $new_class = ' class="subject_new"'; $folder = "newfolder";
|
{ $new_class = ' class="subject_new"'; $folder = "newfolder";
|
}
| }
|
else { $new_class = ' class="subject_old"'; $folder = "folder";
|
else { $new_class = ' class="subject_old"'; $folder = "folder";
|
}
| }
|
// Mmm, eat those announcement cookies if they're older than our last visit if(isset($cookie[$announcement['aid']]) && $cookie[$announcement['aid']] < $mybb->user['lastvisit']) { unset($cookie[$announcement['aid']]); }
|
// Mmm, eat those announcement cookies if they're older than our last visit if(isset($cookie[$announcement['aid']]) && $cookie[$announcement['aid']] < $mybb->user['lastvisit']) { unset($cookie[$announcement['aid']]); }
|
|
|
$announcement['announcementlink'] = get_announcement_link($announcement['aid']); $announcement['subject'] = $parser->parse_badwords($announcement['subject']); $announcement['subject'] = htmlspecialchars_uni($announcement['subject']); $postdate = my_date('relative', $announcement['startdate']);
|
$announcement['announcementlink'] = get_announcement_link($announcement['aid']); $announcement['subject'] = $parser->parse_badwords($announcement['subject']); $announcement['subject'] = htmlspecialchars_uni($announcement['subject']); $postdate = my_date('relative', $announcement['startdate']);
|
$announcement['username'] = htmlspecialchars_uni($announcement['username']);
| $announcement['username'] = htmlspecialchars_uni($announcement['username']);
|
$announcement['profilelink'] = build_profile_link($announcement['username'], $announcement['uid']);
if($mybb->settings['allowthreadratings'] != 0 && $foruminfo['allowtratings'] != 0 && $fpermissions['canviewthreads'] != 0)
|
$announcement['profilelink'] = build_profile_link($announcement['username'], $announcement['uid']);
if($mybb->settings['allowthreadratings'] != 0 && $foruminfo['allowtratings'] != 0 && $fpermissions['canviewthreads'] != 0)
|
{
| {
|
eval("\$rating = \"".$templates->get("forumdisplay_announcement_rating")."\";"); $lpbackground = "trow2";
|
eval("\$rating = \"".$templates->get("forumdisplay_announcement_rating")."\";"); $lpbackground = "trow2";
|
} else
| } else
|
{ $rating = ''; $lpbackground = "trow1";
|
{ $rating = ''; $lpbackground = "trow1";
|
}
| }
|
if($ismod) {
| if($ismod) {
|
Zeile 810 | Zeile 805 |
---|
else { $modann = '';
|
else { $modann = '';
|
}
| }
|
$plugins->run_hooks("forumdisplay_announcement"); eval("\$announcements .= \"".$templates->get("forumdisplay_announcements_announcement")."\";"); $bgcolor = alt_trow();
| $plugins->run_hooks("forumdisplay_announcement"); eval("\$announcements .= \"".$templates->get("forumdisplay_announcements_announcement")."\";"); $bgcolor = alt_trow();
|
Zeile 844 | Zeile 839 |
---|
if($fpermissions['canviewthreads'] != 0) { $plugins->run_hooks("forumdisplay_get_threads");
|
if($fpermissions['canviewthreads'] != 0) { $plugins->run_hooks("forumdisplay_get_threads");
|
// Allow viewing unapproved threads for logged in users if($mybb->user['uid'] && $mybb->settings['showownunapproved']) { $tvisibleonly .= " OR (t.fid='$fid' AND t.uid=".$mybb->user['uid'].")"; }
| |
// Start Getting Threads $query = $db->query("
| // Start Getting Threads $query = $db->query("
|
Zeile 892 | Zeile 881 |
---|
} } }
|
} } }
|
| $args = array( 'threadcache' => &$threadcache, 'tids' => &$tids );
$plugins->run_hooks("forumdisplay_before_thread", $args);
|
if($mybb->settings['allowthreadratings'] != 0 && $foruminfo['allowtratings'] != 0 && $mybb->user['uid'] && !empty($threadcache) && $ratings == true) {
| if($mybb->settings['allowthreadratings'] != 0 && $foruminfo['allowtratings'] != 0 && $mybb->user['uid'] && !empty($threadcache) && $ratings == true) {
|
Zeile 899 | Zeile 895 |
---|
// Guests get the pleasure of not being ID'd, but will be checked when they try and rate $imp = implode(",", array_keys($threadcache)); $query = $db->simple_select("threadratings", "tid, uid", "tid IN ({$imp}) AND uid = '{$mybb->user['uid']}'");
|
// Guests get the pleasure of not being ID'd, but will be checked when they try and rate $imp = implode(",", array_keys($threadcache)); $query = $db->simple_select("threadratings", "tid, uid", "tid IN ({$imp}) AND uid = '{$mybb->user['uid']}'");
|
|
|
while($rating = $db->fetch_array($query)) { $threadcache[$rating['tid']]['rated'] = 1;
|
while($rating = $db->fetch_array($query)) { $threadcache[$rating['tid']]['rated'] = 1;
|
} } }
| } } }
|
// If user has moderation tools available, prepare the Select All feature $selectall = ''; if(is_moderator($fid) && $threadcount > $perpage)
| // If user has moderation tools available, prepare the Select All feature $selectall = ''; if(is_moderator($fid) && $threadcount > $perpage)
|
Zeile 998 | Zeile 994 |
---|
$moved = explode("|", $thread['closed']);
if($thread['visible'] == 0)
|
$moved = explode("|", $thread['closed']);
if($thread['visible'] == 0)
|
{
| {
|
$bgcolor = "trow_shaded"; } elseif($thread['visible'] == -1 && is_moderator($fid, "canviewdeleted"))
| $bgcolor = "trow_shaded"; } elseif($thread['visible'] == -1 && is_moderator($fid, "canviewdeleted"))
|
Zeile 1052 | Zeile 1048 |
---|
}
$thread['subject'] = $parser->parse_badwords($thread['subject']);
|
}
$thread['subject'] = $parser->parse_badwords($thread['subject']);
|
$thread['subject'] = htmlspecialchars_uni($thread['subject']);
| $thread['subject'] = htmlspecialchars_uni($thread['subject']);
|
if($thread['icon'] > 0 && $icon_cache[$thread['icon']]) {
| if($thread['icon'] > 0 && $icon_cache[$thread['icon']]) {
|
Zeile 1343 | Zeile 1339 |
---|
} else {
|
} else {
|
| $thread['start_datetime'] = my_date('relative', $thread['dateline']);
|
eval("\$threads .= \"".$templates->get("forumdisplay_thread")."\";");
|
eval("\$threads .= \"".$templates->get("forumdisplay_thread")."\";");
|
}
| }
|
}
|
}
|
|
|
$customthreadtools = $standardthreadtools = ''; if($ismod) {
| $customthreadtools = $standardthreadtools = ''; if($ismod) {
|
Zeile 1361 | Zeile 1358 |
---|
{ case "pgsql": case "sqlite":
|
{ case "pgsql": case "sqlite":
|
foreach($gids as $gid) {
| foreach($gids as $gid) {
|
$gid = (int)$gid; $gidswhere .= " OR ','||groups||',' LIKE '%,{$gid},%'"; }
| $gid = (int)$gid; $gidswhere .= " OR ','||groups||',' LIKE '%,{$gid},%'"; }
|
Zeile 1398 | Zeile 1395 |
---|
}
if(is_moderator($fid, "canstickunstickthreads"))
|
}
if(is_moderator($fid, "canstickunstickthreads"))
|
{
| {
|
eval("\$inlinemodstickunstick = \"".$templates->get("forumdisplay_inlinemoderation_stickunstick")."\";");
|
eval("\$inlinemodstickunstick = \"".$templates->get("forumdisplay_inlinemoderation_stickunstick")."\";");
|
}
| }
|
if(is_moderator($fid, "cansoftdeletethreads")) { eval("\$inlinemodsoftdelete = \"".$templates->get("forumdisplay_inlinemoderation_softdelete")."\";");
|
if(is_moderator($fid, "cansoftdeletethreads")) { eval("\$inlinemodsoftdelete = \"".$templates->get("forumdisplay_inlinemoderation_softdelete")."\";");
|
}
| }
|
if(is_moderator($fid, "canrestorethreads"))
|
if(is_moderator($fid, "canrestorethreads"))
|
{
| {
|
eval("\$inlinemodrestore = \"".$templates->get("forumdisplay_inlinemoderation_restore")."\";");
|
eval("\$inlinemodrestore = \"".$templates->get("forumdisplay_inlinemoderation_restore")."\";");
|
}
| }
|
if(is_moderator($fid, "candeletethreads")) { eval("\$inlinemoddelete = \"".$templates->get("forumdisplay_inlinemoderation_delete")."\";");
|
if(is_moderator($fid, "candeletethreads")) { eval("\$inlinemoddelete = \"".$templates->get("forumdisplay_inlinemoderation_delete")."\";");
|
}
| }
|
if(is_moderator($fid, "canmanagethreads")) { eval("\$inlinemodmanage = \"".$templates->get("forumdisplay_inlinemoderation_manage")."\";");
| if(is_moderator($fid, "canmanagethreads")) { eval("\$inlinemodmanage = \"".$templates->get("forumdisplay_inlinemoderation_manage")."\";");
|
Zeile 1489 | Zeile 1486 |
---|
}
$prefixselect = build_forum_prefix_select($fid, $tprefix);
|
}
$prefixselect = build_forum_prefix_select($fid, $tprefix);
|
| $plugins->run_hooks("forumdisplay_threadlist");
|
$lang->rss_discovery_forum = $lang->sprintf($lang->rss_discovery_forum, htmlspecialchars_uni(strip_tags($foruminfo['name']))); eval("\$rssdiscovery = \"".$templates->get("forumdisplay_rssdiscovery")."\";");
| $lang->rss_discovery_forum = $lang->sprintf($lang->rss_discovery_forum, htmlspecialchars_uni(strip_tags($foruminfo['name']))); eval("\$rssdiscovery = \"".$templates->get("forumdisplay_rssdiscovery")."\";");
|