Vergleich inc/functions_forumlist.php - 1.8.4 - 1.8.38

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 11Zeile 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 41Zeile 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 62Zeile 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 82Zeile 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 92Zeile 95
							}
}
}

							}
}
}





					if(!empty($fids))
{
$fids = implode(',', $fids);

					if(!empty($fids))
{
$fids = implode(',', $fids);

Zeile 100Zeile 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 119Zeile 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 130Zeile 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 148Zeile 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 171Zeile 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 219Zeile 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 277Zeile 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 292Zeile 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 318Zeile 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 342Zeile 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 398Zeile 421
				if($moderators)
{
eval("\$modlist = \"".$templates->get("forumbit_moderators")."\";");

				if($moderators)
{
eval("\$modlist = \"".$templates->get("forumbit_moderators")."\";");

				}
else
{
$modlist = '';

 
				}
}


				}
}


Zeile 413Zeile 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 458Zeile 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 468Zeile 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 538Zeile 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)