Vergleich inc/functions_post.php - 1.8.0 - 1.8.8

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 11Zeile 11
/**
* Build a post bit
*

/**
* Build a post bit
*

 * @param array The post data
* @param int The type of post bit we're building (1 = preview, 2 = pm, 3 = announcement, else = post)

 * @param array $post The post data
* @param int $post_type The type of post bit we're building (1 = preview, 2 = pm, 3 = announcement, else = post)

 * @return string The built post bit
*/
function build_postbit($post, $post_type=0)

 * @return string The built post bit
*/
function build_postbit($post, $post_type=0)

Zeile 126Zeile 126
			}
break;
}

			}
break;
}

 

$post['username'] = htmlspecialchars_uni($post['username']);
$post['userusername'] = htmlspecialchars_uni($post['userusername']);


if(!$postcounter)
{ // Used to show the # of the post


if(!$postcounter)
{ // Used to show the # of the post

Zeile 137Zeile 140
			}

$postcounter = $mybb->settings['postsperpage']*($page-1);

			}

$postcounter = $mybb->settings['postsperpage']*($page-1);

		}

		}

		else
{
$postcounter = 0;
}

		else
{
$postcounter = 0;
}

		$post_extra_style = "border-top-width: 0;";

		$post_extra_style = "border-top-width: 0;";

	}
elseif($mybb->input['mode'] == "threaded")
{
$post_extra_style = "border-top-width: 0;";

	}
elseif($mybb->input['mode'] == "threaded")
{
$post_extra_style = "border-top-width: 0;";

	}

	}

	else
{
$post_extra_style = "margin-top: 5px;";

	else
{
$post_extra_style = "margin-top: 5px;";

Zeile 158Zeile 161
		$altbg = "trow1";
}
$postcounter++;

		$altbg = "trow1";
}
$postcounter++;





	// Format the post date and time using my_date
$post['postdate'] = my_date('relative', $post['dateline']);


	// Format the post date and time using my_date
$post['postdate'] = my_date('relative', $post['dateline']);


Zeile 178Zeile 181

$post['author'] = $post['uid'];
$post['subject_title'] = $post['subject'];


$post['author'] = $post['uid'];
$post['subject_title'] = $post['subject'];





	// Get the usergroup
if($post['userusername'])
{

	// Get the usergroup
if($post['userusername'])
{

Zeile 189Zeile 192
		$usergroup = $groupscache[$post['displaygroup']];
}
else

		$usergroup = $groupscache[$post['displaygroup']];
}
else

	{

	{

		$usergroup = $groupscache[1];
}


		$usergroup = $groupscache[1];
}


Zeile 209Zeile 212
			krsort($titlescache);
}
unset($usertitle, $cached_titles);

			krsort($titlescache);
}
unset($usertitle, $cached_titles);

	}

	}


// Work out the usergroup/title stuff
$post['groupimage'] = '';


// Work out the usergroup/title stuff
$post['groupimage'] = '';

Zeile 230Zeile 233
			$post['groupimage'] .= "<br />";
}
}

			$post['groupimage'] .= "<br />";
}
}





	if($post['userusername'])
{
// This post was made by a registered user

	if($post['userusername'])
{
// This post was made by a registered user

Zeile 265Zeile 268
				}
}
}

				}
}
}

		



		$post['usertitle'] = htmlspecialchars_uni($post['usertitle']);

if($usergroup['stars'])

		$post['usertitle'] = htmlspecialchars_uni($post['usertitle']);

if($usergroup['stars'])

Zeile 317Zeile 320
		$post['useravatar'] = '';
if(isset($mybb->user['showavatars']) && $mybb->user['showavatars'] != 0 || $mybb->user['uid'] == 0)
{

		$post['useravatar'] = '';
if(isset($mybb->user['showavatars']) && $mybb->user['showavatars'] != 0 || $mybb->user['uid'] == 0)
{

			$useravatar = format_avatar(htmlspecialchars_uni($post['avatar']), $post['avatardimensions'], $mybb->settings['postmaxavatarsize']);

			$useravatar = format_avatar($post['avatar'], $post['avatardimensions'], $mybb->settings['postmaxavatarsize']);

			eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar")."\";");
}

			eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar")."\";");
}

		else




$post['button_find'] = '';
if($mybb->usergroup['cansearch'] == 1)

		{

		{

			$post['useravatar'] = '';

			eval("\$post['button_find'] = \"".$templates->get("postbit_find")."\";");

		}

		}


eval("\$post['button_find'] = \"".$templates->get("postbit_find")."\";");

 

if($mybb->settings['enablepms'] == 1 && $post['receivepms'] != 0 && $mybb->usergroup['cansendpms'] == 1 && my_strpos(",".$post['ignorelist'].",", ",".$mybb->user['uid'].",") === false)
{


if($mybb->settings['enablepms'] == 1 && $post['receivepms'] != 0 && $mybb->usergroup['cansendpms'] == 1 && my_strpos(",".$post['ignorelist'].",", ",".$mybb->user['uid'].",") === false)
{

Zeile 333Zeile 336
		}

$post['button_rep'] = '';

		}

$post['button_rep'] = '';

		if($post_type != 3 && $mybb->settings['enablereputation'] == 1 && $mybb->settings['postrep'] == 1 && $mybb->usergroup['cangivereputations'] == 1 && $usergroup['usereputationsystem'] == 1 && ($mybb->settings['posrep'] || $mybb->settings['neurep'] || $mybb->settings['negrep']) && $post['uid'] != $mybb->user['uid'])

		if($post_type != 3 && $mybb->settings['enablereputation'] == 1 && $mybb->settings['postrep'] == 1 && $mybb->usergroup['cangivereputations'] == 1 && $usergroup['usereputationsystem'] == 1 && ($mybb->settings['posrep'] || $mybb->settings['neurep'] || $mybb->settings['negrep']) && $post['uid'] != $mybb->user['uid'] && (!isset($post['visible']) || $post['visible'] == 1) && (!isset($thread['visible']) || $thread['visible'] == 1))

		{
if(!$post['pid'])
{

		{
if(!$post['pid'])
{

Zeile 343Zeile 346
			eval("\$post['button_rep'] = \"".$templates->get("postbit_rep_button")."\";");
}


			eval("\$post['button_rep'] = \"".$templates->get("postbit_rep_button")."\";");
}


		if($post['website'] != "" && $mybb->settings['hidewebsite'] != -1 && !is_member($mybb->settings['hidewebsite']) && $usergroup['canchangewebsite'] == 1)

		if($post['website'] != "" && !is_member($mybb->settings['hidewebsite']) && $usergroup['canchangewebsite'] == 1)

		{
$post['website'] = htmlspecialchars_uni($post['website']);
eval("\$post['button_www'] = \"".$templates->get("postbit_www")."\";");

		{
$post['website'] = htmlspecialchars_uni($post['website']);
eval("\$post['button_www'] = \"".$templates->get("postbit_www")."\";");

Zeile 351Zeile 354
		else
{
$post['button_www'] = "";

		else
{
$post['button_www'] = "";

		}


		}


		if($post['hideemail'] != 1 && $mybb->usergroup['cansendemail'] == 1)
{
eval("\$post['button_email'] = \"".$templates->get("postbit_email")."\";");

		if($post['hideemail'] != 1 && $mybb->usergroup['cansendemail'] == 1)
{
eval("\$post['button_email'] = \"".$templates->get("postbit_email")."\";");

Zeile 366Zeile 369

// Work out the reputation this user has (only show if not announcement)
if($post_type != 3 && $usergroup['usereputationsystem'] != 0 && $mybb->settings['enablereputation'] == 1)


// Work out the reputation this user has (only show if not announcement)
if($post_type != 3 && $usergroup['usereputationsystem'] != 0 && $mybb->settings['enablereputation'] == 1)

		{

		{

			$post['userreputation'] = get_reputation($post['reputation'], $post['uid']);
eval("\$post['replink'] = \"".$templates->get("postbit_reputation")."\";");
}

			$post['userreputation'] = get_reputation($post['reputation'], $post['uid']);
eval("\$post['replink'] = \"".$templates->get("postbit_reputation")."\";");
}

Zeile 374Zeile 377
		// Showing the warning level? (only show if not announcement)
if($post_type != 3 && $mybb->settings['enablewarningsystem'] != 0 && $usergroup['canreceivewarnings'] != 0 && ($mybb->usergroup['canwarnusers'] != 0 || ($mybb->user['uid'] == $post['uid'] && $mybb->settings['canviewownwarning'] != 0)))
{

		// Showing the warning level? (only show if not announcement)
if($post_type != 3 && $mybb->settings['enablewarningsystem'] != 0 && $usergroup['canreceivewarnings'] != 0 && ($mybb->usergroup['canwarnusers'] != 0 || ($mybb->user['uid'] == $post['uid'] && $mybb->settings['canviewownwarning'] != 0)))
{

 
			if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;
}


			$warning_level = round($post['warningpoints']/$mybb->settings['maxwarningpoints']*100);
if($warning_level > 100)
{
$warning_level = 100;
}
$warning_level = get_colored_warning_level($warning_level);

			$warning_level = round($post['warningpoints']/$mybb->settings['maxwarningpoints']*100);
if($warning_level > 100)
{
$warning_level = 100;
}
$warning_level = get_colored_warning_level($warning_level);





			// If we can warn them, it's not the same person, and we're in a PM or a post.
if($mybb->usergroup['canwarnusers'] != 0 && $post['uid'] != $mybb->user['uid'] && ($post_type == 0 || $post_type == 2))
{

			// If we can warn them, it's not the same person, and we're in a PM or a post.
if($mybb->usergroup['canwarnusers'] != 0 && $post['uid'] != $mybb->user['uid'] && ($post_type == 0 || $post_type == 2))
{

Zeile 477Zeile 485
		{
$post['usertitle'] = $lang->guest;
}

		{
$post['usertitle'] = $lang->guest;
}

		



		$post['usertitle'] = htmlspecialchars_uni($post['usertitle']);

$usergroup['title'] = $lang->na;

		$post['usertitle'] = htmlspecialchars_uni($post['usertitle']);

$usergroup['title'] = $lang->na;

Zeile 493Zeile 501
		$post['onlinestatus'] = '';
$post['replink'] = '';
eval("\$post['user_details'] = \"".$templates->get("postbit_author_guest")."\";");

		$post['onlinestatus'] = '';
$post['replink'] = '';
eval("\$post['user_details'] = \"".$templates->get("postbit_author_guest")."\";");

	}


	}


	$post['button_edit'] = '';
$post['button_quickdelete'] = '';
$post['button_quickrestore'] = '';

	$post['button_edit'] = '';
$post['button_quickdelete'] = '';
$post['button_quickrestore'] = '';

Zeile 520Zeile 528
			eval("\$post['button_replyall_pm'] = \"".$templates->get("postbit_replyall_pm")."\";");
}
}

			eval("\$post['button_replyall_pm'] = \"".$templates->get("postbit_replyall_pm")."\";");
}
}





	$post['editedmsg'] = '';
if(!$post_type)
{

	$post['editedmsg'] = '';
if(!$post_type)
{

 
		if(!isset($forumpermissions))
{
$forumpermissions = forum_permissions($fid);
}


		// Figure out if we need to show an "edited by" message
if($post['edituid'] != 0 && $post['edittime'] != 0 && $post['editusername'] != "" && (($mybb->settings['showeditedby'] != 0 && $usergroup['cancp'] == 0) || ($mybb->settings['showeditedbyadmin'] != 0 && $usergroup['cancp'] == 1)))
{
$post['editdate'] = my_date('relative', $post['edittime']);
$post['editnote'] = $lang->sprintf($lang->postbit_edited, $post['editdate']);

		// Figure out if we need to show an "edited by" message
if($post['edituid'] != 0 && $post['edittime'] != 0 && $post['editusername'] != "" && (($mybb->settings['showeditedby'] != 0 && $usergroup['cancp'] == 0) || ($mybb->settings['showeditedbyadmin'] != 0 && $usergroup['cancp'] == 1)))
{
$post['editdate'] = my_date('relative', $post['edittime']);
$post['editnote'] = $lang->sprintf($lang->postbit_edited, $post['editdate']);

 
			$post['editusername'] = htmlspecialchars_uni($post['editusername']);

			$post['editedprofilelink'] = build_profile_link($post['editusername'], $post['edituid']);
$editreason = "";
if($post['editreason'] != "")

			$post['editedprofilelink'] = build_profile_link($post['editusername'], $post['edituid']);
$editreason = "";
if($post['editreason'] != "")

Zeile 538Zeile 552
				eval("\$editreason = \"".$templates->get("postbit_editedby_editreason")."\";");
}
eval("\$post['editedmsg'] = \"".$templates->get("postbit_editedby")."\";");

				eval("\$editreason = \"".$templates->get("postbit_editedby_editreason")."\";");
}
eval("\$post['editedmsg'] = \"".$templates->get("postbit_editedby")."\";");

		}

if((is_moderator($fid, "caneditposts") || ($forumpermissions['caneditposts'] == 1 && $mybb->user['uid'] == $post['uid'])) && $mybb->user['uid'] != 0)


		}

$time = TIME_NOW;
if((is_moderator($fid, "caneditposts") || ($forumpermissions['caneditposts'] == 1 && $mybb->user['uid'] == $post['uid'] && $thread['closed'] != 1 && ($mybb->usergroup['edittimelimit'] == 0 || $mybb->usergroup['edittimelimit'] != 0 && $post['dateline'] > ($time-($mybb->usergroup['edittimelimit']*60))))) && $mybb->user['uid'] != 0)

		{
eval("\$post['button_edit'] = \"".$templates->get("postbit_edit")."\";");
}

// Quick Delete button
$can_delete_thread = $can_delete_post = 0;

		{
eval("\$post['button_edit'] = \"".$templates->get("postbit_edit")."\";");
}

// Quick Delete button
$can_delete_thread = $can_delete_post = 0;

		if($mybb->user['uid'] == $post['uid'])
{

		if($mybb->user['uid'] == $post['uid'] && $thread['closed'] == 0)
{

			if($forumpermissions['candeletethreads'] == 1 && $postcounter == 1)
{
$can_delete_thread = 1;
}
else if($forumpermissions['candeleteposts'] == 1 && $postcounter != 1)

			if($forumpermissions['candeletethreads'] == 1 && $postcounter == 1)
{
$can_delete_thread = 1;
}
else if($forumpermissions['candeleteposts'] == 1 && $postcounter != 1)

			{

			{

				$can_delete_post = 1;
}
}


				$can_delete_post = 1;
}
}


		$postbit_qdelete = '';

		$postbit_qdelete = $postbit_qrestore = '';

		if($mybb->user['uid'] != 0)
{

		if($mybb->user['uid'] != 0)
{

			if((is_moderator($fid, "candeleteposts") || $can_delete_post == 1) && $postcounter != 1)

			if((is_moderator($fid, "candeleteposts") || is_moderator($fid, "cansoftdeleteposts") || $can_delete_post == 1) && $postcounter != 1)

			{
$postbit_qdelete = $lang->postbit_qdelete_post;

			{
$postbit_qdelete = $lang->postbit_qdelete_post;

				$display = "";
if($post['visible'] == -1)
{











				$display = '';
if($post['visible'] == -1)
{
$display = "none";
}
eval("\$post['button_quickdelete'] = \"".$templates->get("postbit_quickdelete")."\";");
}
else if((is_moderator($fid, "candeletethreads") || is_moderator($fid, "cansoftdeletethreads") || $can_delete_thread == 1) && $postcounter == 1)
{
$postbit_qdelete = $lang->postbit_qdelete_thread;
$display = '';
if($post['visible'] == -1)
{

					$display = "none";
}
eval("\$post['button_quickdelete'] = \"".$templates->get("postbit_quickdelete")."\";");

					$display = "none";
}
eval("\$post['button_quickdelete'] = \"".$templates->get("postbit_quickdelete")."\";");


// Restore Post
if(is_moderator($fid, "canrestoreposts"))
{
$display = "none";
if($post['visible'] == -1)
{
$display = "";
}
$postbit_qrestore = $lang->postbit_qrestore_post;
eval("\$post['button_quickrestore'] = \"".$templates->get("postbit_quickrestore")."\";");
}
}
else if((is_moderator($fid, "candeletethreads") || $can_delete_thread == 1) && $postcounter == 1)



			}

// Restore Post
if(is_moderator($fid, "canrestoreposts") && $postcounter != 1)
{
$display = "none";
if($post['visible'] == -1)
{
$display = '';
}
$postbit_qrestore = $lang->postbit_qrestore_post;
eval("\$post['button_quickrestore'] = \"".$templates->get("postbit_quickrestore")."\";");
}

// Restore Thread
else if(is_moderator($fid, "canrestorethreads") && $postcounter == 1)

			{

			{

				$postbit_qdelete = $lang->postbit_qdelete_thread;
$display = "";

				$display = "none";


				if($post['visible'] == -1)
{

				if($post['visible'] == -1)
{

					$display = "none";

					$display = "";

				}
$postbit_qrestore = $lang->postbit_qrestore_thread;

				}
$postbit_qrestore = $lang->postbit_qrestore_thread;

				eval("\$post['button_quickdelete'] = \"".$templates->get("postbit_quickdelete")."\";");

// Restore Post
if(is_moderator($fid, "canrestoreposts"))
{
$display = "none";
if($post['visible'] == -1)
{
$display = "";
}
eval("\$post['button_quickrestore'] = \"".$templates->get("postbit_quickrestore")."\";");
}

				eval("\$post['button_quickrestore'] = \"".$templates->get("postbit_quickrestore")."\";");












			}

			}

 
		}

if(!isset($ismod))
{
$ismod = is_moderator($fid);

		}

// Inline moderation stuff

		}

// Inline moderation stuff

Zeile 720Zeile 740
		get_post_attachments($id, $post);
}


		get_post_attachments($id, $post);
}


	if(isset($post['includesig']) && $post['includesig'] != 0 && $post['username'] && $post['signature'] != "" && ($mybb->user['uid'] == 0 || $mybb->user['showsigs'] != 0) && ($post['suspendsignature'] == 0 || $post['suspendsignature'] == 1 && $post['suspendsigtime'] != 0 && $post['suspendsigtime'] < TIME_NOW) && $usergroup['canusesig'] == 1 && ($usergroup['canusesigxposts'] == 0 || $usergroup['canusesigxposts'] > 0 && $postnum > $usergroup['canusesigxposts']) && $mybb->settings['hidesignatures'] != -1 && !is_member($mybb->settings['hidesignatures']))



	if(isset($post['includesig']) && $post['includesig'] != 0 && $post['username'] && $post['signature'] != "" && ($mybb->user['uid'] == 0 || $mybb->user['showsigs'] != 0)
&& ($post['suspendsignature'] == 0 || $post['suspendsignature'] == 1 && $post['suspendsigtime'] != 0 && $post['suspendsigtime'] < TIME_NOW) && $usergroup['canusesig'] == 1
&& ($usergroup['canusesigxposts'] == 0 || $usergroup['canusesigxposts'] > 0 && $postnum > $usergroup['canusesigxposts']) && !is_member($mybb->settings['hidesignatures']))

	{
$sig_parser = array(
"allow_html" => $mybb->settings['sightml'],
"allow_mycode" => $mybb->settings['sigmycode'],
"allow_smilies" => $mybb->settings['sigsmilies'],
"allow_imgcode" => $mybb->settings['sigimgcode'],

	{
$sig_parser = array(
"allow_html" => $mybb->settings['sightml'],
"allow_mycode" => $mybb->settings['sigmycode'],
"allow_smilies" => $mybb->settings['sigsmilies'],
"allow_imgcode" => $mybb->settings['sigimgcode'],

			"me_username" => $post['username'],

			"me_username" => $parser_options['me_username'],

			"filter_badwords" => 1
);

if($usergroup['signofollow'])

			"filter_badwords" => 1
);

if($usergroup['signofollow'])

		{

		{

			$sig_parser['nofollow_on'] = 1;

			$sig_parser['nofollow_on'] = 1;

		}


		}


		if($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
{
$sig_parser['allow_imgcode'] = 0;

		if($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
{
$sig_parser['allow_imgcode'] = 0;

Zeile 743Zeile 765

$post['signature'] = $parser->parse_message($post['signature'], $sig_parser);
eval("\$post['signature'] = \"".$templates->get("postbit_signature")."\";");


$post['signature'] = $parser->parse_message($post['signature'], $sig_parser);
eval("\$post['signature'] = \"".$templates->get("postbit_signature")."\";");

	}

	}

	else
{
$post['signature'] = "";

	else
{
$post['signature'] = "";

Zeile 763Zeile 785
	else
{
$post['icon'] = "";

	else
{
$post['icon'] = "";

	}

	}


$post_visibility = $ignore_bit = '';
switch($post_type)


$post_visibility = $ignore_bit = '';
switch($post_type)

Zeile 773Zeile 795
			break;
case 2: // Private message
$post = $plugins->run_hooks("postbit_pm", $post);

			break;
case 2: // Private message
$post = $plugins->run_hooks("postbit_pm", $post);

			break;

			break;

		case 3: // Announcement
$post = $plugins->run_hooks("postbit_announcement", $post);
break;
default: // Regular post
$post = $plugins->run_hooks("postbit", $post);

		case 3: // Announcement
$post = $plugins->run_hooks("postbit_announcement", $post);
break;
default: // Regular post
$post = $plugins->run_hooks("postbit", $post);

 

if(!isset($ignored_users))
{
$ignored_users = array();
if($mybb->user['uid'] > 0 && $mybb->user['ignorelist'] != "")
{
$ignore_list = explode(',', $mybb->user['ignorelist']);
foreach($ignore_list as $uid)
{
$ignored_users[$uid] = 1;
}
}
}


// Is this author on the ignore list of the current user? Hide this post
if(is_array($ignored_users) && $post['uid'] != 0 && isset($ignored_users[$post['uid']]) && $ignored_users[$post['uid']] == 1)


// Is this author on the ignore list of the current user? Hide this post
if(is_array($ignored_users) && $post['uid'] != 0 && isset($ignored_users[$post['uid']]) && $ignored_users[$post['uid']] == 1)

Zeile 807Zeile 842
 * Fetch the attachments for a specific post and parse inline [attachment=id] code.
* Note: assumes you have $attachcache, an array of attachments set up.
*

 * Fetch the attachments for a specific post and parse inline [attachment=id] code.
* Note: assumes you have $attachcache, an array of attachments set up.
*

 * @param int The ID of the item.
* @param array The post or item passed by reference.

 * @param int $id The ID of the item.
* @param array $post The post or item passed by reference.

 */
function get_post_attachments($id, &$post)
{

 */
function get_post_attachments($id, &$post)
{

Zeile 817Zeile 852
	$validationcount = 0;
$tcount = 0;
$post['attachmentlist'] = $post['thumblist'] = $post['imagelist'] = '';

	$validationcount = 0;
$tcount = 0;
$post['attachmentlist'] = $post['thumblist'] = $post['imagelist'] = '';

 
	if(!isset($forumpermissions))
{
$forumpermissions = forum_permissions($post['fid']);
}


	if(isset($attachcache[$id]) && is_array($attachcache[$id]))
{ // This post has 1 or more attachments
foreach($attachcache[$id] as $aid => $attachment)

	if(isset($attachcache[$id]) && is_array($attachcache[$id]))
{ // This post has 1 or more attachments
foreach($attachcache[$id] as $aid => $attachment)