Vergleich inc/functions_post.php - 1.8.1 - 1.8.37

  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 90Zeile 90
			break;
case 3: // Announcement
global $announcementarray, $message;

			break;
case 3: // Announcement
global $announcementarray, $message;

			$parser_options['allow_html'] = $announcementarray['allowhtml'];

			$parser_options['allow_html'] = $mybb->settings['announcementshtml'] && $announcementarray['allowhtml'];

			$parser_options['allow_mycode'] = $announcementarray['allowmycode'];
$parser_options['allow_smilies'] = $announcementarray['allowsmilies'];
$parser_options['allow_imgcode'] = 1;

			$parser_options['allow_mycode'] = $announcementarray['allowmycode'];
$parser_options['allow_smilies'] = $announcementarray['allowsmilies'];
$parser_options['allow_imgcode'] = 1;

Zeile 110Zeile 110
			$parser_options['allow_imgcode'] = $forum['allowimgcode'];
$parser_options['allow_videocode'] = $forum['allowvideocode'];
$parser_options['filter_badwords'] = 1;

			$parser_options['allow_imgcode'] = $forum['allowimgcode'];
$parser_options['allow_videocode'] = $forum['allowvideocode'];
$parser_options['filter_badwords'] = 1;


if(!$post['username'])
{
$post['username'] = $lang->guest;
}

if($post['userusername'])
{
$parser_options['me_username'] = $post['userusername'];
}
else
{
$parser_options['me_username'] = $post['username'];
}

 
			break;
}

			break;
}

 

if(!$post['username'])
{
$post['username'] = $lang->guest; // htmlspecialchars_uni'd below
}

if($post['userusername'])
{
$parser_options['me_username'] = $post['userusername'];
}
else
{
$parser_options['me_username'] = $post['username'];
}

$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 144Zeile 147
		}
$post_extra_style = "border-top-width: 0;";
}

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

	elseif($mybb->input['mode'] == "threaded")

	elseif($mybb->get_input('mode') == "threaded")

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

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

Zeile 180Zeile 183
	$post['subject_title'] = $post['subject'];

// Get the usergroup

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

// Get the usergroup

	if($post['userusername'])

	if($post['usergroup'])

	{

	{

		if(!$post['displaygroup'])
{
$post['displaygroup'] = $post['usergroup'];
}
$usergroup = $groupscache[$post['displaygroup']];



















		$usergroup = usergroup_permissions($post['usergroup']);
}
else
{
$usergroup = usergroup_permissions(1);
}

// Fetch display group data.
$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");

if(empty($post['displaygroup']))
{
$post['displaygroup'] = $post['usergroup'];
}

// Set to hardcoded Guest usergroup ID (1) for guest author or deleted user.
if(empty($post['usergroup']))
{
$post['usergroup'] = 1;
}
if(empty($post['displaygroup']))
{
$post['displaygroup'] = 1;

	}

	}

	else




$displaygroup = usergroup_displaygroup($post['displaygroup']);
if(is_array($displaygroup))

	{

	{

		$usergroup = $groupscache[1];

		$usergroup = array_merge($usergroup, $displaygroup);

	}

if(!is_array($titlescache))

	}

if(!is_array($titlescache))

Zeile 265Zeile 288
				}
}
}

				}
}
}

		



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

if($usergroup['stars'])

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

if($usergroup['stars'])

		{

		{

			$post['stars'] = $usergroup['stars'];
}

if(empty($post['starimage']))

			$post['stars'] = $usergroup['stars'];
}

if(empty($post['starimage']))

		{

		{

			$post['starimage'] = $usergroup['starimage'];
}


			$post['starimage'] = $usergroup['starimage'];
}


		if($post['starimage'] && $post['stars'])


		$post['userstars'] = '';
if($post['starimage'] && isset($post['stars']))

		{
// Only display stars if we have an image to use...
$post['starimage'] = str_replace("{theme}", $theme['imgdir'], $post['starimage']);


		{
// Only display stars if we have an image to use...
$post['starimage'] = str_replace("{theme}", $theme['imgdir'], $post['starimage']);


			$post['userstars'] = '';

 
			for($i = 0; $i < $post['stars']; ++$i)
{
eval("\$post['userstars'] .= \"".$templates->get("postbit_userstar", 1, 0)."\";");
}

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

			for($i = 0; $i < $post['stars']; ++$i)
{
eval("\$post['userstars'] .= \"".$templates->get("postbit_userstar", 1, 0)."\";");
}

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

		}


		}


		$postnum = $post['postnum'];
$post['postnum'] = my_number_format($post['postnum']);
$post['threadnum'] = my_number_format($post['threadnum']);

		$postnum = $post['postnum'];
$post['postnum'] = my_number_format($post['postnum']);
$post['threadnum'] = my_number_format($post['threadnum']);

Zeile 307Zeile 330
			if($post['away'] == 1 && $mybb->settings['allowaway'] != 0)
{
eval("\$post['onlinestatus'] = \"".$templates->get("postbit_away")."\";");

			if($post['away'] == 1 && $mybb->settings['allowaway'] != 0)
{
eval("\$post['onlinestatus'] = \"".$templates->get("postbit_away")."\";");

			}
else
{

			}
else
{

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

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

Zeile 317Zeile 340
		$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['useravatar'] = '';
}

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)
{
eval("\$post['button_pm'] = \"".$templates->get("postbit_pm")."\";");
}

$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['pid'])

		}

$post['button_find'] = '';
if($mybb->usergroup['cansearch'] == 1)
{
eval("\$post['button_find'] = \"".$templates->get("postbit_find")."\";");
}

if($mybb->settings['enablepms'] == 1 && $post['uid'] != $mybb->user['uid'] && (($post['receivepms'] != 0 && $usergroup['canusepms'] != 0 && $mybb->usergroup['cansendpms'] == 1 && my_strpos(",".$post['ignorelist'].",", ",".$mybb->user['uid'].",") === false) || $mybb->usergroup['canoverridepm'] == 1))
{
eval("\$post['button_pm'] = \"".$templates->get("postbit_pm")."\";");
}

$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'] && (!isset($post['visible']) || $post['visible'] == 1) && (!isset($thread['visible']) || $thread['visible'] == 1))
{
if(empty($post['pid']))

			{
$post['pid'] = 0;
}

			{
$post['pid'] = 0;
}

Zeile 343Zeile 366
			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 353Zeile 376
			$post['button_www'] = "";
}


			$post['button_www'] = "";
}


		if($post['hideemail'] != 1 && $mybb->usergroup['cansendemail'] == 1)

		if($post['hideemail'] != 1 && $post['uid'] != $mybb->user['uid'] && $mybb->usergroup['cansendemail'] == 1)

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

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

Zeile 374Zeile 397
		// 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 = round($post['warningpoints']/$mybb->settings['maxwarningpoints']*100);
if($warning_level > 100)
{

Zeile 398Zeile 426
		if($post_type != 3 && $post_type != 1 && purgespammer_show($post['postnum'], $post['usergroup'], $post['uid']))
{
eval("\$post['button_purgespammer'] = \"".$templates->get('postbit_purgespammer')."\";");

		if($post_type != 3 && $post_type != 1 && purgespammer_show($post['postnum'], $post['usergroup'], $post['uid']))
{
eval("\$post['button_purgespammer'] = \"".$templates->get('postbit_purgespammer')."\";");

 
		}

if(!isset($profile_fields))
{
$profile_fields = array();

// Fetch profile fields to display
$pfcache = $cache->read('profilefields');

if(is_array($pfcache))
{
foreach($pfcache as $profilefield)
{
if($profilefield['postbit'] != 1)
{
continue;
}

$profile_fields[$profilefield['fid']] = $profilefield;
}
}

		}

// Display profile fields on posts - only if field is filled in

		}

// Display profile fields on posts - only if field is filled in

		if(is_array($profile_fields))


		$post['profilefield'] = '';
if(!empty($profile_fields))

		{
foreach($profile_fields as $field)
{

		{
foreach($profile_fields as $field)
{

Zeile 417Zeile 467

if(is_array($useropts) && ($type == "multiselect" || $type == "checkbox"))
{


if(is_array($useropts) && ($type == "multiselect" || $type == "checkbox"))
{

 
						$post['fieldvalue_option'] = '';


						foreach($useropts as $val)

						foreach($useropts as $val)

						{

						{

							if($val != '')
{
eval("\$post['fieldvalue_option'] .= \"".$templates->get("postbit_profilefield_multiselect_value")."\";");

							if($val != '')
{
eval("\$post['fieldvalue_option'] .= \"".$templates->get("postbit_profilefield_multiselect_value")."\";");

Zeile 427Zeile 479
						if($post['fieldvalue_option'] != '')
{
eval("\$post['fieldvalue'] .= \"".$templates->get("postbit_profilefield_multiselect")."\";");

						if($post['fieldvalue_option'] != '')
{
eval("\$post['fieldvalue'] .= \"".$templates->get("postbit_profilefield_multiselect")."\";");

						}
}

						}
}

					else
{
$field_parser_options = array(

					else
{
$field_parser_options = array(

Zeile 441Zeile 493
							"filter_badwords" => 1
);


							"filter_badwords" => 1
);


						if($customfield['type'] == "textarea")

						if($field['type'] == "textarea")

						{
$field_parser_options['me_username'] = $post['username'];
}

						{
$field_parser_options['me_username'] = $post['username'];
}

Zeile 450Zeile 502
							$field_parser_options['nl2br'] = 0;
}


							$field_parser_options['nl2br'] = 0;
}


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

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

						{
$field_parser_options['allow_imgcode'] = 0;
}

						{
$field_parser_options['allow_imgcode'] = 0;
}

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

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

		



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

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

 
		$post['userstars'] = '';
$post['useravatar'] = '';


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



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


Zeile 495Zeile 549
		eval("\$post['user_details'] = \"".$templates->get("postbit_author_guest")."\";");
}


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


 
	$post['input_editreason'] = '';

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

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

Zeile 508Zeile 563

// For private messages, fetch the reply/forward/delete icons
if($post_type == 2 && $post['pmid'])


// For private messages, fetch the reply/forward/delete icons
if($post_type == 2 && $post['pmid'])

	{

	{

		global $replyall;

		global $replyall;





		eval("\$post['button_reply_pm'] = \"".$templates->get("postbit_reply_pm")."\";");
eval("\$post['button_forward_pm'] = \"".$templates->get("postbit_forward_pm")."\";");
eval("\$post['button_delete_pm'] = \"".$templates->get("postbit_delete_pm")."\";");

		eval("\$post['button_reply_pm'] = \"".$templates->get("postbit_reply_pm")."\";");
eval("\$post['button_forward_pm'] = \"".$templates->get("postbit_forward_pm")."\";");
eval("\$post['button_delete_pm'] = \"".$templates->get("postbit_delete_pm")."\";");

Zeile 520Zeile 575
			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

		// 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)))

		if($post['edituid'] != 0 && $post['edittime'] != 0 && $post['editusername'] != "" && ($mybb->settings['showeditedby'] != 0 && $usergroup['cancp'] == 0 && !is_moderator($post['fid'], "", $post['uid']) || ($mybb->settings['showeditedbyadmin'] != 0 && ($usergroup['cancp'] == 1 || is_moderator($post['fid'], "", $post['uid'])))))

		{
$post['editdate'] = my_date('relative', $post['edittime']);
$post['editnote'] = $lang->sprintf($lang->postbit_edited, $post['editdate']);

		{
$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 540Zeile 601
			eval("\$post['editedmsg'] = \"".$templates->get("postbit_editedby")."\";");
}


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


		if((is_moderator($fid, "caneditposts") || ($forumpermissions['caneditposts'] == 1 && $mybb->user['uid'] == $post['uid'] && $thread['closed'] != 1)) && $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['input_editreason'] = \"".$templates->get("postbit_editreason")."\";");

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


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


Zeile 556Zeile 619
			else if($forumpermissions['candeleteposts'] == 1 && $postcounter != 1)
{
$can_delete_post = 1;

			else if($forumpermissions['candeleteposts'] == 1 && $postcounter != 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 = "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")."\";");
}

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













			}

			}

			else if((is_moderator($fid, "candeletethreads") || $can_delete_thread == 1) && $postcounter == 1)

			else if((is_moderator($fid, "candeletethreads") || is_moderator($fid, "cansoftdeletethreads") || $can_delete_thread == 1) && $postcounter == 1)

			{
$postbit_qdelete = $lang->postbit_qdelete_thread;

			{
$postbit_qdelete = $lang->postbit_qdelete_thread;

				$display = "";

				$display = '';

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

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

				}
$postbit_qrestore = $lang->postbit_qrestore_thread;

				}


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

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


// Restore Post
if(is_moderator($fid, "canrestoreposts"))

















			}

// 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)
{
$display = "none";
if($post['visible'] == -1)

				{

				{

					$display = "none";
if($post['visible'] == -1)
{
$display = "";
}
eval("\$post['button_quickrestore'] = \"".$templates->get("postbit_quickrestore")."\";");

					$display = "";






				}

				}

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

			}

			}

 
		}

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

		}

// Inline moderation stuff
if($ismod)
{

		}

// Inline moderation stuff
if($ismod)
{

			if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|".$post['pid']."|"))

			if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|".$post['pid']."|") !== false)

			{
$inlinecheck = "checked=\"checked\"";
$inlinecount++;

			{
$inlinecheck = "checked=\"checked\"";
$inlinecount++;

Zeile 619Zeile 687
			else
{
$inlinecheck = "";

			else
{
$inlinecheck = "";

			}

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

			}

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


if($post['visible'] == 0)
{
$invisiblepost = 1;


if($post['visible'] == 0)
{
$invisiblepost = 1;

			}
}
else
{

			}
}
else
{

			$post['inlinecheck'] = "";
}
$post['postlink'] = get_post_link($post['pid'], $post['tid']);
$post_number = my_number_format($postcounter);
eval("\$post['posturl'] = \"".$templates->get("postbit_posturl")."\";");
global $forum, $thread;

			$post['inlinecheck'] = "";
}
$post['postlink'] = get_post_link($post['pid'], $post['tid']);
$post_number = my_number_format($postcounter);
eval("\$post['posturl'] = \"".$templates->get("postbit_posturl")."\";");
global $forum, $thread;


if($forum['open'] != 0 && ($thread['closed'] != 1 || is_moderator($forum['fid'], "canpostclosedthreads")) && ($thread['uid'] == $mybb->user['uid'] || $forumpermissions['canonlyreplyownthreads'] != 1))
{


if($forum['open'] != 0 && ($thread['closed'] != 1 || is_moderator($forum['fid'], "canpostclosedthreads")) && ($thread['uid'] == $mybb->user['uid'] || empty($forumpermissions['canonlyreplyownthreads'])))
{

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


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


		if($forumpermissions['canpostreplys'] != 0 && ($thread['uid'] == $mybb->user['uid'] || $forumpermissions['canonlyreplyownthreads'] != 1) && ($thread['closed'] != 1 || is_moderator($fid, "canpostclosedthreads")) && $mybb->settings['multiquote'] != 0 && $forum['open'] != 0 && !$post_type)
{
eval("\$post['button_multiquote'] = \"".$templates->get("postbit_multiquote")."\";");
}

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



















		if($forumpermissions['canpostreplys'] != 0 && ($thread['uid'] == $mybb->user['uid'] || empty($forumpermissions['canonlyreplyownthreads'])) && ($thread['closed'] != 1 || is_moderator($fid, "canpostclosedthreads")) && $mybb->settings['multiquote'] != 0 && $forum['open'] != 0 && !$post_type)
{
eval("\$post['button_multiquote'] = \"".$templates->get("postbit_multiquote")."\";");
}

if(isset($post['reporters']))
{
$skip_report = my_unserialize($post['reporters']);
if(is_array($skip_report))
{
$skip_report[] = 0;
}
else
{
$skip_report = array(0);
}
}
else
{
$skip_report = array(0);
}

$reportable = user_permissions($post['uid']);
if(!in_array($mybb->user['uid'], $skip_report) && !empty($reportable['canbereported']))

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

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

Zeile 655Zeile 741
	elseif($post_type == 3) // announcement
{
if($mybb->usergroup['canmodcp'] == 1 && $mybb->usergroup['canmanageannounce'] == 1 && is_moderator($fid, "canmanageannouncements"))

	elseif($post_type == 3) // announcement
{
if($mybb->usergroup['canmodcp'] == 1 && $mybb->usergroup['canmanageannounce'] == 1 && is_moderator($fid, "canmanageannouncements"))

		{

		{

			eval("\$post['button_edit'] = \"".$templates->get("announcement_edit")."\";");
eval("\$post['button_quickdelete'] = \"".$templates->get("announcement_quickdelete")."\";");
}

			eval("\$post['button_edit'] = \"".$templates->get("announcement_edit")."\";");
eval("\$post['button_quickdelete'] = \"".$templates->get("announcement_quickdelete")."\";");
}

Zeile 663Zeile 749

$post['iplogged'] = '';
$show_ips = $mybb->settings['logip'];


$post['iplogged'] = '';
$show_ips = $mybb->settings['logip'];

	$ipaddress = my_inet_ntop($db->unescape_binary($post['ipaddress']));


	


	// Show post IP addresses... PMs now can have IP addresses too as of 1.8!
if($post_type == 2)
{

	// Show post IP addresses... PMs now can have IP addresses too as of 1.8!
if($post_type == 2)
{

Zeile 674Zeile 759
	{
if($show_ips != "no" && !empty($post['ipaddress']))
{

	{
if($show_ips != "no" && !empty($post['ipaddress']))
{

 
			$ipaddress = my_inet_ntop($db->unescape_binary($post['ipaddress']));


			if($show_ips == "show")
{
eval("\$post['iplogged'] = \"".$templates->get("postbit_iplogged_show")."\";");

			if($show_ips == "show")
{
eval("\$post['iplogged'] = \"".$templates->get("postbit_iplogged_show")."\";");

Zeile 681Zeile 768
			else if($show_ips == "hide" && (is_moderator($fid, "canviewips") || $mybb->usergroup['issupermod']))
{
$action = 'getip';

			else if($show_ips == "hide" && (is_moderator($fid, "canviewips") || $mybb->usergroup['issupermod']))
{
$action = 'getip';

 
				$javascript = 'getIP';


				if($post_type == 2)
{
$action = 'getpmip';

				if($post_type == 2)
{
$action = 'getpmip';

 
					$javascript = 'getPMIP';

				}

				}

 


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

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

 
	}

$post['poststatus'] = '';
if(!$post_type && $post['visible'] != 1)
{
$status_type = '';
if(is_moderator($fid, "canviewdeleted") && $postcounter != 1 && $post['visible'] == -1)
{
$status_type = $lang->postbit_post_deleted;
}
else if(is_moderator($fid, "canviewunapprove") && $postcounter != 1 && $post['visible'] == 0)
{
$status_type = $lang->postbit_post_unapproved;
}
else if(is_moderator($fid, "canviewdeleted") && $postcounter == 1 && $post['visible'] == -1)
{
$status_type = $lang->postbit_thread_deleted;
}
else if(is_moderator($fid, "canviewunapprove") && $postcounter == 1 && $post['visible'] == 0)
{
$status_type = $lang->postbit_thread_unapproved;
}

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

	}

if(isset($post['smilieoff']) && $post['smilieoff'] == 1)

	}

if(isset($post['smilieoff']) && $post['smilieoff'] == 1)

Zeile 695Zeile 810
		$parser_options['allow_smilies'] = 0;
}


		$parser_options['allow_smilies'] = 0;
}


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

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

	{
$parser_options['allow_imgcode'] = 0;
}


	{
$parser_options['allow_imgcode'] = 0;
}


	if($mybb->user['showvideos'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0)

	if($mybb->user['uid'] != 0 && $mybb->user['showvideos'] != 1 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0)

	{
$parser_options['allow_videocode'] = 0;
}

	{
$parser_options['allow_videocode'] = 0;
}

Zeile 720Zeile 835
		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
);


			"filter_badwords" => 1
);


Zeile 736Zeile 853
			$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)

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

		{
$sig_parser['allow_imgcode'] = 0;
}

		{
$sig_parser['allow_imgcode'] = 0;
}

Zeile 765Zeile 882
		$post['icon'] = "";
}


		$post['icon'] = "";
}


	$post_visibility = $ignore_bit = '';

	$post_visibility = $ignore_bit = $deleted_bit = '';

	switch($post_type)
{
case 1: // Message preview

	switch($post_type)
{
case 1: // Message preview

Zeile 779Zeile 896
			break;
default: // Regular post
$post = $plugins->run_hooks("postbit", $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;
}
}
}

// Has this post been deleted but can be viewed? Hide this post
if($post['visible'] == -1 && is_moderator($fid, "canviewdeleted"))
{
$deleted_message = $lang->sprintf($lang->postbit_deleted_post_user, $post['username']);
eval("\$deleted_bit = \"".$templates->get("postbit_deleted")."\";");
$post_visibility = "display: none;";
}

// Is the user (not moderator) logged in and have unapproved posts?
if($mybb->user['uid'] && $post['visible'] == 0 && $post['uid'] == $mybb->user['uid'] && !is_moderator($fid, "canviewunapprove"))
{
$ignored_message = $lang->sprintf($lang->postbit_post_under_moderation, $post['username']);
eval("\$ignore_bit = \"".$templates->get("postbit_ignored")."\";");
$post_visibility = "display: none;";
}


// Is this author on the ignore list of the current user? Hide this post


// 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)

			if(is_array($ignored_users) && $post['uid'] != 0 && isset($ignored_users[$post['uid']]) && $ignored_users[$post['uid']] == 1 && empty($deleted_bit))

			{
$ignored_message = $lang->sprintf($lang->postbit_currently_ignoring_user, $post['username']);
eval("\$ignore_bit = \"".$templates->get("postbit_ignored")."\";");
$post_visibility = "display: none;";
}
break;

			{
$ignored_message = $lang->sprintf($lang->postbit_currently_ignoring_user, $post['username']);
eval("\$ignore_bit = \"".$templates->get("postbit_ignored")."\";");
$post_visibility = "display: none;";
}
break;

	}

	}





	if($mybb->settings['postlayout'] == "classic")

	if($post_type == 0 && $forumpermissions['canviewdeletionnotice'] == 1 && $post['visible'] == -1 && !is_moderator($fid, "canviewdeleted"))

	{

	{

		eval("\$postbit = \"".$templates->get("postbit_classic")."\";");

		eval("\$postbit = \"".$templates->get("postbit_deleted_member")."\";");

	}
else
{

	}
else
{

		eval("\$postbit = \"".$templates->get("postbit")."\";");








		if($mybb->settings['postlayout'] == "classic")
{
eval("\$postbit = \"".$templates->get("postbit_classic")."\";");
}
else
{
eval("\$postbit = \"".$templates->get("postbit")."\";");
}

	}

	}

	$GLOBALS['post'] = "";



$GLOBALS['post'] = "";


return $postbit;
}


return $postbit;
}

Zeile 807Zeile 961
 * 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)
{
global $attachcache, $mybb, $theme, $templates, $forumpermissions, $lang;

 */
function get_post_attachments($id, &$post)
{
global $attachcache, $mybb, $theme, $templates, $forumpermissions, $lang;





	$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)

Zeile 839Zeile 998

if(!$attachment['dateuploaded'])
{


if(!$attachment['dateuploaded'])
{

					$attachment['dateuploaded'] = $attachment['dateline'];

					$attachment['dateuploaded'] = $post['dateline'];

				}

				}

				$attachdate = my_date('relative', $attachment['dateuploaded']);

				$attachdate = my_date('normal', $attachment['dateuploaded']);

				// Support for [attachment=id] code
if(stripos($post['message'], "[attachment=".$attachment['aid']."]") !== false)
{

				// Support for [attachment=id] code
if(stripos($post['message'], "[attachment=".$attachment['aid']."]") !== false)
{

Zeile 872Zeile 1031
						eval("\$post['thumblist'] .= \"".$templates->get("postbit_attachments_thumbnails_thumbnail")."\";");
if($tcount == 5)
{

						eval("\$post['thumblist'] .= \"".$templates->get("postbit_attachments_thumbnails_thumbnail")."\";");
if($tcount == 5)
{

							$thumblist .= "<br />";

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

							$tcount = 0;
}
++$tcount;
}
elseif((($attachment['thumbnail'] == "SMALL" && $forumpermissions['candlattachments'] == 1) || $mybb->settings['attachthumbnails'] == "no") && $isimage)
{

							$tcount = 0;
}
++$tcount;
}
elseif((($attachment['thumbnail'] == "SMALL" && $forumpermissions['candlattachments'] == 1) || $mybb->settings['attachthumbnails'] == "no") && $isimage)
{

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














						if ($forumpermissions['candlattachments'])
{
eval("\$post['imagelist'] .= \"".$templates->get("postbit_attachments_images_image")."\";");
}
else
{
eval("\$post['thumblist'] .= \"".$templates->get("postbit_attachments_thumbnails_thumbnail")."\";");
if($tcount == 5)
{
$post['thumblist'] .= "<br />";
$tcount = 0;
}
++$tcount;
}

					}
else
{

					}
else
{

Zeile 890Zeile 1062
			else
{
$validationcount++;

			else
{
$validationcount++;

			}

			}

		}
if($validationcount > 0 && is_moderator($post['fid'], "canviewunapprove"))
{

		}
if($validationcount > 0 && is_moderator($post['fid'], "canviewunapprove"))
{

Zeile 917Zeile 1089
			eval("\$post['attachedimages'] = \"".$templates->get("postbit_attachments_images")."\";");
}
else

			eval("\$post['attachedimages'] = \"".$templates->get("postbit_attachments_images")."\";");
}
else

		{

		{

			$post['attachedimages'] = '';

			$post['attachedimages'] = '';

		}

		}

		if($post['attachmentlist'] || $post['thumblist'] || $post['imagelist'])

		if($post['attachmentlist'] || $post['thumblist'] || $post['imagelist'])

		{

		{

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

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

 
		}
}
}

/**
* Returns bytes count from human readable string
* Used to parse ini_get human-readable values to int
*
* @param string $val Human-readable value
*/
function return_bytes($val) {
$val = trim($val);
if ($val == "")
{
return 0;
}

$last = strtolower($val[strlen($val)-1]);

$val = intval($val);

switch($last)
{
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
}

return $val;
}

/**
* Detects whether an attachment removal/approval/unapproval
* submit button was pressed (without triggering an AJAX request)
* and sets inputs accordingly (as for an AJAX request).
*/
function detect_attachmentact()
{
global $mybb;

foreach($mybb->input as $key => $val)
{
if(strpos($key, 'rem_') === 0)
{
$mybb->input['attachmentaid'] = (int)substr($key, 4);
$mybb->input['attachmentact'] = 'remove';
break;
}
elseif(strpos($key, 'approveattach_') === 0)
{
$mybb->input['attachmentaid'] = (int)substr($key, 14);
$mybb->input['attachmentact'] = 'approve';
break;
}
elseif(strpos($key, 'unapproveattach_') === 0)
{
$mybb->input['attachmentaid'] = (int)substr($key, 16);
$mybb->input['attachmentact'] = 'unapprove';
break;

		}
}
}

		}
}
}