Zeile 11 | Zeile 11 |
---|
/** * Build a list of forum bits. *
|
/** * Build a list of forum bits. *
|
* @param int The parent forum to fetch the child forums for (0 assumes all) * @param int The depth to return forums with.
| * @param int $pid The parent forum to fetch the child forums for (0 assumes all) * @param int $depth The depth to return forums with.
|
* @return array Array of information regarding the child forums of this parent forum */ function build_forumbits($pid=0, $depth=1)
| * @return array Array of information regarding the child forums of this parent forum */ function build_forumbits($pid=0, $depth=1)
|
Zeile 41 | Zeile 41 |
---|
{ foreach($parent as $forum) {
|
{ foreach($parent as $forum) {
|
| $forum['viewers'] = 0;
|
$subforums = $sub_forums = ''; $lastpost_data = array(
|
$subforums = $sub_forums = ''; $lastpost_data = array(
|
'lastpost' => 0
| 'lastpost' => 0, 'lastposter' => '',
|
); $forum_viewers_text = ''; $forum_viewers_text_plain = '';
| ); $forum_viewers_text = ''; $forum_viewers_text_plain = '';
|
Zeile 62 | Zeile 64 |
---|
// Build the link to this forum $forum_url = get_forum_link($forum['fid']);
|
// Build the link to this forum $forum_url = get_forum_link($forum['fid']);
|
// This forum has a password, and the user isn't authenticated with it - hide post information
| |
$hideinfo = $hidecounters = false; $hidelastpostinfo = false; $showlockicon = 0;
|
$hideinfo = $hidecounters = false; $hidelastpostinfo = false; $showlockicon = 0;
|
if(isset($permissions['canviewthreads']) && $permissions['canviewthreads'] != 1) { $hideinfo = true;
| // Hide post info if user cannot view forum or cannot view threads if($permissions['canview'] != 1 || (isset($permissions['canviewthreads']) && $permissions['canviewthreads'] != 1)) { $hideinfo = true;
|
}
if(isset($permissions['canonlyviewownthreads']) && $permissions['canonlyviewownthreads'] == 1)
| }
if(isset($permissions['canonlyviewownthreads']) && $permissions['canonlyviewownthreads'] == 1)
|
Zeile 82 | Zeile 85 |
---|
foreach($fcache as $fcache_p) { foreach($fcache_p as $parent_p)
|
foreach($fcache as $fcache_p) { foreach($fcache_p as $parent_p)
|
{
| {
|
foreach($parent_p as $forum_p) { if($forumpermissions[$forum_p['fid']]['canonlyviewownthreads'])
| foreach($parent_p as $forum_p) { if($forumpermissions[$forum_p['fid']]['canonlyviewownthreads'])
|
Zeile 92 | Zeile 95 |
---|
} } }
|
} } }
|
|
|
if(!empty($fids)) { $fids = implode(',', $fids);
| if(!empty($fids)) { $fids = implode(',', $fids);
|
Zeile 100 | Zeile 103 |
---|
while($thread = $db->fetch_array($query)) {
|
while($thread = $db->fetch_array($query)) {
|
if(!$private_forums[$thread['fid']])
| if(!isset($private_forums[$thread['fid']]))
|
{ $private_forums[$thread['fid']] = $thread;
|
{ $private_forums[$thread['fid']] = $thread;
|
} } } }
if($private_forums[$forum['fid']]['lastpost']) { $forum['lastpost'] = $private_forums[$forum['fid']]['lastpost'];
| } } } }
if(!empty($private_forums[$forum['fid']]['lastpost'])) { $forum['lastpost'] = $private_forums[$forum['fid']]['lastpost'];
if(!$private_forums[$forum['fid']]['lastposteruid'] && !$private_forums[$forum['fid']]['lastposter']) { $private_forums[$forum['fid']]['lastposter'] = $lang->guest; // htmlspecialchars_uni'd when formatted later }
|
$lastpost_data = array( "lastpost" => $private_forums[$forum['fid']]['lastpost'],
| $lastpost_data = array( "lastpost" => $private_forums[$forum['fid']]['lastpost'],
|
Zeile 119 | Zeile 127 |
---|
"lastposttid" => $private_forums[$forum['fid']]['tid'], "lastposteruid" => $private_forums[$forum['fid']]['lastposteruid'] );
|
"lastposttid" => $private_forums[$forum['fid']]['tid'], "lastposteruid" => $private_forums[$forum['fid']]['lastposteruid'] );
|
} }
| } }
|
else {
|
else {
|
| if(!$forum['lastposteruid'] && !$forum['lastposter']) { $forum['lastposter'] = $lang->guest; // htmlspecialchars_uni'd when formatted later }
|
$lastpost_data = array( "lastpost" => $forum['lastpost'], "lastpostsubject" => $forum['lastpostsubject'],
| $lastpost_data = array( "lastpost" => $forum['lastpost'], "lastpostsubject" => $forum['lastpostsubject'],
|
Zeile 130 | Zeile 143 |
---|
"lastposttid" => $forum['lastposttid'], "lastposteruid" => $forum['lastposteruid'] );
|
"lastposttid" => $forum['lastposttid'], "lastposteruid" => $forum['lastposteruid'] );
|
}
| }
// This forum has a password, and the user isn't authenticated with it - hide post information if(!forum_password_validated($forum, true)) { $hideinfo = true; $showlockicon = 1; }
|
|
|
if($forum['password'] != '' && $mybb->cookies['forumpass'][$forum['fid']] != md5($mybb->user['uid'].$forum['password']))
| if(is_array($forum_viewers) && isset($forum_viewers[$forum['fid']]) && $forum_viewers[$forum['fid']] > 0)
|
{
|
{
|
$hideinfo = true; $showlockicon = 1;
| $forum['viewers'] = $forum_viewers[$forum['fid']];
|
}
// Fetch subforums of this forum
| }
// Fetch subforums of this forum
|
Zeile 148 | Zeile 167 |
---|
$forum['posts'] += $forum_info['counters']['posts']; $forum['unapprovedthreads'] += $forum_info['counters']['unapprovedthreads']; $forum['unapprovedposts'] += $forum_info['counters']['unapprovedposts'];
|
$forum['posts'] += $forum_info['counters']['posts']; $forum['unapprovedthreads'] += $forum_info['counters']['unapprovedthreads']; $forum['unapprovedposts'] += $forum_info['counters']['unapprovedposts'];
|
if(!empty($forum_info['counters']['viewing']))
| if(!empty($forum_info['counters']['viewers']))
|
{
|
{
|
$forum['viewers'] += $forum_info['counters']['viewing'];
| $forum['viewers'] += $forum_info['counters']['viewers'];
|
}
// If the child forums' lastpost is greater than the one for this forum, set it as the child forums greatest.
|
}
// If the child forums' lastpost is greater than the one for this forum, set it as the child forums greatest.
|
if($forum_info['lastpost']['lastpost'] > $lastpost_data['lastpost'])
| if(isset($forum_info['lastpost']['lastpost']) && $forum_info['lastpost']['lastpost'] > $lastpost_data['lastpost'])
|
{ $lastpost_data = $forum_info['lastpost'];
| { $lastpost_data = $forum_info['lastpost'];
|
Zeile 171 | Zeile 190 |
---|
$lastpost_data['lastpost'] = $forum['lastpost']; }*/ }
|
$lastpost_data['lastpost'] = $forum['lastpost']; }*/ }
|
|
|
$sub_forums = $forum_info['forum_list']; }
// If we are hiding information (lastpost) because we aren't authenticated against the password for this forum, remove them
|
$sub_forums = $forum_info['forum_list']; }
// If we are hiding information (lastpost) because we aren't authenticated against the password for this forum, remove them
|
if($hidelastpostinfo == true)
| if($hideinfo == true || $hidelastpostinfo == true)
|
{
|
{
|
| // Used later for get_forum_lightbulb function call - Setting to 0 prevents the bulb from being lit up // If hiding info or hiding lastpost info no "unread" posts indication should be shown to the user.
|
$lastpost_data = array( 'lastpost' => 0,
|
$lastpost_data = array( 'lastpost' => 0,
|
'lastposter' => ''
| 'lastposter' => '',
|
); }
|
); }
|
// If the current forums lastpost is greater than other child forums of the current parent, overwrite it if(!isset($parent_lastpost) || $lastpost_data['lastpost'] > $parent_lastpost['lastpost'])
| // If the current forums lastpost is greater than other child forums of the current parent and forum info isn't hidden, overwrite it if((!isset($parent_lastpost) || $lastpost_data['lastpost'] > $parent_lastpost['lastpost']) && $hideinfo != true)
|
{ $parent_lastpost = $lastpost_data;
|
{ $parent_lastpost = $lastpost_data;
|
}
if(is_array($forum_viewers) && isset($forum_viewers[$forum['fid']]) && $forum_viewers[$forum['fid']] > 0) { $forum['viewers'] = $forum_viewers[$forum['fid']];
| |
}
// Increment the counters for the parent forum (returned later)
| }
// Increment the counters for the parent forum (returned later)
|
Zeile 219 | Zeile 235 |
---|
$lightbulb = get_forum_lightbulb($forum, $lastpost_data, $showlockicon);
// Fetch the number of unapproved threads and posts for this forum
|
$lightbulb = get_forum_lightbulb($forum, $lastpost_data, $showlockicon);
// Fetch the number of unapproved threads and posts for this forum
|
$unapproved = get_forum_unapproved($forum);
| |
if($hideinfo == true) {
|
if($hideinfo == true) {
|
unset($unapproved);
| $unapproved = array( "unapproved_posts" => '', "unapproved_threads" => '', ); } else { $unapproved = get_forum_unapproved($forum);
|
}
// Sanitize name and description of forum.
| }
// Sanitize name and description of forum.
|
Zeile 277 | Zeile 298 |
---|
else { $forumcat = '_forum';
|
else { $forumcat = '_forum';
|
}
| }
|
if($forum['linkto'] == '') { // No posts have been made in this forum - show never text
|
if($forum['linkto'] == '') { // No posts have been made in this forum - show never text
|
if(($lastpost_data['lastpost'] == 0 || $lastpost_data['lastposter'] == '') && $hideinfo != true) {
| if($lastpost_data['lastpost'] == 0 && $hideinfo != true) {
|
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_never")."\";"); } elseif($hideinfo != true)
| eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_never")."\";"); } elseif($hideinfo != true)
|
Zeile 292 | Zeile 313 |
---|
$lastpost_date = my_date('relative', $lastpost_data['lastpost']);
// Set up the last poster, last post thread id, last post subject and format appropriately
|
$lastpost_date = my_date('relative', $lastpost_data['lastpost']);
// Set up the last poster, last post thread id, last post subject and format appropriately
|
| $lastpost_data['lastposter'] = htmlspecialchars_uni($lastpost_data['lastposter']);
|
$lastpost_profilelink = build_profile_link($lastpost_data['lastposter'], $lastpost_data['lastposteruid']); $lastpost_link = get_thread_link($lastpost_data['lastposttid'], 0, "lastpost"); $lastpost_subject = $full_lastpost_subject = $parser->parse_badwords($lastpost_data['lastpostsubject']); if(my_strlen($lastpost_subject) > 25) { $lastpost_subject = my_substr($lastpost_subject, 0, 25)."...";
|
$lastpost_profilelink = build_profile_link($lastpost_data['lastposter'], $lastpost_data['lastposteruid']); $lastpost_link = get_thread_link($lastpost_data['lastposttid'], 0, "lastpost"); $lastpost_subject = $full_lastpost_subject = $parser->parse_badwords($lastpost_data['lastpostsubject']); if(my_strlen($lastpost_subject) > 25) { $lastpost_subject = my_substr($lastpost_subject, 0, 25)."...";
|
}
| }
|
$lastpost_subject = htmlspecialchars_uni($lastpost_subject); $full_lastpost_subject = htmlspecialchars_uni($full_lastpost_subject);
| $lastpost_subject = htmlspecialchars_uni($lastpost_subject); $full_lastpost_subject = htmlspecialchars_uni($full_lastpost_subject);
|
Zeile 318 | Zeile 340 |
---|
else { $forum_viewers_text = $lang->sprintf($lang->viewing_multiple, $forum['viewers']);
|
else { $forum_viewers_text = $lang->sprintf($lang->viewing_multiple, $forum['viewers']);
|
}
| }
|
$forum_viewers_text_plain = $forum_viewers_text; eval("\$forum_viewers_text = \"".$templates->get("forumbit_depth2_forum_viewers")."\";"); }
| $forum_viewers_text_plain = $forum_viewers_text; eval("\$forum_viewers_text = \"".$templates->get("forumbit_depth2_forum_viewers")."\";"); }
|
Zeile 342 | Zeile 364 |
---|
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_hidden")."\";"); }
|
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_hidden")."\";"); }
|
// Moderator column is not off
| // Moderator column $modlist = '';
|
if($mybb->settings['modlist'] != 0) { $done_moderators = array(
| if($mybb->settings['modlist'] != 0) { $done_moderators = array(
|
Zeile 398 | Zeile 421 |
---|
if($moderators) { eval("\$modlist = \"".$templates->get("forumbit_moderators")."\";");
|
if($moderators) { eval("\$modlist = \"".$templates->get("forumbit_moderators")."\";");
|
} else { $modlist = '';
| |
} }
| } }
|
Zeile 413 | Zeile 432 |
---|
// Check if this category is either expanded or collapsed and hide it as necessary. $expdisplay = '';
|
// Check if this category is either expanded or collapsed and hide it as necessary. $expdisplay = '';
|
$collapsed_name = "cat_{$forum['fid']}_c"; if(isset($collapsed[$collapsed_name]) && $collapsed[$collapsed_name] == "display: show;")
| $collapsed_name = "cat_{$forum['fid']}_e"; if(isset($collapsed[$collapsed_name]) && $collapsed[$collapsed_name] == "display: none;")
|
{ $expcolimage = "collapse_collapsed.png"; $expdisplay = "display: none;"; $expthead = " thead_collapsed";
|
{ $expcolimage = "collapse_collapsed.png"; $expdisplay = "display: none;"; $expthead = " thead_collapsed";
|
$expaltext = "[+]";
| $expaltext = $lang->expcol_expand;
|
} else { $expcolimage = "collapse.png"; $expthead = "";
|
} else { $expcolimage = "collapse.png"; $expthead = "";
|
$expaltext = "[-]";
| $expaltext = $lang->expcol_collapse;
|
}
// Swap over the alternate backgrounds
| }
// Swap over the alternate backgrounds
|
Zeile 458 | Zeile 477 |
---|
/** * Fetch the status indicator for a forum based on its last post and the read date *
|
/** * Fetch the status indicator for a forum based on its last post and the read date *
|
* @param array Array of information about the forum * @param array Array of information about the lastpost date * @param int Whether or not this forum is locked or not
| * @param array $forum Array of information about the forum * @param array $lastpost Array of information about the lastpost date * @param int $locked Whether or not this forum is locked or not
|
* @return array Array of the folder image to be shown and the alt text */ function get_forum_lightbulb($forum, $lastpost, $locked=0)
| * @return array Array of the folder image to be shown and the alt text */ function get_forum_lightbulb($forum, $lastpost, $locked=0)
|
Zeile 468 | Zeile 487 |
---|
global $mybb, $lang, $db, $unread_forums;
// This forum is a redirect, so override the folder icon with the "offlink" icon.
|
global $mybb, $lang, $db, $unread_forums;
// This forum is a redirect, so override the folder icon with the "offlink" icon.
|
if($forum['linkto'] != '')
| if(!empty($forum['linkto']))
|
{ $folder = "offlink"; $altonoff = $lang->forum_redirect; }
|
{ $folder = "offlink"; $altonoff = $lang->forum_redirect; }
|
// This forum is closed, so override the folder icon with the "offlock" icon.
| // This forum is closed, so override the folder icon with the "offclose" icon.
|
elseif($forum['open'] == 0 || $locked) {
|
elseif($forum['open'] == 0 || $locked) {
|
$folder = "offlock"; $altonoff = $lang->forum_locked;
| $folder = "offclose"; $altonoff = $lang->forum_closed;
|
} else {
| } else {
|
Zeile 538 | Zeile 557 |
---|
/** * Fetch the number of unapproved posts, formatted, from a forum *
|
/** * Fetch the number of unapproved posts, formatted, from a forum *
|
* @param array Array of information about the forum
| * @param array $forum Array of information about the forum
|
* @return array Array containing formatted string for posts and string for threads */ function get_forum_unapproved($forum)
| * @return array Array containing formatted string for posts and string for threads */ function get_forum_unapproved($forum)
|