Vergleich private.php - 1.8.12 - 1.8.30

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 42Zeile 42
	error_no_permission();
}


	error_no_permission();
}


if(!$mybb->user['pmfolders'])
{
$mybb->user['pmfolders'] = "1**$%%$2**$%%$3**$%%$4**";

$sql_array = array(
"pmfolders" => $mybb->user['pmfolders']
);
$db->update_query("users", $sql_array, "uid = ".$mybb->user['uid']);
}

$mybb->input['fid'] = $mybb->get_input('fid', MyBB::INPUT_INT);

$folder_id = $folder_name = '';


$mybb->input['fid'] = $mybb->get_input('fid', MyBB::INPUT_INT);

$folder_id = $folder_name = $folderjump_folder = $folderoplist_folder = $foldersearch_folder ='';












$foldernames = array();
$foldersexploded = explode("$%%$", $mybb->user['pmfolders']);
foreach($foldersexploded as $key => $folders)

$foldernames = array();
$foldersexploded = explode("$%%$", $mybb->user['pmfolders']);
foreach($foldersexploded as $key => $folders)

Zeile 64Zeile 54
	if($mybb->input['fid'] == $folderinfo[0])
{
$sel = ' selected="selected"';

	if($mybb->input['fid'] == $folderinfo[0])
{
$sel = ' selected="selected"';

	}

	}

	else
{
$sel = '';

	else
{
$sel = '';

Zeile 76Zeile 66
	$folder_name = $folderinfo[1];

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

	$folder_name = $folderinfo[1];

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

	eval("\$folderoplist_folder .= \"".$templates->get("private_jump_folders_folder")."\";");
eval("\$foldersearch_folder .= \"".$templates->get("private_jump_folders_folder")."\";");











// Manipulate search folder selection & move selector to omit "Unread"
if($folder_id != 1)
{
if($folder_id == 0)
{
$folder_id = 1;
}
eval("\$folderoplist_folder .= \"".$templates->get("private_jump_folders_folder")."\";");
eval("\$foldersearch_folder .= \"".$templates->get("private_jump_folders_folder")."\";");
}

}

}

 

$from_fid = $mybb->input['fid'];


eval("\$folderjump = \"".$templates->get("private_jump_folders")."\";");
eval("\$folderoplist = \"".$templates->get("private_move")."\";");
eval("\$foldersearch = \"".$templates->get("private_advanced_search_folders")."\";");

usercp_menu();


eval("\$folderjump = \"".$templates->get("private_jump_folders")."\";");
eval("\$folderoplist = \"".$templates->get("private_move")."\";");
eval("\$foldersearch = \"".$templates->get("private_advanced_search_folders")."\";");

usercp_menu();





$plugins->run_hooks("private_start");

// Make navigation

$plugins->run_hooks("private_start");

// Make navigation

Zeile 93Zeile 94

$mybb->input['action'] = $mybb->get_input('action');
switch($mybb->input['action'])


$mybb->input['action'] = $mybb->get_input('action');
switch($mybb->input['action'])

{

{

	case "send":
add_breadcrumb($lang->nav_send);
break;

	case "send":
add_breadcrumb($lang->nav_send);
break;

Zeile 102Zeile 103
		break;
case "folders":
add_breadcrumb($lang->nav_folders);

		break;
case "folders":
add_breadcrumb($lang->nav_folders);

		break;

		break;

	case "empty":
add_breadcrumb($lang->nav_empty);
break;

	case "empty":
add_breadcrumb($lang->nav_empty);
break;

Zeile 111Zeile 112
		break;
case "advanced_search":
add_breadcrumb($lang->nav_search);

		break;
case "advanced_search":
add_breadcrumb($lang->nav_search);

		break;

		break;

	case "results":
add_breadcrumb($lang->nav_results);
break;

	case "results":
add_breadcrumb($lang->nav_results);
break;

}


}


if(!empty($mybb->input['preview']))
{
$mybb->input['action'] = "send";

if(!empty($mybb->input['preview']))
{
$mybb->input['action'] = "send";

}


}


if(($mybb->input['action'] == "do_search" || $mybb->input['action'] == "do_stuff" && ($mybb->get_input('quick_search') || !$mybb->get_input('hop') && !$mybb->get_input('moveto') && !$mybb->get_input('delete'))) && $mybb->request_method == "post")
{
$plugins->run_hooks("private_do_search_start");

if(($mybb->input['action'] == "do_search" || $mybb->input['action'] == "do_stuff" && ($mybb->get_input('quick_search') || !$mybb->get_input('hop') && !$mybb->get_input('moveto') && !$mybb->get_input('delete'))) && $mybb->request_method == "post")
{
$plugins->run_hooks("private_do_search_start");

Zeile 157Zeile 158
				$lang->error_searchflooding = $lang->sprintf($lang->error_searchflooding, $mybb->settings['searchfloodtime'], $remaining_time);
}
error($lang->error_searchflooding);

				$lang->error_searchflooding = $lang->sprintf($lang->error_searchflooding, $mybb->settings['searchfloodtime'], $remaining_time);
}
error($lang->error_searchflooding);

		}

		}

	}

if($mybb->get_input('subject', MyBB::INPUT_INT) != 1 && $mybb->get_input('message', MyBB::INPUT_INT) != 1)

	}

if($mybb->get_input('subject', MyBB::INPUT_INT) != 1 && $mybb->get_input('message', MyBB::INPUT_INT) != 1)

Zeile 265Zeile 266
	else
{
$sortby = $query_sortby = "dateline";

	else
{
$sortby = $query_sortby = "dateline";

	}


	}


	if($order != "asc")
{
$order = "desc";
}

if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)

	if($order != "asc")
{
$order = "desc";
}

if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)

	{

	{

		$mybb->settings['threadsperpage'] = 20;
}

		$mybb->settings['threadsperpage'] = 20;
}

 

$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "pmid IN(".$db->escape_string($search['querycache']).")");
$pmscount = $db->fetch_field($query, "total");


// Work out pagination, which page we're at, as well as the limits.
$perpage = $mybb->settings['threadsperpage'];
$page = $mybb->get_input('page', MyBB::INPUT_INT);
if($page > 0)


// Work out pagination, which page we're at, as well as the limits.
$perpage = $mybb->settings['threadsperpage'];
$page = $mybb->get_input('page', MyBB::INPUT_INT);
if($page > 0)

	{

	{

		$start = ($page-1) * $perpage;

		$start = ($page-1) * $perpage;

 
		$pages = ceil($pmscount / $perpage);
if($page > $pages)
{
$start = 0;
$page = 1;
}

	}
else

	}
else

	{

	{

		$start = 0;
$page = 1;
}

		$start = 0;
$page = 1;
}

Zeile 298Zeile 308
	if($search['keywords'])
{
$highlight = "&amp;highlight=".urlencode($search['keywords']);

	if($search['keywords'])
{
$highlight = "&amp;highlight=".urlencode($search['keywords']);

	}


	}


	// Do Multi Pages

	// Do Multi Pages

	$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "pmid IN(".$db->escape_string($search['querycache']).")");
$pmscount = $db->fetch_array($query);


 
	if($upper > $pmscount)
{
$upper = $pmscount;
}

	if($upper > $pmscount)
{
$upper = $pmscount;
}

	$multipage = multipage($pmscount['total'], $perpage, $page, "private.php?action=results&amp;sid=".htmlspecialchars_uni($mybb->get_input('sid'))."&amp;sortby={$sortby}&amp;order={$order}");

	$multipage = multipage($pmscount, $perpage, $page, "private.php?action=results&amp;sid=".htmlspecialchars_uni($mybb->get_input('sid'))."&amp;sortby={$sortby}&amp;order={$order}");

	$messagelist = '';

$icon_cache = $cache->read("posticons");

	$messagelist = '';

$icon_cache = $cache->read("posticons");

Zeile 320Zeile 327
	while($row = $db->fetch_array($users_query))
{
$recipients = my_unserialize($row['recipients']);

	while($row = $db->fetch_array($users_query))
{
$recipients = my_unserialize($row['recipients']);

		if(is_array($recipients['to']) && count($recipients['to']))
{

		if(isset($recipients['to']) && is_array($recipients['to']) && count($recipients['to']))
{

			$get_users = array_merge($get_users, $recipients['to']);
}

if(isset($recipients['bcc']) && is_array($recipients['bcc']) && count($recipients['bcc']))

			$get_users = array_merge($get_users, $recipients['to']);
}

if(isset($recipients['bcc']) && is_array($recipients['bcc']) && count($recipients['bcc']))

		{

		{

			$get_users = array_merge($get_users, $recipients['bcc']);

			$get_users = array_merge($get_users, $recipients['bcc']);

		}
}


		}
}


	$get_users = implode(',', array_unique($get_users));

// Grab info

	$get_users = implode(',', array_unique($get_users));

// Grab info

Zeile 340Zeile 347
		while($user = $db->fetch_array($users_query))
{
$cached_users[$user['uid']] = $user;

		while($user = $db->fetch_array($users_query))
{
$cached_users[$user['uid']] = $user;

		}
}

$query = $db->query("

		}
}

$query = $db->query("

		SELECT pm.*, fu.username AS fromusername, tu.username as tousername
FROM ".TABLE_PREFIX."privatemessages pm
LEFT JOIN ".TABLE_PREFIX."users fu ON (fu.uid=pm.fromid)

		SELECT pm.*, fu.username AS fromusername, tu.username as tousername
FROM ".TABLE_PREFIX."privatemessages pm
LEFT JOIN ".TABLE_PREFIX."users fu ON (fu.uid=pm.fromid)

Zeile 386Zeile 393
			// Sent Items or Drafts Folder Check
$recipients = my_unserialize($message['recipients']);
$to_users = $bcc_users = '';

			// Sent Items or Drafts Folder Check
$recipients = my_unserialize($message['recipients']);
$to_users = $bcc_users = '';

			if(count($recipients['to']) > 1 || (count($recipients['to']) == 1 && isset($recipients['bcc']) && count($recipients['bcc']) > 0))




			if(
isset($recipients['to']) &&
(count($recipients['to']) > 1 || (count($recipients['to']) == 1 && isset($recipients['bcc']) && count($recipients['bcc']) > 0))
)

			{
foreach($recipients['to'] as $uid)
{

			{
foreach($recipients['to'] as $uid)
{

Zeile 417Zeile 427
				$tofromuid = $message['toid'];
}
else

				$tofromuid = $message['toid'];
}
else

			{

			{

				$tofromusername = $lang->not_sent;

				$tofromusername = $lang->not_sent;

			}
}
else

			}
}
else

		{
$tofromusername = htmlspecialchars_uni($message['fromusername']);
$tofromuid = $message['fromid'];

		{
$tofromusername = htmlspecialchars_uni($message['fromusername']);
$tofromuid = $message['fromid'];

Zeile 429Zeile 439
			{
$tofromusername = $lang->mybb_engine;
}

			{
$tofromusername = $lang->mybb_engine;
}

		}

		}


$tofromusername = build_profile_link($tofromusername, $tofromuid);



$tofromusername = build_profile_link($tofromusername, $tofromuid);


Zeile 442Zeile 452
			$icon['path'] = htmlspecialchars_uni($icon['path']);
$icon['name'] = htmlspecialchars_uni($icon['name']);
eval("\$icon = \"".$templates->get("private_messagebit_icon")."\";");

			$icon['path'] = htmlspecialchars_uni($icon['path']);
$icon['name'] = htmlspecialchars_uni($icon['name']);
eval("\$icon = \"".$templates->get("private_messagebit_icon")."\";");

		}

		}

		else
{
$icon = '&#009;';

		else
{
$icon = '&#009;';

		}


		}


		if(!trim($message['subject']))
{
$message['subject'] = $lang->pm_no_subject;

		if(!trim($message['subject']))
{
$message['subject'] = $lang->pm_no_subject;

		}

$message['subject'] = $parser->parse_badwords($message['subject']);


		}

$message['subject'] = $parser->parse_badwords($message['subject']);


		if(my_strlen($message['subject']) > 50)
{
$message['subject'] = htmlspecialchars_uni(my_substr($message['subject'], 0, 50)."...");

		if(my_strlen($message['subject']) > 50)
{
$message['subject'] = htmlspecialchars_uni(my_substr($message['subject'], 0, 50)."...");

		}
else

		}
else

		{
$message['subject'] = htmlspecialchars_uni($message['subject']);

		{
$message['subject'] = htmlspecialchars_uni($message['subject']);

		}


		}


		if($message['folder'] != "3")
{
$senddate = my_date('relative', $message['dateline']);

		if($message['folder'] != "3")
{
$senddate = my_date('relative', $message['dateline']);

Zeile 471Zeile 481
		else
{
$senddate = $lang->not_sent;

		else
{
$senddate = $lang->not_sent;

		}

$foldername = $foldernames[$message['folder']];






		}

$fid = "0";
if((int)$message['folder'] > 1)
{
$fid = $message['folder'];
}
$foldername = $foldernames[$fid];


// What we do here is parse the post using our post parser, then strip the tags from it
$parser_options = array(


// What we do here is parse the post using our post parser, then strip the tags from it
$parser_options = array(

Zeile 490Zeile 505
		}

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

		}

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

	}


	}


	if($db->num_rows($query) == 0)
{
eval("\$messagelist = \"".$templates->get("private_search_results_nomessages")."\";");

	if($db->num_rows($query) == 0)
{
eval("\$messagelist = \"".$templates->get("private_search_results_nomessages")."\";");

Zeile 556Zeile 571

// Attempt to see if this PM is a duplicate or not
$to = array_map("trim", explode(",", $mybb->get_input('to')));


// Attempt to see if this PM is a duplicate or not
$to = array_map("trim", explode(",", $mybb->get_input('to')));

 
	$to = array_unique($to); // Filter out any duplicates

	$to_escaped = implode("','", array_map(array($db, 'escape_string'), array_map('my_strtolower', $to)));
$time_cutoff = TIME_NOW - (5 * 60 * 60);
$query = $db->query("

	$to_escaped = implode("','", array_map(array($db, 'escape_string'), array_map('my_strtolower', $to)));
$time_cutoff = TIME_NOW - (5 * 60 * 60);
$query = $db->query("

Zeile 565Zeile 581
		WHERE LOWER(u.username) IN ('{$to_escaped}') AND pm.dateline > {$time_cutoff} AND pm.fromid='{$mybb->user['uid']}' AND pm.subject='".$db->escape_string($mybb->get_input('subject'))."' AND pm.message='".$db->escape_string($mybb->get_input('message'))."' AND pm.folder!='3'
LIMIT 0, 1
");

		WHERE LOWER(u.username) IN ('{$to_escaped}') AND pm.dateline > {$time_cutoff} AND pm.fromid='{$mybb->user['uid']}' AND pm.subject='".$db->escape_string($mybb->get_input('subject'))."' AND pm.message='".$db->escape_string($mybb->get_input('message'))."' AND pm.folder!='3'
LIMIT 0, 1
");

	$duplicate_check = $db->fetch_field($query, "pmid");
if($duplicate_check)

	if($db->num_rows($query) > 0)


	{
error($lang->error_pm_already_submitted);
}

	{
error($lang->error_pm_already_submitted);
}

Zeile 590Zeile 605
	{
$pm['bcc'] = explode(",", $mybb->get_input('bcc'));
$pm['bcc'] = array_map("trim", $pm['bcc']);

	{
$pm['bcc'] = explode(",", $mybb->get_input('bcc'));
$pm['bcc'] = array_map("trim", $pm['bcc']);

	}

	}


$mybb->input['options'] = $mybb->get_input('options', MyBB::INPUT_ARRAY);



$mybb->input['options'] = $mybb->get_input('options', MyBB::INPUT_ARRAY);


Zeile 603Zeile 618
	if(isset($mybb->input['options']['signature']) && $mybb->input['options']['signature'] == 1)
{
$pm['options']['signature'] = 1;

	if(isset($mybb->input['options']['signature']) && $mybb->input['options']['signature'] == 1)
{
$pm['options']['signature'] = 1;

	}

	}

	else
{
$pm['options']['signature'] = 0;

	else
{
$pm['options']['signature'] = 0;

	}

	}

	if(isset($mybb->input['options']['disablesmilies']))
{
$pm['options']['disablesmilies'] = $mybb->input['options']['disablesmilies'];

	if(isset($mybb->input['options']['disablesmilies']))
{
$pm['options']['disablesmilies'] = $mybb->input['options']['disablesmilies'];

	}

	}

	if(isset($mybb->input['options']['savecopy']) && $mybb->input['options']['savecopy'] == 1)
{
$pm['options']['savecopy'] = 1;

	if(isset($mybb->input['options']['savecopy']) && $mybb->input['options']['savecopy'] == 1)
{
$pm['options']['savecopy'] = 1;

	}

	}

	else
{
$pm['options']['savecopy'] = 0;

	else
{
$pm['options']['savecopy'] = 0;

	}

	}

	if(isset($mybb->input['options']['readreceipt']))
{
$pm['options']['readreceipt'] = $mybb->input['options']['readreceipt'];

	if(isset($mybb->input['options']['readreceipt']))
{
$pm['options']['readreceipt'] = $mybb->input['options']['readreceipt'];

	}


	}


	if(!empty($mybb->input['saveasdraft']))
{
$pm['saveasdraft'] = 1;

	if(!empty($mybb->input['saveasdraft']))
{
$pm['saveasdraft'] = 1;

	}

	}

	$pmhandler->set_data($pm);

// Now let the pm handler do all the hard work.

	$pmhandler->set_data($pm);

// Now let the pm handler do all the hard work.

Zeile 637Zeile 652
		$pm_errors = $pmhandler->get_friendly_errors();
$send_errors = inline_error($pm_errors);
$mybb->input['action'] = "send";

		$pm_errors = $pmhandler->get_friendly_errors();
$send_errors = inline_error($pm_errors);
$mybb->input['action'] = "send";

	}
else
{

	}
else
{

		$pminfo = $pmhandler->insert_pm();
$plugins->run_hooks("private_do_send_end");


		$pminfo = $pmhandler->insert_pm();
$plugins->run_hooks("private_do_send_end");


Zeile 702Zeile 717
		{
$optionschecked['readreceipt'] = 'checked="checked"';
}

		{
$optionschecked['readreceipt'] = 'checked="checked"';
}

		$to = htmlspecialchars_uni($mybb->get_input('to'));
$bcc = htmlspecialchars_uni($mybb->get_input('bcc'));

		$to = htmlspecialchars_uni(implode(', ', array_unique(array_map('trim', explode(',', $mybb->get_input('to'))))));
$bcc = htmlspecialchars_uni(implode(', ', array_unique(array_map('trim', explode(',', $mybb->get_input('bcc'))))));

	}

$preview = '';

	}

$preview = '';

Zeile 751Zeile 766
			'namestyle' => 'namestyle',
'usereputationsystem' => 'usereputationsystem'
);

			'namestyle' => 'namestyle',
'usereputationsystem' => 'usereputationsystem'
);





		foreach($data_key as $field => $key)
{
$post[$key] = $groupscache[$post['usergroup']][$field];

		foreach($data_key as $field => $key)
{
$post[$key] = $groupscache[$post['usergroup']][$field];

		}


		}


		$postbit = build_postbit($post, 2);
eval("\$preview = \"".$templates->get("previewpost")."\";");
}

		$postbit = build_postbit($post, 2);
eval("\$preview = \"".$templates->get("previewpost")."\";");
}

Zeile 787Zeile 802
		$pm = $db->fetch_array($query);
$message = htmlspecialchars_uni($parser->parse_badwords($pm['message']));
$subject = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));

		$pm = $db->fetch_array($query);
$message = htmlspecialchars_uni($parser->parse_badwords($pm['message']));
$subject = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));





		if($pm['folder'] == "3")
{
// message saved in drafts

		if($pm['folder'] == "3")
{
// message saved in drafts

Zeile 860Zeile 875
			}

if($mybb->input['do'] == 'forward')

			}

if($mybb->input['do'] == 'forward')

			{

			{

				$subject = "Fw: $subject";
}
elseif($mybb->input['do'] == 'reply')

				$subject = "Fw: $subject";
}
elseif($mybb->input['do'] == 'reply')

Zeile 922Zeile 937

if($send_errors)
{


if($send_errors)
{

		$to = htmlspecialchars_uni($mybb->get_input('to'));
$bcc = htmlspecialchars_uni($mybb->get_input('bcc'));

		$to = htmlspecialchars_uni(implode(', ', array_unique(array_map('trim', explode(',', $mybb->get_input('to'))))));
$bcc = htmlspecialchars_uni(implode(', ', array_unique(array_map('trim', explode(',', $mybb->get_input('bcc'))))));

	}

// Load the auto complete javascript if it is enabled.

	}

// Load the auto complete javascript if it is enabled.

Zeile 934Zeile 949
	if($do != "forward" && $do != "reply" && $do != "replyall")
{
$do = '';

	if($do != "forward" && $do != "reply" && $do != "replyall")
{
$do = '';

	}


	}


	$buddy_select_to = $buddy_select_bcc = '';
// See if it's actually worth showing the buddylist icon.
if($mybb->user['buddylist'] != '' && $mybb->settings['use_xmlhttprequest'] == 1)

	$buddy_select_to = $buddy_select_bcc = '';
// See if it's actually worth showing the buddylist icon.
if($mybb->user['buddylist'] != '' && $mybb->settings['use_xmlhttprequest'] == 1)

Zeile 1045Zeile 1060
	{
$reply_string = $lang->you_replied_on;
$reply_date = my_date('relative', $pm['statustime']);

	{
$reply_string = $lang->you_replied_on;
$reply_date = my_date('relative', $pm['statustime']);





		if((TIME_NOW - $pm['statustime']) < 3600)
{
// Relative string for the first hour

		if((TIME_NOW - $pm['statustime']) < 3600)
{
// Relative string for the first hour

Zeile 1053Zeile 1068
		}

$actioned_on = $lang->sprintf($reply_string, $reply_date);

		}

$actioned_on = $lang->sprintf($reply_string, $reply_date);

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

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

	}
else if($pm['status'] == 4 && $pm['statustime'])
{

	}
else if($pm['status'] == 4 && $pm['statustime'])
{

Zeile 1071Zeile 1086

$pm['userusername'] = $pm['username'];
$pm['subject'] = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));


$pm['userusername'] = $pm['username'];
$pm['subject'] = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));





	if($pm['fromid'] == 0)
{
$pm['username'] = $lang->mybb_engine;

	if($pm['fromid'] == 0)
{
$pm['username'] = $lang->mybb_engine;

	}


	}


	if(!$pm['username'])
{
$pm['username'] = $lang->na;

	if(!$pm['username'])
{
$pm['username'] = $lang->na;

	}


	}


	// Fetch the recipients for this message
$pm['recipients'] = my_unserialize($pm['recipients']);


	// Fetch the recipients for this message
$pm['recipients'] = my_unserialize($pm['recipients']);


	if(is_array($pm['recipients']['to']))

	if(isset($pm['recipients']['to']) && is_array($pm['recipients']['to']))

	{
$uid_sql = implode(',', $pm['recipients']['to']);
}

	{
$uid_sql = implode(',', $pm['recipients']['to']);
}

Zeile 1161Zeile 1176
	{
$trow = alt_trow();


	{
$trow = alt_trow();


		$optionschecked = array('savecopy' => 'checked="checked"');

		$optionschecked = array('savecopy' => 'checked="checked"', 'signature' => '', 'disablesmilies' => '');

		if(!empty($mybb->user['signature']))
{
$optionschecked['signature'] = 'checked="checked"';

		if(!empty($mybb->user['signature']))
{
$optionschecked['signature'] = 'checked="checked"';

Zeile 1205Zeile 1220
			eval("\$private_send_tracking = \"".$templates->get("private_send_tracking")."\";");
}


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


		eval("\$quickreply = \"".$templates->get("private_quickreply")."\";");
}

		$postoptionschecked = $optionschecked; // Backwards compatability instead of correcting variable used in template






	$plugins->run_hooks("private_read_end");


















		if(!isset($collapsedthead['quickreply']))
{
$collapsedthead['quickreply'] = '';
}
if(!isset($collapsedimg['quickreply']))
{
$collapsedimg['quickreply'] = '';
}
if(!isset($collapsed['quickreply_e']))
{
$collapsed['quickreply_e'] = '';
}

$expaltext = (in_array("quickreply", $collapse)) ? $lang->expcol_expand : $lang->expcol_collapse;
eval("\$quickreply = \"".$templates->get("private_quickreply")."\";");
}

$plugins->run_hooks("private_read_end");


eval("\$read = \"".$templates->get("private_read")."\";");
output_page($read);


eval("\$read = \"".$templates->get("private_read")."\";");
output_page($read);

Zeile 1217Zeile 1248
if($mybb->input['action'] == "tracking")
{
if(!$mybb->usergroup['cantrackpms'])

if($mybb->input['action'] == "tracking")
{
if(!$mybb->usergroup['cantrackpms'])

	{

	{

		error_no_permission();
}

		error_no_permission();
}





	$plugins->run_hooks("private_tracking_start");
$readmessages = '';
$unreadmessages = '';

	$plugins->run_hooks("private_tracking_start");
$readmessages = '';
$unreadmessages = '';

Zeile 1228Zeile 1259
	if(!$mybb->settings['postsperpage'] || (int)$mybb->settings['postsperpage'] < 1)
{
$mybb->settings['postsperpage'] = 20;

	if(!$mybb->settings['postsperpage'] || (int)$mybb->settings['postsperpage'] < 1)
{
$mybb->settings['postsperpage'] = 20;

	}


	}


	// Figure out if we need to display multiple pages.
$perpage = $mybb->settings['postsperpage'];


	// Figure out if we need to display multiple pages.
$perpage = $mybb->settings['postsperpage'];


Zeile 1298Zeile 1329
	$pages = ceil($pages);

if($mybb->get_input('unread_page') == "last")

	$pages = ceil($pages);

if($mybb->get_input('unread_page') == "last")

	{

	{

		$page = $pages;
}

if($page > $pages || $page <= 0)

		$page = $pages;
}

if($page > $pages || $page <= 0)

	{
$page = 1;
}


	{
$page = 1;
}


	if($page)
{
$start = ($page-1) * $perpage;

	if($page)
{
$start = ($page-1) * $perpage;

Zeile 1315Zeile 1346
	{
$start = 0;
$page = 1;

	{
$start = 0;
$page = 1;

	}

	}


$unread_multipage = multipage($postcount, $perpage, $page, "private.php?action=tracking&amp;unread_page={page}");



$unread_multipage = multipage($postcount, $perpage, $page, "private.php?action=tracking&amp;unread_page={page}");


Zeile 1334Zeile 1365
		$unreadmessage['profilelink'] = build_profile_link($unreadmessage['tousername'], $unreadmessage['toid']);
$senddate = my_date('relative', $unreadmessage['dateline']);
eval("\$unreadmessages .= \"".$templates->get("private_tracking_unreadmessage")."\";");

		$unreadmessage['profilelink'] = build_profile_link($unreadmessage['tousername'], $unreadmessage['toid']);
$senddate = my_date('relative', $unreadmessage['dateline']);
eval("\$unreadmessages .= \"".$templates->get("private_tracking_unreadmessage")."\";");

	}

	}


$stoptrackingunread = '';
if(!empty($unreadmessages))


$stoptrackingunread = '';
if(!empty($unreadmessages))

	{

	{

		eval("\$stoptrackingunread = \"".$templates->get("private_tracking_unreadmessage_stop")."\";");
}


		eval("\$stoptrackingunread = \"".$templates->get("private_tracking_unreadmessage_stop")."\";");
}


Zeile 1358Zeile 1389
{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





	$plugins->run_hooks("private_do_tracking_start");

if(!empty($mybb->input['stoptracking']))

	$plugins->run_hooks("private_do_tracking_start");

if(!empty($mybb->input['stoptracking']))

Zeile 1367Zeile 1398
		if(!empty($mybb->input['readcheck']))
{
foreach($mybb->input['readcheck'] as $key => $val)

		if(!empty($mybb->input['readcheck']))
{
foreach($mybb->input['readcheck'] as $key => $val)

			{
$sql_array = array(
"receipt" => 0

			{
$sql_array = array(
"receipt" => 0

				);
$db->update_query("privatemessages", $sql_array, "pmid=".(int)$key." AND fromid=".$mybb->user['uid']);
}

				);
$db->update_query("privatemessages", $sql_array, "pmid=".(int)$key." AND fromid=".$mybb->user['uid']);
}

Zeile 1451Zeile 1482
		$fid = $folderinfo[0];
$foldername = get_pm_folder_name($fid, $foldername);


		$fid = $folderinfo[0];
$foldername = get_pm_folder_name($fid, $foldername);


		if($folderinfo[0] == "1" || $folderinfo[0] == "2" || $folderinfo[0] == "3" || $folderinfo[0] == "4")

		if((int)$folderinfo[0] < 5)

		{
$foldername2 = get_pm_folder_name($fid);
eval("\$folderlist .= \"".$templates->get("private_folders_folder_unremovable")."\";");

		{
$foldername2 = get_pm_folder_name($fid);
eval("\$folderlist .= \"".$templates->get("private_folders_folder_unremovable")."\";");

Zeile 1506Zeile 1537

$fid = (int)$key;
// Use default language strings if empty or value is language string


$fid = (int)$key;
// Use default language strings if empty or value is language string

				switch($fid)

				if($val == get_pm_folder_name($fid) || trim($val) == '')

				{

				{

					case 1:
if($val == $lang->folder_inbox || trim($val) == '')
{
$val = '';
}
break;
case 2:
if($val == $lang->folder_sent_items || trim($val) == '')
{
$val = '';
}
break;
case 3:
if($val == $lang->folder_drafts || trim($val) == '')
{
$val = '';
}
break;
case 4:
if($val == $lang->folder_trash || trim($val) == '')
{
$val = '';
}
break;

					$val = '';
























				}

				}

			}

if($val != '' && trim($val) == '' && !($key >= 1 && $key <= 4))

			}

if($val != '' && trim($val) == '' && !(is_numeric($key) && $key <= 4))

			{
// If the name only contains whitespace and it's not a default folder, print an error
error($lang->error_emptypmfoldername);

			{
// If the name only contains whitespace and it's not a default folder, print an error
error($lang->error_emptypmfoldername);

			}

if($val != '' || ($key >= 1 && $key <= 4))

			}

if($val != '' || (is_numeric($key) && $key <= 4))

			{
// If there is a name or if this is a default folder, save it
$foldername = $db->escape_string(htmlspecialchars_uni($val));

			{
// If there is a name or if this is a default folder, save it
$foldername = $db->escape_string(htmlspecialchars_uni($val));

Zeile 1574Zeile 1582

// Update PM count
update_pm_count();


// Update PM count
update_pm_count();





	$plugins->run_hooks("private_do_folders_end");

redirect("private.php", $lang->redirect_pmfoldersupdated);

	$plugins->run_hooks("private_do_folders_end");

redirect("private.php", $lang->redirect_pmfoldersupdated);

}

}


if($mybb->input['action'] == "empty")
{


if($mybb->input['action'] == "empty")
{

Zeile 1586Zeile 1594
	{
error($lang->error_nopms);
}

	{
error($lang->error_nopms);
}





	$plugins->run_hooks("private_empty_start");

$foldersexploded = explode("$%%$", $mybb->user['pmfolders']);

	$plugins->run_hooks("private_empty_start");

$foldersexploded = explode("$%%$", $mybb->user['pmfolders']);

Zeile 1594Zeile 1602
	foreach($foldersexploded as $key => $folders)
{
$folderinfo = explode("**", $folders, 2);

	foreach($foldersexploded as $key => $folders)
{
$folderinfo = explode("**", $folders, 2);

 
		$unread = ''; 

		$fid = $folderinfo[0];

		$fid = $folderinfo[0];

		$foldername = get_pm_folder_name($fid, $folderinfo[1]);
$query = $db->simple_select("privatemessages", "COUNT(*) AS pmsinfolder", " folder='$fid' AND uid='".$mybb->user['uid']."'");










		if($folderinfo[0] == "1")
{
$fid = "1";
$unread = " AND status='0'";
}
if($folderinfo[0] == "0")
{
$fid = "1";
}
$foldername = get_pm_folder_name($folderinfo[0], $folderinfo[1]);
$query = $db->simple_select("privatemessages", "COUNT(*) AS pmsinfolder", " folder='$fid'$unread AND uid='".$mybb->user['uid']."'");

		$thing = $db->fetch_array($query);
$foldercount = my_number_format($thing['pmsinfolder']);
eval("\$folderlist .= \"".$templates->get("private_empty_folder")."\";");

		$thing = $db->fetch_array($query);
$foldercount = my_number_format($thing['pmsinfolder']);
eval("\$folderlist .= \"".$templates->get("private_empty_folder")."\";");

Zeile 1651Zeile 1669
}

if($mybb->input['action'] == "do_stuff" && $mybb->request_method == "post")

}

if($mybb->input['action'] == "do_stuff" && $mybb->request_method == "post")

{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


$plugins->run_hooks("private_do_stuff");


$plugins->run_hooks("private_do_stuff");





	if(!empty($mybb->input['hop']))

	if(!empty($mybb->input['hop']))

	{

	{

		header("Location: private.php?fid=".$mybb->get_input('jumpto'));
}
elseif(!empty($mybb->input['moveto']))
{

		header("Location: private.php?fid=".$mybb->get_input('jumpto'));
}
elseif(!empty($mybb->input['moveto']))
{

		$mybb->input['check'] = $mybb->get_input('check', MyBB::INPUT_ARRAY);
if(!empty($mybb->input['check']))

		$pms = array_map('intval', array_keys($mybb->get_input('check', MyBB::INPUT_ARRAY)));
if(!empty($pms))

		{

		{

			foreach($mybb->input['check'] as $key => $val)

			if(!$mybb->input['fid'])

			{

			{

				$sql_array = array(
"folder" => $mybb->input['fid']
);
$db->update_query("privatemessages", $sql_array, "pmid='".(int)$key."' AND uid='".$mybb->user['uid']."'");








				$mybb->input['fid'] = 1;
}

if(array_key_exists($mybb->input['fid'], $foldernames))
{
$db->update_query("privatemessages", array("folder" => $mybb->input['fid']), "pmid IN (".implode(",", $pms).") AND uid='".$mybb->user['uid']."'");
update_pm_count();
}
else
{
error($lang->error_invalidmovefid);

			}
}

			}
}

		// Update PM count
update_pm_count();

 

if(!empty($mybb->input['fromfid']))
{


if(!empty($mybb->input['fromfid']))
{

Zeile 1836Zeile 1859
				$wsql .= ">=";
}
$wsql .= "'$datecut'";

				$wsql .= ">=";
}
$wsql .= "'$datecut'";

		}
else

		}
else

		{
$wsql = "1=1";

		{
$wsql = "1=1";

		}

		}


$mybb->input['exportfolders'] = $mybb->get_input('exportfolders', MyBB::INPUT_ARRAY);
if(!empty($mybb->input['exportfolders']))


$mybb->input['exportfolders'] = $mybb->get_input('exportfolders', MyBB::INPUT_ARRAY);
if(!empty($mybb->input['exportfolders']))

		{

		{

			$folderlst = '';
foreach($mybb->input['exportfolders'] as $key => $val)
{

			$folderlst = '';
foreach($mybb->input['exportfolders'] as $key => $val)
{

Zeile 1853Zeile 1876
				{
$folderlst = '';
break;

				{
$folderlst = '';
break;

				}

				}

				else
{
if(!$folderlst)

				else
{
if(!$folderlst)

					{

					{

						$folderlst = " AND pm.folder IN ('$val'";
}
else

						$folderlst = " AND pm.folder IN ('$val'";
}
else

Zeile 1872Zeile 1895
			}
$wsql .= "$folderlst";
}

			}
$wsql .= "$folderlst";
}

		else
{
error($lang->error_pmnoarchivefolders);
}

		else
{
error($lang->error_pmnoarchivefolders);
}


if($mybb->get_input('exportunread', MyBB::INPUT_INT) != 1)
{


if($mybb->get_input('exportunread', MyBB::INPUT_INT) != 1)
{

Zeile 1982Zeile 2005
		{
$message['message'] = str_replace("\r\n", "\n", $message['message']);
$message['message'] = str_replace("\n", "\r\n", $message['message']);

		{
$message['message'] = str_replace("\r\n", "\n", $message['message']);
$message['message'] = str_replace("\n", "\r\n", $message['message']);

		}


		}


		if($mybb->input['exporttype'] == "csv")
{
$message['message'] = my_escape_csv($message['message']);

		if($mybb->input['exporttype'] == "csv")
{
$message['message'] = my_escape_csv($message['message']);

Zeile 2002Zeile 2025
				{
$foldername = $folderinfo[1];
if($mybb->input['exporttype'] != "csv")

				{
$foldername = $folderinfo[1];
if($mybb->input['exporttype'] != "csv")

					{

					{

						if($mybb->input['exporttype'] != "html")
{
$mybb->input['exporttype'] == "txt";

						if($mybb->input['exporttype'] != "html")
{
$mybb->input['exporttype'] == "txt";

Zeile 2020Zeile 2043

eval("\$pmsdownload .= \"".$templates->get("private_archive_".$mybb->input['exporttype']."_message", 1, 0)."\";");
$ids .= ",'{$message['pmid']}'";


eval("\$pmsdownload .= \"".$templates->get("private_archive_".$mybb->input['exporttype']."_message", 1, 0)."\";");
$ids .= ",'{$message['pmid']}'";

	}

	}


if($mybb->input['exporttype'] == "html")
{
// Gather global stylesheet for HTML


if($mybb->input['exporttype'] == "html")
{
// Gather global stylesheet for HTML

		$query = $db->simple_select("themestylesheets", "stylesheet", "sid = '1'", array('limit' => 1));


		$css_tid = empty($theme['tid']) ? '' : "'". (int)$theme['tid'] ."',";
$query = $db->simple_select("themestylesheets", "stylesheet", "tid in ({$css_tid}'2','1') AND name = 'global.css'", array('order_by' => 'tid', 'order_dir' => 'DESC', 'limit' => 1));

		$css = $db->fetch_field($query, "stylesheet");
}


		$css = $db->fetch_field($query, "stylesheet");
}


Zeile 2076Zeile 2100

if(!$mybb->input['fid'] || !array_key_exists($mybb->input['fid'], $foldernames))
{


if(!$mybb->input['fid'] || !array_key_exists($mybb->input['fid'], $foldernames))
{

		$mybb->input['fid'] = 1;

		$mybb->input['fid'] = 0;

	}


	}


	$folder = $mybb->input['fid'];
$foldername = $foldernames[$folder];


	$fid = (int)$mybb->input['fid'];
$folder = !$fid ? 1 : $fid;
$foldername = $foldernames[$fid];


if($folder == 2 || $folder == 3)
{ // Sent Items Folder


if($folder == 2 || $folder == 3)
{ // Sent Items Folder

Zeile 2131Zeile 2156
	eval("\$orderarrow['$sortby'] = \"".$templates->get("private_orderarrow")."\";");

// Do Multi Pages

	eval("\$orderarrow['$sortby'] = \"".$templates->get("private_orderarrow")."\";");

// Do Multi Pages

	$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "uid='".$mybb->user['uid']."' AND folder='$folder'");
$pmscount = $db->fetch_array($query);







	$selective = "";
if($fid == 1)
{
$selective = " AND status='0'";
}

$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "uid='".$mybb->user['uid']."' AND folder='$folder'$selective");
$pmscount = $db->fetch_field($query, "total");


if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)


if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)

	{

	{

		$mybb->settings['threadsperpage'] = 20;
}


		$mybb->settings['threadsperpage'] = 20;
}


Zeile 2145Zeile 2176
	if($page > 0)
{
$start = ($page-1) *$perpage;

	if($page > 0)
{
$start = ($page-1) *$perpage;

 
		$pages = ceil($pmscount / $perpage);
if($page > $pages)
{
$start = 0;
$page = 1;
}

	}
else
{

	}
else
{

Zeile 2159Zeile 2196
	if($upper > $pmscount)
{
$upper = $pmscount;

	if($upper > $pmscount)
{
$upper = $pmscount;

	}


	}


	if($mybb->input['order'] || ($sortby && $sortby != "dateline"))
{

	if($mybb->input['order'] || ($sortby && $sortby != "dateline"))
{

		$page_url = "private.php?fid={$folder}&sortby={$sortby}&order={$sortordernow}";

		$page_url = "private.php?fid={$fid}&sortby={$sortby}&order={$sortordernow}";

	}
else
{

	}
else
{

		$page_url = "private.php?fid={$folder}";

		$page_url = "private.php?fid={$fid}";

	}


	}


	$multipage = multipage($pmscount['total'], $perpage, $page, $page_url);
$messagelist = '';

	$multipage = multipage($pmscount, $perpage, $page, $page_url);
$selective = $messagelist = '';


$icon_cache = $cache->read("posticons");



$icon_cache = $cache->read("posticons");


Zeile 2208Zeile 2245
			if(isset($recipients['bcc']) && is_array($recipients['bcc']) && count($recipients['bcc']))
{
$get_users = array_merge($get_users, $recipients['bcc']);

			if(isset($recipients['bcc']) && is_array($recipients['bcc']) && count($recipients['bcc']))
{
$get_users = array_merge($get_users, $recipients['bcc']);

			}
}

$get_users = implode(',', array_unique($get_users));

			}
}

$get_users = implode(',', array_unique($get_users));


// Grab info
if($get_users)


// Grab info
if($get_users)

		{

		{

			$users_query = $db->simple_select("users", "uid, username, usergroup, displaygroup", "uid IN ({$get_users})");
while($user = $db->fetch_array($users_query))
{
$cached_users[$user['uid']] = $user;
}

			$users_query = $db->simple_select("users", "uid, username, usergroup, displaygroup", "uid IN ({$get_users})");
while($user = $db->fetch_array($users_query))
{
$cached_users[$user['uid']] = $user;
}

		}

		}

	}

if($folder == 2 || $folder == 3)
{
if($sortfield == "username")

	}

if($folder == 2 || $folder == 3)
{
if($sortfield == "username")

		{

		{

			$pm = "tu.";
}
else
{
$pm = "pm.";

			$pm = "tu.";
}
else
{
$pm = "pm.";

		}

		}

	}
else
{

	}
else
{

 
		if($fid == 1)
{
$selective = " AND pm.status='0'";
}


		if($sortfield == "username")
{
$pm = "fu.";

		if($sortfield == "username")
{
$pm = "fu.";

Zeile 2252Zeile 2294
		FROM ".TABLE_PREFIX."privatemessages pm
LEFT JOIN ".TABLE_PREFIX."users fu ON (fu.uid=pm.fromid)
LEFT JOIN ".TABLE_PREFIX."users tu ON (tu.uid=pm.toid)

		FROM ".TABLE_PREFIX."privatemessages pm
LEFT JOIN ".TABLE_PREFIX."users fu ON (fu.uid=pm.fromid)
LEFT JOIN ".TABLE_PREFIX."users tu ON (tu.uid=pm.toid)

		WHERE pm.folder='$folder' AND pm.uid='".$mybb->user['uid']."'

		WHERE pm.folder='$folder' AND pm.uid='".$mybb->user['uid']."'{$selective}

		ORDER BY {$pm}{$sortfield} {$sortordernow}
LIMIT $start, $perpage
");

if($db->num_rows($query) > 0)
{

		ORDER BY {$pm}{$sortfield} {$sortordernow}
LIMIT $start, $perpage
");

if($db->num_rows($query) > 0)
{

 
		$bgcolor = alt_trow(true);

		while($message = $db->fetch_array($query))
{
$msgalt = $msgstatus = '';

		while($message = $db->fetch_array($query))
{
$msgalt = $msgstatus = '';

Zeile 2290Zeile 2333
			{ // Sent Items or Drafts Folder Check
$recipients = my_unserialize($message['recipients']);
$to_users = $bcc_users = '';

			{ // Sent Items or Drafts Folder Check
$recipients = my_unserialize($message['recipients']);
$to_users = $bcc_users = '';

				if(count($recipients['to']) > 1 || (count($recipients['to']) == 1 && isset($recipients['bcc']) && count($recipients['bcc']) > 0))

				if(isset($recipients['to']) && count($recipients['to']) > 1 || (isset($recipients['to']) && count($recipients['to']) == 1 && isset($recipients['bcc']) && count($recipients['bcc']) > 0))

				{
foreach($recipients['to'] as $uid)
{

				{
foreach($recipients['to'] as $uid)
{

Zeile 2322Zeile 2365
					}

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

					}

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

				}

				}

				else if($message['toid'])
{
$tofromusername = htmlspecialchars_uni($message['tousername']);

				else if($message['toid'])
{
$tofromusername = htmlspecialchars_uni($message['tousername']);

Zeile 2347Zeile 2390
					$tofromuid = 0;
$tofromusername = $lang->na;
}

					$tofromuid = 0;
$tofromusername = $lang->na;
}

			}


			}


			$tofromusername = build_profile_link($tofromusername, $tofromuid);

if($mybb->usergroup['candenypmreceipts'] == 1 && $message['receipt'] == '1' && $message['folder'] != '3' && $message['folder'] != 2)

			$tofromusername = build_profile_link($tofromusername, $tofromuid);

if($mybb->usergroup['candenypmreceipts'] == 1 && $message['receipt'] == '1' && $message['folder'] != '3' && $message['folder'] != 2)

Zeile 2358Zeile 2401
			else
{
$denyreceipt = '';

			else
{
$denyreceipt = '';

			}


			}


			if($message['icon'] > 0 && $icon_cache[$message['icon']])
{
$icon = $icon_cache[$message['icon']];

			if($message['icon'] > 0 && $icon_cache[$message['icon']])
{
$icon = $icon_cache[$message['icon']];

Zeile 2391Zeile 2434
			$plugins->run_hooks("private_message");

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

			$plugins->run_hooks("private_message");

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

 
			$bgcolor = alt_trow();

		}
}
else

		}
}
else

Zeile 2399Zeile 2443
	}

$pmspacebar = '';

	}

$pmspacebar = '';

	if($mybb->usergroup['pmquota'] != '0' && $mybb->usergroup['cancp'] != 1)

	if($mybb->usergroup['pmquota'] != 0)

	{
$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "uid='".$mybb->user['uid']."'");
$pmscount = $db->fetch_array($query);

	{
$query = $db->simple_select("privatemessages", "COUNT(*) AS total", "uid='".$mybb->user['uid']."'");
$pmscount = $db->fetch_array($query);

Zeile 2433Zeile 2477
			{
$spaceused_severity = "high";
}

			{
$spaceused_severity = "high";
}

			



			$overhalf = round($spaceused, 0)."%";
if((int)$overhalf > 100)
{

			$overhalf = round($spaceused, 0)."%";
if((int)$overhalf > 100)
{

Zeile 2463Zeile 2507
	}

$limitwarning = '';

	}

$limitwarning = '';

	if($mybb->usergroup['pmquota'] != "0" && $pmscount['total'] >= $mybb->usergroup['pmquota'] && $mybb->usergroup['cancp'] != 1)

	if($mybb->usergroup['pmquota'] != 0 && $pmscount['total'] >= $mybb->usergroup['pmquota'])

	{
eval("\$limitwarning = \"".$templates->get("private_limitwarning")."\";");
}

	{
eval("\$limitwarning = \"".$templates->get("private_limitwarning")."\";");
}