Vergleich usercp.php - 1.8.18 - 1.8.37

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 32Zeile 32

require_once "./global.php";
require_once MYBB_ROOT."inc/functions_post.php";


require_once "./global.php";
require_once MYBB_ROOT."inc/functions_post.php";

 
require_once MYBB_ROOT."inc/functions_search.php";

require_once MYBB_ROOT."inc/functions_user.php";
require_once MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;

require_once MYBB_ROOT."inc/functions_user.php";
require_once MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;

Zeile 42Zeile 43
if($mybb->user['uid'] == 0 || $mybb->usergroup['canusercp'] == 0)
{
error_no_permission();

if($mybb->user['uid'] == 0 || $mybb->usergroup['canusercp'] == 0)
{
error_no_permission();

}

if(!$mybb->user['pmfolders'])
{
$mybb->user['pmfolders'] = '1**$%%$2**$%%$3**$%%$4**';
$db->update_query('users', array('pmfolders' => $mybb->user['pmfolders']), "uid = {$mybb->user['uid']}");

 
}

$errors = '';

}

$errors = '';





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

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





usercp_menu();


usercp_menu();


$server_http_referer = htmlentities($_SERVER['HTTP_REFERER']);
















$server_http_referer = '';
if(isset($_SERVER['HTTP_REFERER']))
{
$server_http_referer = htmlentities($_SERVER['HTTP_REFERER']);

if(my_strpos($server_http_referer, $mybb->settings['bburl'].'/') !== 0)
{
if(my_strpos($server_http_referer, '/') === 0)
{
$server_http_referer = my_substr($server_http_referer, 1);
}
$url_segments = explode('/', $server_http_referer);
$server_http_referer = $mybb->settings['bburl'].'/'.end($url_segments);
}
}


$plugins->run_hooks("usercp_start");
if($mybb->input['action'] == "do_editsig" && $mybb->request_method == "post")
{

$plugins->run_hooks("usercp_start");
if($mybb->input['action'] == "do_editsig" && $mybb->request_method == "post")
{

Zeile 72Zeile 81
	$userhandler->set_data($data);

if(!$userhandler->verify_signature())

	$userhandler->set_data($data);

if(!$userhandler->verify_signature())

	{

	{

		$error = inline_error($userhandler->get_friendly_errors());
}


		$error = inline_error($userhandler->get_friendly_errors());
}


Zeile 112Zeile 121
		break;
case "forumsubscriptions":
add_breadcrumb($lang->ucp_nav_forum_subscriptions);

		break;
case "forumsubscriptions":
add_breadcrumb($lang->ucp_nav_forum_subscriptions);

		break;

		break;

	case "editsig":
case "do_editsig":
add_breadcrumb($lang->nav_editsig);

	case "editsig":
case "do_editsig":
add_breadcrumb($lang->nav_editsig);

Zeile 120Zeile 129
	case "avatar":
case "do_avatar":
add_breadcrumb($lang->nav_avatar);

	case "avatar":
case "do_avatar":
add_breadcrumb($lang->nav_avatar);

		break;

		break;

	case "notepad":
case "do_notepad":
add_breadcrumb($lang->ucp_nav_notepad);

	case "notepad":
case "do_notepad":
add_breadcrumb($lang->ucp_nav_notepad);

Zeile 128Zeile 137
	case "editlists":
case "do_editlists":
add_breadcrumb($lang->ucp_nav_editlists);

	case "editlists":
case "do_editlists":
add_breadcrumb($lang->ucp_nav_editlists);

		break;

		break;

	case "drafts":
add_breadcrumb($lang->ucp_nav_drafts);
break;

	case "drafts":
add_breadcrumb($lang->ucp_nav_drafts);
break;

Zeile 144Zeile 153
{
// 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'));






$user = array();


	$plugins->run_hooks("usercp_do_profile_start");

if($mybb->get_input('away', MyBB::INPUT_INT) == 1 && $mybb->settings['allowaway'] != 0)

	$plugins->run_hooks("usercp_do_profile_start");

if($mybb->get_input('away', MyBB::INPUT_INT) == 1 && $mybb->settings['allowaway'] != 0)

Zeile 160Zeile 171
			if(!$mybb->get_input('awayyear', MyBB::INPUT_INT))
{
$mybb->input['awayyear'] = my_date('Y', $awaydate);

			if(!$mybb->get_input('awayyear', MyBB::INPUT_INT))
{
$mybb->input['awayyear'] = my_date('Y', $awaydate);

			}

			}


$return_month = (int)substr($mybb->get_input('awaymonth'), 0, 2);
$return_day = (int)substr($mybb->get_input('awayday'), 0, 2);


$return_month = (int)substr($mybb->get_input('awaymonth'), 0, 2);
$return_day = (int)substr($mybb->get_input('awayday'), 0, 2);

Zeile 175Zeile 186
			}

$returndate = "{$return_day}-{$return_month}-{$return_year}";

			}

$returndate = "{$return_day}-{$return_month}-{$return_year}";

		}
else

		}
else

		{
$returndate = "";
}

		{
$returndate = "";
}

Zeile 185Zeile 196
			"date" => $awaydate,
"returndate" => $returndate,
"awayreason" => $mybb->get_input('awayreason')

			"date" => $awaydate,
"returndate" => $returndate,
"awayreason" => $mybb->get_input('awayreason')

		);

		);

	}
else
{

	}
else
{

Zeile 207Zeile 218
	require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


	require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


	$user = array(

	$user = array_merge($user, array(

		"uid" => $mybb->user['uid'],
"postnum" => $mybb->user['postnum'],
"usergroup" => $mybb->user['usergroup'],

		"uid" => $mybb->user['uid'],
"postnum" => $mybb->user['postnum'],
"usergroup" => $mybb->user['usergroup'],

Zeile 216Zeile 227
		"birthdayprivacy" => $mybb->get_input('birthdayprivacy'),
"away" => $away,
"profile_fields" => $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY)

		"birthdayprivacy" => $mybb->get_input('birthdayprivacy'),
"away" => $away,
"profile_fields" => $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY)

	);
foreach(array('icq', 'yahoo', 'skype', 'google') as $cfield)

	));
foreach(array('icq', 'skype', 'google') as $cfield)

	{
$csetting = 'allow'.$cfield.'field';
if($mybb->settings[$csetting] == '')

	{
$csetting = 'allow'.$cfield.'field';
if($mybb->settings[$csetting] == '')

Zeile 233Zeile 244
		if($cfield == 'icq')
{
$user[$cfield] = $mybb->get_input($cfield, 1);

		if($cfield == 'icq')
{
$user[$cfield] = $mybb->get_input($cfield, 1);

 

if(my_strlen($user[$cfield]) > 10)
{
error($lang->contact_field_icqerror);
}

		}
else
{
$user[$cfield] = $mybb->get_input($cfield);

		}
else
{
$user[$cfield] = $mybb->get_input($cfield);

 

if(my_strlen($user[$cfield]) > 75)
{
error($lang->contact_field_error);
}

		}
}

if($mybb->usergroup['canchangewebsite'] == 1)

		}
}

if($mybb->usergroup['canchangewebsite'] == 1)

	{
$user['website'] = $mybb->get_input('website');
}

	{
$user['website'] = $mybb->get_input('website');
}


if($mybb->usergroup['cancustomtitle'] == 1)
{
if($mybb->get_input('usertitle') != '')
{
$user['usertitle'] = $mybb->get_input('usertitle');


if($mybb->usergroup['cancustomtitle'] == 1)
{
if($mybb->get_input('usertitle') != '')
{
$user['usertitle'] = $mybb->get_input('usertitle');

		}

		}

		elseif(!empty($mybb->input['reverttitle']))
{
$user['usertitle'] = '';
}
}
$userhandler->set_data($user);

		elseif(!empty($mybb->input['reverttitle']))
{
$user['usertitle'] = '';
}
}
$userhandler->set_data($user);





	if(!$userhandler->validate_user())
{
$errors = $userhandler->get_friendly_errors();
$raw_errors = $userhandler->get_errors();

// Set to stored value if invalid

	if(!$userhandler->validate_user())
{
$errors = $userhandler->get_friendly_errors();
$raw_errors = $userhandler->get_errors();

// Set to stored value if invalid

		if(array_key_exists("invalid_birthday_privacy", $raw_errors))
{

		if(array_key_exists("invalid_birthday_privacy", $raw_errors) || array_key_exists("conflicted_birthday_privacy", $raw_errors))
{

			$mybb->input['birthdayprivacy'] = $mybb->user['birthdayprivacy'];

			$mybb->input['birthdayprivacy'] = $mybb->user['birthdayprivacy'];

 
			$bday = explode("-", $mybb->user['birthday']);

if(isset($bday[2]))
{
$mybb->input['bday3'] = $bday[2];
}

		}

$errors = inline_error($errors);
$mybb->input['action'] = "profile";

		}

$errors = inline_error($errors);
$mybb->input['action'] = "profile";

	}
else

	}
else

	{
$userhandler->update_user();


	{
$userhandler->update_user();


Zeile 299Zeile 326
		{
$bday[1] = 0;
}

		{
$bday[1] = 0;
}

		if(!isset($bday[2]))
{
$bday[2] = '';
}

	}
if(!isset($bday[2]) || $bday[2] == 0)
{
$bday[2] = '';

	}

$plugins->run_hooks("usercp_profile_start");

	}

$plugins->run_hooks("usercp_profile_start");

Zeile 366Zeile 393
	{
$user['skype'] = htmlspecialchars_uni($user['skype']);
$user['google'] = htmlspecialchars_uni($user['google']);

	{
$user['skype'] = htmlspecialchars_uni($user['skype']);
$user['google'] = htmlspecialchars_uni($user['google']);

		$user['yahoo'] = htmlspecialchars_uni($user['yahoo']);

 
	}

$contact_fields = array();
$contactfields = '';
$cfieldsshow = false;


	}

$contact_fields = array();
$contactfields = '';
$cfieldsshow = false;


	foreach(array('icq', 'yahoo', 'skype', 'google') as $cfield)

	foreach(array('icq', 'skype', 'google') as $cfield)

	{
$contact_fields[$cfield] = '';
$csetting = 'allow'.$cfield.'field';

	{
$contact_fields[$cfield] = '';
$csetting = 'allow'.$cfield.'field';

Zeile 401Zeile 427
		eval('$contactfields = "'.$templates->get('usercp_profile_contact_fields').'";');
}


		eval('$contactfields = "'.$templates->get('usercp_profile_contact_fields').'";');
}


 
	$awaysection = '';

	if($mybb->settings['allowaway'] != 0)
{
$awaycheck = array('', '');

	if($mybb->settings['allowaway'] != 0)
{
$awaycheck = array('', '');

Zeile 486Zeile 513
				continue;
}


				continue;
}


 
			$userfield = $code = $select = $val = $options = $expoptions = $useropts = '';
$seloptions = array();

			$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
$profilefield['name'] = htmlspecialchars_uni($profilefield['name']);
$profilefield['description'] = htmlspecialchars_uni($profilefield['description']);

			$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
$profilefield['name'] = htmlspecialchars_uni($profilefield['name']);
$profilefield['description'] = htmlspecialchars_uni($profilefield['description']);

Zeile 500Zeile 529
				$options = array();
}
$field = "fid{$profilefield['fid']}";

				$options = array();
}
$field = "fid{$profilefield['fid']}";

			$select = '';

 
			if($errors)
{
if(!isset($mybb->input['profile_fields'][$field]))

			if($errors)
{
if(!isset($mybb->input['profile_fields'][$field]))

Zeile 571Zeile 599
						}

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

						}

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

					}

					}

					if(!$profilefield['length'])
{
$profilefield['length'] = 1;

					if(!$profilefield['length'])
{
$profilefield['length'] = 1;

Zeile 582Zeile 610
			}
elseif($type == "radio")
{

			}
elseif($type == "radio")
{

 
				$userfield = htmlspecialchars_uni($userfield);

				$expoptions = explode("\n", $options);
if(is_array($expoptions))
{

				$expoptions = explode("\n", $options);
if(is_array($expoptions))
{

Zeile 599Zeile 628
			}
elseif($type == "checkbox")
{

			}
elseif($type == "checkbox")
{

 
				$userfield = htmlspecialchars_uni($userfield);

				if($errors)
{
$useropts = $userfield;

				if($errors)
{
$useropts = $userfield;

Zeile 655Zeile 685
				eval("\$customfields .= \"".$templates->get("usercp_profile_customfield")."\";");
}
$altbg = alt_trow();

				eval("\$customfields .= \"".$templates->get("usercp_profile_customfield")."\";");
}
$altbg = alt_trow();

			$code = "";
$select = "";
$val = "";
$options = "";
$expoptions = "";
$useropts = "";
$seloptions = array();

 
		}
}
if($customfields)

		}
}
if($customfields)

Zeile 724Zeile 747
		$customtitle = "";
}


		$customtitle = "";
}


 
	$website = '';

	if($mybb->usergroup['canchangewebsite'] == 1)
{
eval("\$website = \"".$templates->get("usercp_profile_website")."\";");

	if($mybb->usergroup['canchangewebsite'] == 1)
{
eval("\$website = \"".$templates->get("usercp_profile_website")."\";");

Zeile 740Zeile 764
	// 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("usercp_do_options_start");



	$user = array();

$plugins->run_hooks("usercp_do_options_start");


// Set up user handler.
require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");



// Set up user handler.
require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


	$user = array(

	$user = array_merge($user, array(

		"uid" => $mybb->user['uid'],
"style" => $mybb->get_input('style', MyBB::INPUT_INT),
"dateformat" => $mybb->get_input('dateformat', MyBB::INPUT_INT),

		"uid" => $mybb->user['uid'],
"style" => $mybb->get_input('style', MyBB::INPUT_INT),
"dateformat" => $mybb->get_input('dateformat', MyBB::INPUT_INT),

Zeile 755Zeile 781
		"language" => $mybb->get_input('language'),
'usergroup' => $mybb->user['usergroup'],
'additionalgroups' => $mybb->user['additionalgroups']

		"language" => $mybb->get_input('language'),
'usergroup' => $mybb->user['usergroup'],
'additionalgroups' => $mybb->user['additionalgroups']

	);

	));


$user['options'] = array(
"allownotices" => $mybb->get_input('allownotices', MyBB::INPUT_INT),


$user['options'] = array(
"allownotices" => $mybb->get_input('allownotices', MyBB::INPUT_INT),

Zeile 812Zeile 838

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


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

	$plugins->run_hooks("usercp_options_start");


 
	if($errors != '')
{
$user = $mybb->input;
}
else

	if($errors != '')
{
$user = $mybb->input;
}
else

	{

	{

		$user = $mybb->user;
}

		$user = $mybb->user;
}

 

$plugins->run_hooks("usercp_options_start");


$languages = $lang->get_languages();
$board_language = $langoptions = '';


$languages = $lang->get_languages();
$board_language = $langoptions = '';

Zeile 836Zeile 862
			{
$sel = " selected=\"selected\"";
}

			{
$sel = " selected=\"selected\"";
}





			eval('$langoptions .= "'.$templates->get('usercp_options_language_option').'";');
}


			eval('$langoptions .= "'.$templates->get('usercp_options_language_option').'";');
}


Zeile 851Zeile 877
	else
{
$allownoticescheck = "";

	else
{
$allownoticescheck = "";

	}

if(isset($user['invisible']) && $user['invisible'] == 1)




	}

$canbeinvisible = '';

// Check usergroup permission before showing invisible check box
if($mybb->usergroup['canbeinvisible'] == 1)

	{

	{

		$invisiblecheck = "checked=\"checked\"";
}
else
{
$invisiblecheck = "";





		if(isset($user['invisible']) && $user['invisible'] == 1)
{
$invisiblecheck = "checked=\"checked\"";
}
else
{
$invisiblecheck = "";
}
eval('$canbeinvisible = "'.$templates->get("usercp_options_invisible")."\";");

	}

if(isset($user['hideemail']) && $user['hideemail'] == 1)

	}

if(isset($user['hideemail']) && $user['hideemail'] == 1)

	{

	{

		$hideemailcheck = "checked=\"checked\"";
}
else

		$hideemailcheck = "checked=\"checked\"";
}
else

Zeile 879Zeile 912
	elseif(isset($user['subscriptionmethod']) && $user['subscriptionmethod'] == 2)
{
$instant_email_subscribe_selected = "selected=\"selected\"";

	elseif(isset($user['subscriptionmethod']) && $user['subscriptionmethod'] == 2)
{
$instant_email_subscribe_selected = "selected=\"selected\"";

	}

	}

	elseif(isset($user['subscriptionmethod']) && $user['subscriptionmethod'] == 3)

	elseif(isset($user['subscriptionmethod']) && $user['subscriptionmethod'] == 3)

	{

	{

		$instant_pm_subscribe_selected = "selected=\"selected\"";
}
else
{
$no_auto_subscribe_selected = "selected=\"selected\"";

		$instant_pm_subscribe_selected = "selected=\"selected\"";
}
else
{
$no_auto_subscribe_selected = "selected=\"selected\"";

	}

	}


if(isset($user['showimages']) && $user['showimages'] == 1)
{


if(isset($user['showimages']) && $user['showimages'] == 1)
{

Zeile 901Zeile 934
	if(isset($user['showvideos']) && $user['showvideos'] == 1)
{
$showvideoscheck = "checked=\"checked\"";

	if(isset($user['showvideos']) && $user['showvideos'] == 1)
{
$showvideoscheck = "checked=\"checked\"";

	}
else
{

	}
else
{

		$showvideoscheck = "";
}


		$showvideoscheck = "";
}


Zeile 1032Zeile 1065
	if(!isset($user['threadmode']) || ($user['threadmode'] != "threaded" && $user['threadmode'] != "linear"))
{
$user['threadmode'] = ''; // Leave blank to show default

	if(!isset($user['threadmode']) || ($user['threadmode'] != "threaded" && $user['threadmode'] != "linear"))
{
$user['threadmode'] = ''; // Leave blank to show default

	}

	}


if(isset($user['classicpostbit']) && $user['classicpostbit'] != 0)
{


if(isset($user['classicpostbit']) && $user['classicpostbit'] != 0)
{

Zeile 1048Zeile 1081
	{
$selected = '';
if(isset($user['dateformat']) && $user['dateformat'] == $key)

	{
$selected = '';
if(isset($user['dateformat']) && $user['dateformat'] == $key)

		{

		{

			$selected = " selected=\"selected\"";
}


			$selected = " selected=\"selected\"";
}


Zeile 1064Zeile 1097
		{
$selected = " selected=\"selected\"";
}

		{
$selected = " selected=\"selected\"";
}





		$timeformat = my_date($format, TIME_NOW, "", 0);
eval("\$time_format_options .= \"".$templates->get("usercp_options_time_format")."\";");
}

		$timeformat = my_date($format, TIME_NOW, "", 0);
eval("\$time_format_options .= \"".$templates->get("usercp_options_time_format")."\";");
}

Zeile 1096Zeile 1129
	}
$daysprunesel = array(1 => '', 5 => '', 10 => '', 20 => '', 50 => '', 75 => '', 100 => '', 365 => '', 9999 => '');
if(isset($user['daysprune']) && is_numeric($user['daysprune']))

	}
$daysprunesel = array(1 => '', 5 => '', 10 => '', 20 => '', 50 => '', 75 => '', 100 => '', 365 => '', 9999 => '');
if(isset($user['daysprune']) && is_numeric($user['daysprune']))

	{

	{

		$daysprunesel[$user['daysprune']] = 'selected="selected"';
}
if(!isset($user['style']))

		$daysprunesel[$user['daysprune']] = 'selected="selected"';
}
if(!isset($user['style']))

Zeile 1120Zeile 1153
		if(is_array($explodedtpp))
{
foreach($explodedtpp as $key => $val)

		if(is_array($explodedtpp))
{
foreach($explodedtpp as $key => $val)

			{
$val = trim($val);

			{
$val = trim($val);

				$selected = "";
if(isset($user['tpp']) && $user['tpp'] == $val)
{

				$selected = "";
if(isset($user['tpp']) && $user['tpp'] == $val)
{

Zeile 1161Zeile 1194

eval("\$editprofile = \"".$templates->get("usercp_options")."\";");
output_page($editprofile);


eval("\$editprofile = \"".$templates->get("usercp_options")."\";");
output_page($editprofile);

}

}


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


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

Zeile 1186Zeile 1219
			"email" => $mybb->get_input('email'),
"email2" => $mybb->get_input('email2')
);

			"email" => $mybb->get_input('email'),
"email2" => $mybb->get_input('email2')
);





		$userhandler->set_data($user);

if(!$userhandler->validate_user())

		$userhandler->set_data($user);

if(!$userhandler->validate_user())

		{

		{

			$errors = $userhandler->get_friendly_errors();
}
else
{

			$errors = $userhandler->get_friendly_errors();
}
else
{

			if($mybb->user['usergroup'] != "5" && $mybb->usergroup['cancp'] != 1 && $mybb->settings['regtype'] != "verify")












































			$activation = false;
// Checking for pending activations for non-activated accounts
if($mybb->user['usergroup'] == 5 && ($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "both"))
{
$query = $db->simple_select("awaitingactivation", "*", "uid='".$mybb->user['uid']."' AND (type='r' OR type='b')");
$activation = $db->fetch_array($query);
}
if($activation)
{
$userhandler->update_user();

$db->delete_query("awaitingactivation", "uid='".$mybb->user['uid']."'");

// Send new activation mail for non-activated accounts
$activationcode = random_str();
$activationarray = array(
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"code" => $activationcode,
"type" => $activation['type']
);
$db->insert_query("awaitingactivation", $activationarray);
$emailsubject = $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']);
switch($mybb->settings['username_method'])
{
case 0:
$emailmessage = $lang->sprintf($lang->email_activateaccount, $mybb->user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->user['uid'], $activationcode);
break;
case 1:
$emailmessage = $lang->sprintf($lang->email_activateaccount1, $mybb->user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->user['uid'], $activationcode);
break;
case 2:
$emailmessage = $lang->sprintf($lang->email_activateaccount2, $mybb->user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->user['uid'], $activationcode);
break;
default:
$emailmessage = $lang->sprintf($lang->email_activateaccount, $mybb->user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->user['uid'], $activationcode);
break;
}
my_mail($mybb->user['email'], $emailsubject, $emailmessage);

$plugins->run_hooks("usercp_do_email_changed");
redirect("usercp.php?action=email", $lang->redirect_emailupdated);
}
elseif($mybb->usergroup['cancp'] != 1 && ($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "both"))

			{
$uid = $mybb->user['uid'];
$username = $mybb->user['username'];

			{
$uid = $mybb->user['uid'];
$username = $mybb->user['username'];

Zeile 1264Zeile 1340
	// 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'));


 
	$user = array();

	$errors = array();

	$errors = array();





	$plugins->run_hooks("usercp_do_password_start");
if(validate_password_from_uid($mybb->user['uid'], $mybb->get_input('oldpassword')) == false)
{

	$plugins->run_hooks("usercp_do_password_start");
if(validate_password_from_uid($mybb->user['uid'], $mybb->get_input('oldpassword')) == false)
{

Zeile 1277Zeile 1354
		require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


		require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


		$user = array(

		$user = array_merge($user, array(

			"uid" => $mybb->user['uid'],
"password" => $mybb->get_input('password'),
"password2" => $mybb->get_input('password2')

			"uid" => $mybb->user['uid'],
"password" => $mybb->get_input('password'),
"password2" => $mybb->get_input('password2')

		);

$userhandler->set_data($user);

if(!$userhandler->validate_user())
{
$errors = $userhandler->get_friendly_errors();
}
else
{

		));

$userhandler->set_data($user);

if(!$userhandler->validate_user())
{
$errors = $userhandler->get_friendly_errors();
}
else
{

			$userhandler->update_user();
my_setcookie("mybbuser", $mybb->user['uid']."_".$userhandler->data['loginkey'], null, true, "lax");


			$userhandler->update_user();
my_setcookie("mybbuser", $mybb->user['uid']."_".$userhandler->data['loginkey'], null, true, "lax");


Zeile 1322Zeile 1399
{
// 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("usercp_do_changename_start");



$errors = array();


	if($mybb->usergroup['canchangename'] != 1)
{
error_no_permission();
}

	if($mybb->usergroup['canchangename'] != 1)
{
error_no_permission();
}

 

$user = array();

$plugins->run_hooks("usercp_do_changename_start");


if(validate_password_from_uid($mybb->user['uid'], $mybb->get_input('password')) == false)
{


if(validate_password_from_uid($mybb->user['uid'], $mybb->get_input('password')) == false)
{

Zeile 1339Zeile 1421
		require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


		require_once MYBB_ROOT."inc/datahandlers/user.php";
$userhandler = new UserDataHandler("update");


		$user = array(

		$user = array_merge($user, array(

			"uid" => $mybb->user['uid'],
"username" => $mybb->get_input('username')

			"uid" => $mybb->user['uid'],
"username" => $mybb->get_input('username')

		);

		));


$userhandler->set_data($user);



$userhandler->set_data($user);


Zeile 1355Zeile 1437
			$userhandler->update_user();
$plugins->run_hooks("usercp_do_changename_end");
redirect("usercp.php?action=changename", $lang->redirect_namechanged);

			$userhandler->update_user();
$plugins->run_hooks("usercp_do_changename_end");
redirect("usercp.php?action=changename", $lang->redirect_namechanged);



 
		}
}
if(count($errors) > 0)

		}
}
if(count($errors) > 0)

	{

	{

		$errors = inline_error($errors);
$mybb->input['action'] = "changename";

		$errors = inline_error($errors);
$mybb->input['action'] = "changename";

	}
}

	}
}


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


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

Zeile 1371Zeile 1452
	if($mybb->usergroup['canchangename'] != 1)
{
error_no_permission();

	if($mybb->usergroup['canchangename'] != 1)
{
error_no_permission();

	}












	}

// Coming back to this page after one or more errors were experienced, show field the user previously entered (with the exception of the password)
if($errors)
{
$username = htmlspecialchars_uni($mybb->get_input('username'));
}
else
{
$username = '';
}


	$plugins->run_hooks("usercp_changename_end");

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

	$plugins->run_hooks("usercp_changename_end");

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

Zeile 1383Zeile 1474
{
// 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("usercp_do_subscriptions_start");

 

if(!isset($mybb->input['check']) || !is_array($mybb->input['check']))
{
error($lang->no_subscriptions_selected);
}


if(!isset($mybb->input['check']) || !is_array($mybb->input['check']))
{
error($lang->no_subscriptions_selected);
}

 

$plugins->run_hooks("usercp_do_subscriptions_start");


// Clean input - only accept integers thanks!
$mybb->input['check'] = array_map('intval', $mybb->get_input('check', MyBB::INPUT_ARRAY));


// Clean input - only accept integers thanks!
$mybb->input['check'] = array_map('intval', $mybb->get_input('check', MyBB::INPUT_ARRAY));

Zeile 1430Zeile 1521
	$plugins->run_hooks("usercp_subscriptions_start");

// Thread visiblity

	$plugins->run_hooks("usercp_subscriptions_start");

// Thread visiblity

	$visible = "AND t.visible != 0";
if(is_moderator() == true)










	$where = array(
"s.uid={$mybb->user['uid']}",
get_visible_where('t')
);

if($unviewable_forums = get_unviewable_forums(true))
{
$where[] = "t.fid NOT IN ({$unviewable_forums})";
}

if($inactive_forums = get_inactive_forums())

	{

	{

		$visible = '';

		$where[] = "t.fid NOT IN ({$inactive_forums})";

	}

	}

 

$where = implode(' AND ', $where);


// Do Multi Pages


// Do Multi Pages

	$query = $db->query("
SELECT COUNT(ts.tid) as threads
FROM ".TABLE_PREFIX."threadsubscriptions ts
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid = ts.tid)
WHERE ts.uid = '".$mybb->user['uid']."' AND t.visible >= 0 {$visible}
");
$threadcount = $db->fetch_field($query, "threads");

	$query = $db->query("
SELECT COUNT(s.tid) as threads
FROM ".TABLE_PREFIX."threadsubscriptions s
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid = s.tid)
WHERE {$where}
");
$threadcount = $db->fetch_field($query, "threads");


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


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

Zeile 1485Zeile 1587
		FROM ".TABLE_PREFIX."threadsubscriptions s
LEFT JOIN ".TABLE_PREFIX."threads t ON (s.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

		FROM ".TABLE_PREFIX."threadsubscriptions s
LEFT JOIN ".TABLE_PREFIX."threads t ON (s.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

		WHERE s.uid='".$mybb->user['uid']."' and t.visible >= 0 {$visible}

		WHERE {$where}

		ORDER BY t.lastpost DESC
LIMIT $start, $perpage
");
while($subscription = $db->fetch_array($query))

		ORDER BY t.lastpost DESC
LIMIT $start, $perpage
");
while($subscription = $db->fetch_array($query))

	{

	{

		$forumpermissions = $fpermissions[$subscription['fid']];


		$forumpermissions = $fpermissions[$subscription['fid']];


		if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || (isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] != 0 && $subscription['uid'] != $mybb->user['uid']))

		if(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] != 0 && $subscription['uid'] != $mybb->user['uid'])

		{
// Hmm, you don't have permission to view this thread - unsubscribe!
$del_subscriptions[] = $subscription['sid'];
}
elseif($subscription['tid'])

		{
// Hmm, you don't have permission to view this thread - unsubscribe!
$del_subscriptions[] = $subscription['sid'];
}
elseif($subscription['tid'])

		{

		{

			$subscriptions[$subscription['tid']] = $subscription;
}
}

			$subscriptions[$subscription['tid']] = $subscription;
}
}

Zeile 1507Zeile 1609
	if(!empty($del_subscriptions))
{
$sids = implode(',', $del_subscriptions);

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





		if($sids)
{
$db->delete_query("threadsubscriptions", "sid IN ({$sids}) AND uid='{$mybb->user['uid']}'");

		if($sids)
{
$db->delete_query("threadsubscriptions", "sid IN ({$sids}) AND uid='{$mybb->user['uid']}'");

Zeile 1538Zeile 1640
		while($forum = $db->fetch_array($query))
{
$readforums[$forum['fid']] = $forum['lastread'];

		while($forum = $db->fetch_array($query))
{
$readforums[$forum['fid']] = $forum['lastread'];

		}


		}


		// Check participation by the current user in any of these threads - for 'dot' folder icons
if($mybb->settings['dotfolders'] != 0)
{

		// Check participation by the current user in any of these threads - for 'dot' folder icons
if($mybb->settings['dotfolders'] != 0)
{

Zeile 1555Zeile 1657
		{
$query = $db->simple_select("threadsread", "*", "uid='{$mybb->user['uid']}' AND tid IN ({$tids})");
while($readthread = $db->fetch_array($query))

		{
$query = $db->simple_select("threadsread", "*", "uid='{$mybb->user['uid']}' AND tid IN ({$tids})");
while($readthread = $db->fetch_array($query))

			{

			{

				$subscriptions[$readthread['tid']]['lastread'] = $readthread['dateline'];
}
}

				$subscriptions[$readthread['tid']]['lastread'] = $readthread['dateline'];
}
}

Zeile 1578Zeile 1680
			if($thread['prefix'] != 0 && !empty($threadprefixes[$thread['prefix']]))
{
$thread['threadprefix'] = $threadprefixes[$thread['prefix']]['displaystyle'].'&nbsp;';

			if($thread['prefix'] != 0 && !empty($threadprefixes[$thread['prefix']]))
{
$thread['threadprefix'] = $threadprefixes[$thread['prefix']]['displaystyle'].'&nbsp;';

			}


			}


			// Sanitize
$thread['subject'] = $parser->parse_badwords($thread['subject']);
$thread['subject'] = htmlspecialchars_uni($thread['subject']);

			// Sanitize
$thread['subject'] = $parser->parse_badwords($thread['subject']);
$thread['subject'] = htmlspecialchars_uni($thread['subject']);

Zeile 1587Zeile 1689
			// Build our links
$thread['threadlink'] = get_thread_link($thread['tid']);
$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");

			// Build our links
$thread['threadlink'] = get_thread_link($thread['tid']);
$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");





			// Fetch the thread icon if we have one
if($thread['icon'] > 0 && $icon_cache[$thread['icon']])
{

			// Fetch the thread icon if we have one
if($thread['icon'] > 0 && $icon_cache[$thread['icon']])
{

Zeile 1611Zeile 1713
				$folder = "dot_";
$folder_label .= $lang->icon_dot;
}

				$folder = "dot_";
$folder_label .= $lang->icon_dot;
}





			$gotounread = '';
$isnew = 0;
$donenew = 0;

			$gotounread = '';
$isnew = 0;
$donenew = 0;

Zeile 1619Zeile 1721

if($mybb->settings['threadreadcut'] > 0)
{


if($mybb->settings['threadreadcut'] > 0)
{

				$forum_read = $readforums[$thread['fid']];


 
				$read_cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;

				$read_cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;

				if($forum_read == 0 || $forum_read < $read_cutoff)

				if(empty($readforums[$thread['fid']]) || $readforums[$thread['fid']] < $read_cutoff)

				{
$forum_read = $read_cutoff;

				{
$forum_read = $read_cutoff;

 
				}
else
{
$forum_read = $readforums[$thread['fid']];

				}
}


				}
}


Zeile 1636Zeile 1740

if($thread['lastpost'] > $cutoff)
{


if($thread['lastpost'] > $cutoff)
{

				if($thread['lastread'])

				if(!empty($thread['lastread']))

				{
$lastread = $thread['lastread'];
}
else
{
$lastread = 1;

				{
$lastread = $thread['lastread'];
}
else
{
$lastread = 1;

				}

				}

			}

if(!$lastread)

			}

if(!$lastread)

Zeile 1667Zeile 1771
				$thread['newpostlink'] = get_thread_link($thread['tid'], 0, "newpost");
eval("\$gotounread = \"".$templates->get("forumdisplay_thread_gotounread")."\";");
$unreadpost = 1;

				$thread['newpostlink'] = get_thread_link($thread['tid'], 0, "newpost");
eval("\$gotounread = \"".$templates->get("forumdisplay_thread_gotounread")."\";");
$unreadpost = 1;

			}

			}

			else
{
$folder_label .= $lang->icon_no_new;

			else
{
$folder_label .= $lang->icon_no_new;

Zeile 1675Zeile 1779
			}

if($thread['replies'] >= $mybb->settings['hottopic'] || $thread['views'] >= $mybb->settings['hottopicviews'])

			}

if($thread['replies'] >= $mybb->settings['hottopic'] || $thread['views'] >= $mybb->settings['hottopicviews'])

			{

			{

				$folder .= "hot";
$folder_label .= $lang->icon_hot;
}

				$folder .= "hot";
$folder_label .= $lang->icon_hot;
}

Zeile 1691Zeile 1795
			if($thread['visible'] == 0)
{
$bgcolor = "trow_shaded";

			if($thread['visible'] == 0)
{
$bgcolor = "trow_shaded";

			}

			}


// Build last post info
$lastpostdate = my_date('relative', $thread['lastpost']);


// Build last post info
$lastpostdate = my_date('relative', $thread['lastpost']);

 
			$lastposteruid = $thread['lastposteruid'];

			if(!$lastposteruid && !$thread['lastposter'])

			if(!$lastposteruid && !$thread['lastposter'])

			{

			{

				$lastposter = htmlspecialchars_uni($lang->guest);
}
else
{
$lastposter = htmlspecialchars_uni($thread['lastposter']);
}

				$lastposter = htmlspecialchars_uni($lang->guest);
}
else
{
$lastposter = htmlspecialchars_uni($thread['lastposter']);
}

			$lastposteruid = $thread['lastposteruid'];

 

// Don't link to guest's profiles (they have no profile).
if($lastposteruid == 0)


// Don't link to guest's profiles (they have no profile).
if($lastposteruid == 0)

Zeile 1899Zeile 2003

if($mybb->get_input('referrer'))
{


if($mybb->get_input('referrer'))
{

		$url = htmlspecialchars_uni($mybb->get_input('referrer'));













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

if(my_strpos($mybb->input['referrer'], $mybb->settings['bburl'].'/') !== 0)
{
if(my_strpos($mybb->input['referrer'], '/') === 0)
{
$mybb->input['referrer'] = my_substr($mybb->input['url'], 1);
}
$url_segments = explode('/', $mybb->input['referrer']);
$mybb->input['referrer'] = $mybb->settings['bburl'].'/'.end($url_segments);
}

$url = htmlspecialchars_uni($mybb->input['referrer']);

	}
else
{

	}
else
{

Zeile 1917Zeile 2033
	{
$forum = get_forum($mybb->get_input('fid', MyBB::INPUT_INT));
if(!$forum)

	{
$forum = get_forum($mybb->get_input('fid', MyBB::INPUT_INT));
if(!$forum)

		{

		{

			error($lang->error_invalidforum);
}
$forumpermissions = forum_permissions($forum['fid']);

			error($lang->error_invalidforum);
}
$forumpermissions = forum_permissions($forum['fid']);

Zeile 1942Zeile 2058
			$url = "index.php";
}
redirect($url, $lang->redirect_forumsubscriptionadded);

			$url = "index.php";
}
redirect($url, $lang->redirect_forumsubscriptionadded);

	}
else
{
$thread = get_thread($mybb->get_input('tid', MyBB::INPUT_INT));
if(!$thread || $thread['visible'] == -1)
{
error($lang->error_invalidthread);
}

// Is the currently logged in user a moderator of this forum?
$ismod = is_moderator($thread['fid']);

// Make sure we are looking at a real thread here.
if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true))
{
error($lang->error_invalidthread);

	}
else
{
$thread = get_thread($mybb->get_input('tid', MyBB::INPUT_INT));
if(!$thread || $thread['visible'] == -1)
{
error($lang->error_invalidthread);
}

// Is the currently logged in user a moderator of this forum?
$ismod = is_moderator($thread['fid']);

// Make sure we are looking at a real thread here.
if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true))
{
error($lang->error_invalidthread);

		}

		}





		add_breadcrumb($lang->nav_subthreads, "usercp.php?action=subscriptions");
add_breadcrumb($lang->nav_addsubscription);

$forumpermissions = forum_permissions($thread['fid']);
if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || (isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] != 0 && $thread['uid'] != $mybb->user['uid']))

		add_breadcrumb($lang->nav_subthreads, "usercp.php?action=subscriptions");
add_breadcrumb($lang->nav_addsubscription);

$forumpermissions = forum_permissions($thread['fid']);
if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || (isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] != 0 && $thread['uid'] != $mybb->user['uid']))

		{

		{

			error_no_permission();
}


			error_no_permission();
}


Zeile 1996Zeile 2112
		elseif($mybb->user['subscriptionmethod'] == 3)
{
$notification_pm_checked = "checked=\"checked\"";

		elseif($mybb->user['subscriptionmethod'] == 3)
{
$notification_pm_checked = "checked=\"checked\"";

		}


		}


		// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_addsubscription_thread");

eval("\$add_subscription = \"".$templates->get("usercp_addsubscription_thread")."\";");
output_page($add_subscription);
exit;

		// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_addsubscription_thread");

eval("\$add_subscription = \"".$templates->get("usercp_addsubscription_thread")."\";");
output_page($add_subscription);
exit;

	}
}

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

	}
}

if($mybb->input['action'] == "removesubscription" && ($mybb->request_method == "post" || verify_post_check($mybb->get_input('my_post_key'), true)))

{
// 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'));





































































if($mybb->get_input('type') == "forum")
{
$forum = get_forum($mybb->get_input('fid', MyBB::INPUT_INT));
if(!$forum)
{
error($lang->error_invalidforum);
}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($forum['fid']);

// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscription_forum");

remove_subscribed_forum($forum['fid']);
if($server_http_referer && $mybb->request_method != 'post')
{
$url = $server_http_referer;
}
else
{
$url = "usercp.php?action=forumsubscriptions";
}
redirect($url, $lang->redirect_forumsubscriptionremoved);
}
else
{
$thread = get_thread($mybb->get_input('tid', MyBB::INPUT_INT));
if(!$thread)
{
error($lang->error_invalidthread);
}

// Is the currently logged in user a moderator of this forum?
$ismod = is_moderator($thread['fid']);

// Make sure we are looking at a real thread here.
if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true))
{
error($lang->error_invalidthread);
}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($thread['fid']);

// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscription_thread");

remove_subscribed_thread($thread['tid']);
if($server_http_referer && $mybb->request_method != 'post')
{
$url = $server_http_referer;
}
else
{
$url = "usercp.php?action=subscriptions";
}
redirect($url, $lang->redirect_subscriptionremoved);
}
}

// Show remove subscription form when GET method and without valid my_post_key
if($mybb->input['action'] == "removesubscription")
{
$referrer = '';

	if($mybb->get_input('type') == "forum")
{
$forum = get_forum($mybb->get_input('fid', MyBB::INPUT_INT));
if(!$forum)

	if($mybb->get_input('type') == "forum")
{
$forum = get_forum($mybb->get_input('fid', MyBB::INPUT_INT));
if(!$forum)

		{

		{

			error($lang->error_invalidforum);

			error($lang->error_invalidforum);

 
		}

add_breadcrumb($lang->nav_forumsubscriptions, "usercp.php?action=forumsubscriptions");
add_breadcrumb($lang->nav_removesubscription);

$forumpermissions = forum_permissions($forum['fid']);
if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0)
{
error_no_permission();

		}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($forum['fid']);

		}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($forum['fid']);


// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscription_forum");

remove_subscribed_forum($forum['fid']);
if($server_http_referer && $mybb->request_method != 'post')
{
$url = $server_http_referer;
}
else
{
$url = "usercp.php?action=forumsubscriptions";
}
redirect($url, $lang->redirect_forumsubscriptionremoved);


$lang->unsubscribe_from_forum = $lang->sprintf($lang->unsubscribe_from_forum, $forum['name']);

// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscription_display_forum");

eval("\$remove_forum_subscription = \"".$templates->get("usercp_removesubscription_forum")."\";");
output_page($remove_forum_subscription);
exit;






	}
else
{

	}
else
{

		$thread = get_thread($mybb->get_input('tid', MyBB::INPUT_INT));
if(!$thread)

		$thread  = get_thread($mybb->get_input('tid', MyBB::INPUT_INT));
if(!$thread || $thread['visible'] == -1)

		{
error($lang->error_invalidthread);
}

		{
error($lang->error_invalidthread);
}

Zeile 2052Zeile 2237
		if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true))
{
error($lang->error_invalidthread);

		if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true))
{
error($lang->error_invalidthread);

 
		}

add_breadcrumb($lang->nav_subthreads, "usercp.php?action=subscriptions");
add_breadcrumb($lang->nav_removesubscription);

$forumpermissions = forum_permissions($thread['fid']);
if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || (isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] != 0 && $thread['uid'] != $mybb->user['uid']))
{
error_no_permission();

		}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($thread['fid']);

		}

// check if the forum requires a password to view. If so, we need to show a form to the user
check_forum_password($thread['fid']);

 

require_once MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
$thread['subject'] = $parser->parse_badwords($thread['subject']);
$thread['subject'] = htmlspecialchars_uni($thread['subject']);
$lang->unsubscribe_from_thread = $lang->sprintf($lang->unsubscribe_from_thread, $thread['subject']);


// Naming of the hook retained for backward compatibility while dropping usercp2.php


// Naming of the hook retained for backward compatibility while dropping usercp2.php

		$plugins->run_hooks("usercp2_removesubscription_thread");

remove_subscribed_thread($thread['tid']);
if($server_http_referer && $mybb->request_method != 'post')
{
$url = $server_http_referer;
}
else
{
$url = "usercp.php?action=subscriptions";
}
redirect($url, $lang->redirect_subscriptionremoved);

		$plugins->run_hooks("usercp2_removesubscription_display_thread");

eval("\$remove_thread_subscription = \"".$templates->get("usercp_removesubscription_thread")."\";");
output_page($remove_thread_subscription);
exit;








	}
}

	}
}





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

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

{
// 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'));


	if($mybb->get_input('type') == "forum")
{
// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscriptions_forum");

$db->delete_query("forumsubscriptions", "uid='".$mybb->user['uid']."'");

	if($mybb->get_input('type') == "forum")
{
// Naming of the hook retained for backward compatibility while dropping usercp2.php
$plugins->run_hooks("usercp2_removesubscriptions_forum");

$db->delete_query("forumsubscriptions", "uid='".$mybb->user['uid']."'");

		if($server_http_referer)
{

		if($server_http_referer)
{

			$url = $server_http_referer;

			$url = $server_http_referer;

		}

		}

		else
{
$url = "usercp.php?action=forumsubscriptions";
}
redirect($url, $lang->redirect_forumsubscriptionsremoved);

		else
{
$url = "usercp.php?action=forumsubscriptions";
}
redirect($url, $lang->redirect_forumsubscriptionsremoved);

	}

	}

	else
{
// Naming of the hook retained for backward compatibility while dropping usercp2.php

	else
{
// Naming of the hook retained for backward compatibility while dropping usercp2.php

Zeile 2101Zeile 2294

$db->delete_query("threadsubscriptions", "uid='".$mybb->user['uid']."'");
if($server_http_referer)


$db->delete_query("threadsubscriptions", "uid='".$mybb->user['uid']."'");
if($server_http_referer)

		{

		{

			$url = $server_http_referer;

			$url = $server_http_referer;

		}

		}

		else
{
$url = "usercp.php?action=subscriptions";
}
redirect($url, $lang->redirect_subscriptionsremoved);

		else
{
$url = "usercp.php?action=subscriptions";
}
redirect($url, $lang->redirect_subscriptionsremoved);

	}

	}

}

}





if($mybb->input['action'] == "do_editsig" && $mybb->request_method == "post")
{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->input['action'] == "do_editsig" && $mybb->request_method == "post")
{
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


$plugins->run_hooks("usercp_do_editsig_start");

 

// User currently has a suspended signature
if($mybb->user['suspendsignature'] == 1 && $mybb->user['suspendsigtime'] > TIME_NOW)
{
error_no_permission();
}


// User currently has a suspended signature
if($mybb->user['suspendsignature'] == 1 && $mybb->user['suspendsigtime'] > TIME_NOW)
{
error_no_permission();
}

 

$plugins->run_hooks("usercp_do_editsig_start");


if($mybb->get_input('updateposts') == "enable")
{


if($mybb->get_input('updateposts') == "enable")
{

Zeile 2141Zeile 2334
	}
$new_signature = array(
"signature" => $db->escape_string($mybb->get_input('signature'))

	}
$new_signature = array(
"signature" => $db->escape_string($mybb->get_input('signature'))

	);

	);

	$plugins->run_hooks("usercp_do_editsig_process");
$db->update_query("users", $new_signature, "uid='".$mybb->user['uid']."'");
$plugins->run_hooks("usercp_do_editsig_end");

	$plugins->run_hooks("usercp_do_editsig_process");
$db->update_query("users", $new_signature, "uid='".$mybb->user['uid']."'");
$plugins->run_hooks("usercp_do_editsig_end");

Zeile 2221Zeile 2414
	else
{
// User is allowed to edit their signature

	else
{
// User is allowed to edit their signature

 
		$smilieinserter = '';

		if($mybb->settings['sigsmilies'] == 1)
{
$sigsmilies = $lang->on;

		if($mybb->settings['sigsmilies'] == 1)
{
$sigsmilies = $lang->on;

Zeile 2254Zeile 2448
		{
$sigimgcode = $lang->off;
}

		{
$sigimgcode = $lang->off;
}

 

if($mybb->settings['siglength'] == 0)
{
$siglength = $lang->unlimited;
}
else
{
$siglength = $mybb->settings['siglength'];
}


		$sig = htmlspecialchars_uni($sig);

		$sig = htmlspecialchars_uni($sig);

		$lang->edit_sig_note2 = $lang->sprintf($lang->edit_sig_note2, $sigsmilies, $sigmycode, $sigimgcode, $sightml, $mybb->settings['siglength']);

		$lang->edit_sig_note2 = $lang->sprintf($lang->edit_sig_note2, $sigsmilies, $sigmycode, $sigimgcode, $sightml, $siglength);





		if($mybb->settings['bbcodeinserter'] != 0 || $mybb->user['showcodebuttons'] != 0)

		if($mybb->settings['sigmycode'] != 0 && $mybb->settings['bbcodeinserter'] != 0 && $mybb->user['showcodebuttons'] != 0)

		{
$codebuttons = build_mycode_inserter("signature");
}

		{
$codebuttons = build_mycode_inserter("signature");
}

Zeile 2266Zeile 2470

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


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





	output_page($editsig);
}

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

	output_page($editsig);
}

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

{
// Verify incoming POST request

{
// Verify incoming POST request

	verify_post_check($mybb->get_input('my_post_key'));

$plugins->run_hooks("usercp_do_avatar_start");
require_once MYBB_ROOT."inc/functions_upload.php";

	verify_post_check($mybb->get_input('my_post_key'));

$plugins->run_hooks("usercp_do_avatar_start");
require_once MYBB_ROOT."inc/functions_upload.php";





	$avatar_error = "";

if(!empty($mybb->input['remove'])) // remove avatar

	$avatar_error = "";

if(!empty($mybb->input['remove'])) // remove avatar

Zeile 2297Zeile 2501
			error_no_permission();
}
$avatar = upload_avatar();

			error_no_permission();
}
$avatar = upload_avatar();

		if($avatar['error'])
{

		if(!empty($avatar['error']))
{

			$avatar_error = $avatar['error'];
}
else

			$avatar_error = $avatar['error'];
}
else

Zeile 2314Zeile 2518
			);
$db->update_query("users", $updated_avatar, "uid='".$mybb->user['uid']."'");
}

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

 
	}
elseif(!$mybb->settings['allowremoteavatars'] && !$_FILES['avatarupload']['name']) // missing avatar image
{
$avatar_error = $lang->error_avatarimagemissing;

	}
elseif($mybb->settings['allowremoteavatars']) // remote avatar
{

	}
elseif($mybb->settings['allowremoteavatars']) // remote avatar
{

Zeile 2398Zeile 2606
						$avatar_error = $lang->error_avatartoobig;
}
}

						$avatar_error = $lang->error_avatartoobig;
}
}

 
			}

// Limiting URL string to stay within database limit
if(strlen($mybb->input['avatarurl']) > 200)
{
$avatar_error = $lang->error_avatarurltoolong;

			}

if(empty($avatar_error))

			}

if(empty($avatar_error))

Zeile 2531Zeile 2745
		else
{
$user['buddylist'] = array();

		else
{
$user['buddylist'] = array();

		}

		}


$user['buddylist'][] = (int)$mybb->user['uid'];



$user['buddylist'][] = (int)$mybb->user['uid'];


Zeile 2660Zeile 2874
	$plugins->run_hooks("usercp_cancelrequest_end");

redirect("usercp.php?action=editlists", $lang->buddyrequest_cancelled);

	$plugins->run_hooks("usercp_cancelrequest_end");

redirect("usercp.php?action=editlists", $lang->buddyrequest_cancelled);

}

}


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


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

Zeile 2676Zeile 2890
		if($mybb->user['ignorelist'])
{
$existing_users = explode(",", $mybb->user['ignorelist']);

		if($mybb->user['ignorelist'])
{
$existing_users = explode(",", $mybb->user['ignorelist']);

		}


		}


		if($mybb->user['buddylist'])
{
// Create a list of buddies...

		if($mybb->user['buddylist'])
{
// Create a list of buddies...

Zeile 2685Zeile 2899
		}
}
else

		}
}
else

	{

	{

		if($mybb->user['buddylist'])
{
$existing_users = explode(",", $mybb->user['buddylist']);

		if($mybb->user['buddylist'])
{
$existing_users = explode(",", $mybb->user['buddylist']);

Zeile 2725Zeile 2939
				continue;
}
$users[$key] = $db->escape_string($username);

				continue;
}
$users[$key] = $db->escape_string($username);

		}

		}


// Get the requests we have sent that are still pending
$query = $db->simple_select('buddyrequests', 'touid', 'uid='.(int)$mybb->user['uid']);


// Get the requests we have sent that are still pending
$query = $db->simple_select('buddyrequests', 'touid', 'uid='.(int)$mybb->user['uid']);

Zeile 2788Zeile 3002
				}

if(isset($requests[$user['uid']]))

				}

if(isset($requests[$user['uid']]))

				{
if($mybb->get_input('manage') != "ignored")
{

				{
if($mybb->get_input('manage') != "ignored")
{

						$error_message = $lang->users_already_sent_request;

						$error_message = $lang->users_already_sent_request;

					}

					}

					elseif($mybb->get_input('manage') == "ignored")
{
$error_message = $lang->users_already_sent_request_alt;

					elseif($mybb->get_input('manage') == "ignored")
{
$error_message = $lang->users_already_sent_request_alt;

					}

array_pop($users); // To maintain a proper count when we call count($users)

					}

array_pop($users); // To maintain a proper count when we call count($users)

					continue;
}


					continue;
}


Zeile 2819Zeile 3033

// Do we have auto approval set to On?
if($user['buddyrequestsauto'] == 1 && $mybb->get_input('manage') != "ignored")


// Do we have auto approval set to On?
if($user['buddyrequestsauto'] == 1 && $mybb->get_input('manage') != "ignored")

				{
$existing_users[] = $user['uid'];

$pm = array(

				{
$existing_users[] = $user['uid'];

$pm = array(

						'subject' => 'buddyrequest_new_buddy',
'message' => 'buddyrequest_new_buddy_message',

						'subject' => 'buddyrequest_new_buddy',
'message' => 'buddyrequest_new_buddy_message',

						'touid' => $user['uid'],
'receivepms' => (int)$user['buddyrequestspm'],
'language' => $user['language'],
'language_file' => 'usercp'
);


						'touid' => $user['uid'],
'receivepms' => (int)$user['buddyrequestspm'],
'language' => $user['language'],
'language_file' => 'usercp'
);


					send_pm($pm);
}
elseif($user['buddyrequestsauto'] != 1 && $mybb->get_input('manage') != "ignored")

					send_pm($pm);
}
elseif($user['buddyrequestsauto'] != 1 && $mybb->get_input('manage') != "ignored")

Zeile 2846Zeile 3060
						'language' => $user['language'],
'language_file' => 'usercp'
);

						'language' => $user['language'],
'language_file' => 'usercp'
);





					send_pm($pm);

$sent = true;

					send_pm($pm);

$sent = true;

Zeile 2854Zeile 3068
				elseif($mybb->get_input('manage') == "ignored")
{
$existing_users[] = $user['uid'];

				elseif($mybb->get_input('manage') == "ignored")
{
$existing_users[] = $user['uid'];

				}

				}

			}
}


			}
}


Zeile 2869Zeile 3083
		}

if(($adding_self != true || ($adding_self == true && count($users) > 0)) && ($error_message == "" || count($users) > 1))

		}

if(($adding_self != true || ($adding_self == true && count($users) > 0)) && ($error_message == "" || count($users) > 1))

		{
if($mybb->get_input('manage') == "ignored")
{

		{
if($mybb->get_input('manage') == "ignored")
{

				$message = $lang->users_added_to_ignore_list;
}
else
{
$message = $lang->users_added_to_buddy_list;

				$message = $lang->users_added_to_ignore_list;
}
else
{
$message = $lang->users_added_to_buddy_list;

			}
}

			}
}


if($adding_self == true)
{
if($mybb->get_input('manage') == "ignored")
{
$error_message = $lang->cant_add_self_to_ignore_list;


if($adding_self == true)
{
if($mybb->get_input('manage') == "ignored")
{
$error_message = $lang->cant_add_self_to_ignore_list;

			}
else

			}
else

			{
$error_message = $lang->cant_add_self_to_buddy_list;
}
}

if(count($existing_users) == 0)

			{
$error_message = $lang->cant_add_self_to_buddy_list;
}
}

if(count($existing_users) == 0)

		{
$message = "";

		{
$message = "";


if($sent === true)
{


if($sent === true)
{

Zeile 2918Zeile 3132
				if($user['buddylist'] != '')
{
$user['buddylist'] = explode(',', $user['buddylist']);

				if($user['buddylist'] != '')
{
$user['buddylist'] = explode(',', $user['buddylist']);

				}

				}

				else
{
$user['buddylist'] = array();

				else
{
$user['buddylist'] = array();

Zeile 3024Zeile 3238
			if($new_list == "")
{
echo "\$(\"#".$mybb->get_input('manage')."_count\").html(\"0\");\n";

			if($new_list == "")
{
echo "\$(\"#".$mybb->get_input('manage')."_count\").html(\"0\");\n";

 
				echo "\$(\"#buddylink\").remove();\n";


				if($mybb->get_input('manage') == "ignored")
{
echo "\$(\"#ignore_list\").html(\"<li>{$lang->ignore_list_empty}</li>\");\n";

				if($mybb->get_input('manage') == "ignored")
{
echo "\$(\"#ignore_list\").html(\"<li>{$lang->ignore_list_empty}</li>\");\n";

Zeile 3032Zeile 3248
				{
echo "\$(\"#buddy_list\").html(\"<li>{$lang->buddy_list_empty}</li>\");\n";
}

				{
echo "\$(\"#buddy_list\").html(\"<li>{$lang->buddy_list_empty}</li>\");\n";
}

			}

			}

			else
{
echo "\$(\"#".$mybb->get_input('manage')."_count\").html(\"".count(explode(",", $new_list))."\");\n";

			else
{
echo "\$(\"#".$mybb->get_input('manage')."_count\").html(\"".count(explode(",", $new_list))."\");\n";

Zeile 3047Zeile 3263
		if($error_message)
{
$message .= "<br />".$error_message;

		if($error_message)
{
$message .= "<br />".$error_message;

		}

		}

		redirect("usercp.php?action=editlists#".$mybb->get_input('manage'), $message);
}
}

		redirect("usercp.php?action=editlists#".$mybb->get_input('manage'), $message);
}
}

Zeile 3062Zeile 3278
	$buddy_count = 0;
$buddy_list = '';
if($mybb->user['buddylist'])

	$buddy_count = 0;
$buddy_list = '';
if($mybb->user['buddylist'])

	{

	{

		$type = "buddy";
$query = $db->simple_select("users", "*", "uid IN ({$mybb->user['buddylist']})", array("order_by" => "username"));

		$type = "buddy";
$query = $db->simple_select("users", "*", "uid IN ({$mybb->user['buddylist']})", array("order_by" => "username"));

		while($user = $db->fetch_array($query))
{
$user['username'] = htmlspecialchars_uni($user['username']);
$profile_link = build_profile_link(format_name($user['username'], $user['usergroup'], $user['displaygroup']), $user['uid']);
if($user['lastactive'] > $timecut && ($user['invisible'] == 0 || $mybb->usergroup['canviewwolinvis'] == 1) && $user['lastvisit'] != $user['lastactive'])
{

		while($user = $db->fetch_array($query))
{
$user['username'] = htmlspecialchars_uni($user['username']);
$profile_link = build_profile_link(format_name($user['username'], $user['usergroup'], $user['displaygroup']), $user['uid']);
if($user['lastactive'] > $timecut && ($user['invisible'] == 0 || $mybb->usergroup['canviewwolinvis'] == 1) && $user['lastvisit'] != $user['lastactive'])
{

				$status = "online";
}
else

				$status = "online";
}
else

Zeile 3084Zeile 3300

$lang->current_buddies = $lang->sprintf($lang->current_buddies, $buddy_count);
if(!$buddy_list)


$lang->current_buddies = $lang->sprintf($lang->current_buddies, $buddy_count);
if(!$buddy_list)

	{
eval("\$buddy_list = \"".$templates->get("usercp_editlists_no_buddies")."\";");

	{
eval("\$buddy_list = \"".$templates->get("usercp_editlists_no_buddies")."\";");

	}

// Fetch out ignore list users

	}

// Fetch out ignore list users

Zeile 3109Zeile 3325
			}
eval("\$ignore_list .= \"".$templates->get("usercp_editlists_user")."\";");
++$ignore_count;

			}
eval("\$ignore_list .= \"".$templates->get("usercp_editlists_user")."\";");
++$ignore_count;

		}
}


		}
}


	$lang->current_ignored_users = $lang->sprintf($lang->current_ignored_users, $ignore_count);
if(!$ignore_list)
{

	$lang->current_ignored_users = $lang->sprintf($lang->current_ignored_users, $ignore_count);
if(!$ignore_list)
{

Zeile 3143Zeile 3359
					$request['username'] = build_profile_link(htmlspecialchars_uni($request['username']), (int)$request['touid']);
$request['date'] = my_date('relative', $request['date']);
eval("\$sent_rows .= \"".$templates->get("usercp_editlists_sent_request", 1, 0)."\";");

					$request['username'] = build_profile_link(htmlspecialchars_uni($request['username']), (int)$request['touid']);
$request['date'] = my_date('relative', $request['date']);
eval("\$sent_rows .= \"".$templates->get("usercp_editlists_sent_request", 1, 0)."\";");

				}


				}


				if($sent_rows == '')
{
eval("\$sent_rows = \"".$templates->get("usercp_editlists_no_requests", 1, 0)."\";");
}

eval("\$sent_requests = \"".$templates->get("usercp_editlists_sent_requests", 1, 0)."\";");

				if($sent_rows == '')
{
eval("\$sent_rows = \"".$templates->get("usercp_editlists_no_requests", 1, 0)."\";");
}

eval("\$sent_requests = \"".$templates->get("usercp_editlists_sent_requests", 1, 0)."\";");


echo $sentrequests;




				echo $sent_requests."<script type=\"text/javascript\">{$message_js}</script>";
}
else

				echo $sent_requests."<script type=\"text/javascript\">{$message_js}</script>";
}
else

Zeile 3164Zeile 3379
		exit;
}


		exit;
}


	$received_rows = '';

	$received_rows = $bgcolor = '';

	$query = $db->query("
SELECT r.*, u.username
FROM ".TABLE_PREFIX."buddyrequests r

	$query = $db->query("
SELECT r.*, u.username
FROM ".TABLE_PREFIX."buddyrequests r

Zeile 3177Zeile 3392
		$request['username'] = build_profile_link(htmlspecialchars_uni($request['username']), (int)$request['uid']);
$request['date'] = my_date('relative', $request['date']);
eval("\$received_rows .= \"".$templates->get("usercp_editlists_received_request")."\";");

		$request['username'] = build_profile_link(htmlspecialchars_uni($request['username']), (int)$request['uid']);
$request['date'] = my_date('relative', $request['date']);
eval("\$received_rows .= \"".$templates->get("usercp_editlists_received_request")."\";");

	}

	}


if($received_rows == '')
{


if($received_rows == '')
{

Zeile 3186Zeile 3401

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



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


	$sent_rows = '';

	$sent_rows = $bgcolor = '';

	$query = $db->query("
SELECT r.*, u.username
FROM ".TABLE_PREFIX."buddyrequests r

	$query = $db->query("
SELECT r.*, u.username
FROM ".TABLE_PREFIX."buddyrequests r

Zeile 3233Zeile 3448
			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid)
WHERE p.uid = '{$mybb->user['uid']}' AND p.visible = '-2'

			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid)
WHERE p.uid = '{$mybb->user['uid']}' AND p.visible = '-2'

			ORDER BY p.dateline DESC

			ORDER BY p.dateline DESC, p.pid DESC

		");

while($draft = $db->fetch_array($query))

		");

while($draft = $db->fetch_array($query))

Zeile 3281Zeile 3496
	// 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("usercp_do_drafts_start");

 
	$mybb->input['deletedraft'] = $mybb->get_input('deletedraft', MyBB::INPUT_ARRAY);
if(empty($mybb->input['deletedraft']))
{
error($lang->no_drafts_selected);
}

	$mybb->input['deletedraft'] = $mybb->get_input('deletedraft', MyBB::INPUT_ARRAY);
if(empty($mybb->input['deletedraft']))
{
error($lang->no_drafts_selected);
}

 

$plugins->run_hooks("usercp_do_drafts_start");


	$pidin = array();
$tidin = array();

	$pidin = array();
$tidin = array();

 


	foreach($mybb->input['deletedraft'] as $id => $val)
{
if($val == "post")

	foreach($mybb->input['deletedraft'] as $id => $val)
{
if($val == "post")

Zeile 3305Zeile 3523
		$tidin = implode(",", $tidin);
$db->delete_query("threads", "tid IN ($tidin) AND visible='-2' AND uid='".$mybb->user['uid']."'");
$tidinp = "OR tid IN ($tidin)";

		$tidin = implode(",", $tidin);
$db->delete_query("threads", "tid IN ($tidin) AND visible='-2' AND uid='".$mybb->user['uid']."'");
$tidinp = "OR tid IN ($tidin)";

 
	}
else
{
$tidinp = '';

	}
if($pidin || $tidinp)
{

	}
if($pidin || $tidinp)
{

Zeile 3323Zeile 3545
	$plugins->run_hooks("usercp_do_drafts_end");
redirect("usercp.php?action=drafts", $lang->selected_drafts_deleted);
}

	$plugins->run_hooks("usercp_do_drafts_end");
redirect("usercp.php?action=drafts", $lang->selected_drafts_deleted);
}





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

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

	$plugins->run_hooks("usercp_usergroups_start");

 
	$ingroups = ",".$mybb->user['usergroup'].",".$mybb->user['additionalgroups'].",".$mybb->user['displaygroup'].",";

$usergroups = $mybb->cache->read('usergroups');

	$ingroups = ",".$mybb->user['usergroup'].",".$mybb->user['additionalgroups'].",".$mybb->user['displaygroup'].",";

$usergroups = $mybb->cache->read('usergroups');

 

$plugins->run_hooks("usercp_usergroups_start");


// Changing our display group
if($mybb->get_input('displaygroup', MyBB::INPUT_INT))


// Changing our display group
if($mybb->get_input('displaygroup', MyBB::INPUT_INT))

Zeile 3358Zeile 3581
	if($mybb->get_input('leavegroup', MyBB::INPUT_INT))
{
// Verify incoming POST request

	if($mybb->get_input('leavegroup', MyBB::INPUT_INT))
{
// Verify incoming POST request

		verify_post_check($mybb->input['my_post_key']);

		verify_post_check($mybb->get_input('my_post_key'));


if(my_strpos($ingroups, ",".$mybb->get_input('leavegroup', MyBB::INPUT_INT).",") === false)
{
error($lang->not_member_of_group);
}
if($mybb->user['usergroup'] == $mybb->get_input('leavegroup', MyBB::INPUT_INT))


if(my_strpos($ingroups, ",".$mybb->get_input('leavegroup', MyBB::INPUT_INT).",") === false)
{
error($lang->not_member_of_group);
}
if($mybb->user['usergroup'] == $mybb->get_input('leavegroup', MyBB::INPUT_INT))

		{

		{

			error($lang->cannot_leave_primary_group);
}

$usergroup = $usergroups[$mybb->get_input('leavegroup', MyBB::INPUT_INT)];
if($usergroup['type'] != 4 && $usergroup['type'] != 3 && $usergroup['type'] != 5)

			error($lang->cannot_leave_primary_group);
}

$usergroup = $usergroups[$mybb->get_input('leavegroup', MyBB::INPUT_INT)];
if($usergroup['type'] != 4 && $usergroup['type'] != 3 && $usergroup['type'] != 5)

		{

		{

			error($lang->cannot_leave_group);
}
leave_usergroup($mybb->user['uid'], $mybb->get_input('leavegroup', MyBB::INPUT_INT));

			error($lang->cannot_leave_group);
}
leave_usergroup($mybb->user['uid'], $mybb->get_input('leavegroup', MyBB::INPUT_INT));

Zeile 3390Zeile 3613
		ORDER BY u.username ASC
");
while($leader = $db->fetch_array($query))

		ORDER BY u.username ASC
");
while($leader = $db->fetch_array($query))

	{

	{

		$groupleaders[$leader['gid']][$leader['uid']] = $leader;
}


		$groupleaders[$leader['gid']][$leader['uid']] = $leader;
}


Zeile 3408Zeile 3631
		}

if(($usergroup['type'] != 4 && $usergroup['type'] != 3) || !$usergroup['gid'])

		}

if(($usergroup['type'] != 4 && $usergroup['type'] != 3) || !$usergroup['gid'])

		{

		{

			error($lang->cannot_join_group);

			error($lang->cannot_join_group);

		}


		}


		if(my_strpos($ingroups, ",".$mybb->get_input('joingroup', MyBB::INPUT_INT).",") !== false)
{
error($lang->already_member_of_group);

		if(my_strpos($ingroups, ",".$mybb->get_input('joingroup', MyBB::INPUT_INT).",") !== false)
{
error($lang->already_member_of_group);

		}


		}


		$query = $db->simple_select("joinrequests", "*", "uid='".$mybb->user['uid']."' AND gid='".$mybb->get_input('joingroup', MyBB::INPUT_INT)."'");
$joinrequest = $db->fetch_array($query);


		$query = $db->simple_select("joinrequests", "*", "uid='".$mybb->user['uid']."' AND gid='".$mybb->get_input('joingroup', MyBB::INPUT_INT)."'");
$joinrequest = $db->fetch_array($query);


		if($joinrequest['rid'])

		if($joinrequest)

		{
error($lang->already_sent_join_request);

		{
error($lang->already_sent_join_request);

		}


		}


		if($mybb->get_input('do') == "joingroup" && $usergroup['type'] == 4)
{
$reasonlength = my_strlen($mybb->get_input('reason'));

		if($mybb->get_input('do') == "joingroup" && $usergroup['type'] == 4)
{
$reasonlength = my_strlen($mybb->get_input('reason'));

			



			if($reasonlength > 250) // Reason field is varchar(250) in database
{
error($lang->sprintf($lang->joinreason_too_long, ($reasonlength - 250)));

			if($reasonlength > 250) // Reason field is varchar(250) in database
{
error($lang->sprintf($lang->joinreason_too_long, ($reasonlength - 250)));

			}

			}


$now = TIME_NOW;
$joinrequest = array(


$now = TIME_NOW;
$joinrequest = array(

Zeile 3467Zeile 3690
			exit;
}
elseif($usergroup['type'] == 4)

			exit;
}
elseif($usergroup['type'] == 4)

		{

		{

			$joingroup = $mybb->get_input('joingroup', MyBB::INPUT_INT);
eval("\$joinpage = \"".$templates->get("usercp_usergroups_joingroup")."\";");
output_page($joinpage);
exit;

			$joingroup = $mybb->get_input('joingroup', MyBB::INPUT_INT);
eval("\$joinpage = \"".$templates->get("usercp_usergroups_joingroup")."\";");
output_page($joinpage);
exit;

		}
else

		}
else

		{
join_usergroup($mybb->user['uid'], $mybb->get_input('joingroup', MyBB::INPUT_INT));
$plugins->run_hooks("usercp_usergroups_join_group");

		{
join_usergroup($mybb->user['uid'], $mybb->get_input('joingroup', MyBB::INPUT_INT));
$plugins->run_hooks("usercp_usergroups_join_group");

			redirect("usercp.php?action=usergroups", $lang->joined_group);
}
}


			redirect("usercp.php?action=usergroups", $lang->joined_group);
}
}


	// Accepting invitation
if($mybb->get_input('acceptinvite', MyBB::INPUT_INT))
{

	// Accepting invitation
if($mybb->get_input('acceptinvite', MyBB::INPUT_INT))
{

Zeile 3492Zeile 3715
		if(my_strpos($ingroups, ",".$mybb->get_input('acceptinvite', MyBB::INPUT_INT).",") !== false)
{
error($lang->already_accepted_invite);

		if(my_strpos($ingroups, ",".$mybb->get_input('acceptinvite', MyBB::INPUT_INT).",") !== false)
{
error($lang->already_accepted_invite);

		}


		}


		$query = $db->simple_select("joinrequests", "*", "uid='".$mybb->user['uid']."' AND gid='".$mybb->get_input('acceptinvite', MyBB::INPUT_INT)."' AND invite='1'");
$joinrequest = $db->fetch_array($query);

		$query = $db->simple_select("joinrequests", "*", "uid='".$mybb->user['uid']."' AND gid='".$mybb->get_input('acceptinvite', MyBB::INPUT_INT)."' AND invite='1'");
$joinrequest = $db->fetch_array($query);

		if($joinrequest['rid'])

		if($joinrequest)

		{
join_usergroup($mybb->user['uid'], $mybb->get_input('acceptinvite', MyBB::INPUT_INT));
$db->delete_query("joinrequests", "uid='{$mybb->user['uid']}' AND gid='".$mybb->get_input('acceptinvite', MyBB::INPUT_INT)."'");

		{
join_usergroup($mybb->user['uid'], $mybb->get_input('acceptinvite', MyBB::INPUT_INT));
$db->delete_query("joinrequests", "uid='{$mybb->user['uid']}' AND gid='".$mybb->get_input('acceptinvite', MyBB::INPUT_INT)."'");

Zeile 3522Zeile 3745
				FROM ".TABLE_PREFIX."groupleaders l
LEFT JOIN ".TABLE_PREFIX."usergroups g ON(g.gid=l.gid)
LEFT JOIN ".TABLE_PREFIX."users u ON(((','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') OR u.usergroup = g.gid))

				FROM ".TABLE_PREFIX."groupleaders l
LEFT JOIN ".TABLE_PREFIX."usergroups g ON(g.gid=l.gid)
LEFT JOIN ".TABLE_PREFIX."users u ON(((','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') OR u.usergroup = g.gid))

				LEFT JOIN ".TABLE_PREFIX."joinrequests j ON(j.gid=g.gid AND j.uid != 0)
WHERE l.uid='".$mybb->user['uid']."'
GROUP BY g.gid, g.title, g.type, l.canmanagerequests, l.canmanagemembers, l.caninvitemembers
");

				LEFT JOIN ".TABLE_PREFIX."joinrequests j ON(j.gid=g.gid AND j.uid != 0)
WHERE l.uid='".$mybb->user['uid']."'
GROUP BY g.gid, g.title, g.type, l.canmanagerequests, l.canmanagemembers, l.caninvitemembers
");

			break;
default:
$query = $db->query("

			break;
default:
$query = $db->query("

Zeile 3567Zeile 3790
	$usergroup = $usergroups[$mybb->user['usergroup']];
$usergroup['title'] = htmlspecialchars_uni($usergroup['title']);
$usergroup['usertitle'] = htmlspecialchars_uni($usergroup['usertitle']);

	$usergroup = $usergroups[$mybb->user['usergroup']];
$usergroup['title'] = htmlspecialchars_uni($usergroup['title']);
$usergroup['usertitle'] = htmlspecialchars_uni($usergroup['usertitle']);

	$usergroup['description'] = htmlspecialchars_uni($usergroup['description']);





	if($usergroup['description'])
{
$usergroup['description'] = htmlspecialchars_uni($usergroup['description']);
eval("\$description = \"".$templates->get("usercp_usergroups_memberof_usergroup_description")."\";");
}

	eval("\$leavelink = \"".$templates->get("usercp_usergroups_memberof_usergroup_leaveprimary")."\";");
$trow = alt_trow();
if($usergroup['candisplaygroup'] == 1 && $usergroup['gid'] == $mybb->user['displaygroup'])

	eval("\$leavelink = \"".$templates->get("usercp_usergroups_memberof_usergroup_leaveprimary")."\";");
$trow = alt_trow();
if($usergroup['candisplaygroup'] == 1 && $usergroup['gid'] == $mybb->user['displaygroup'])

Zeile 3587Zeile 3814
	$showmemberof = false;
if($mybb->user['additionalgroups'])
{

	$showmemberof = false;
if($mybb->user['additionalgroups'])
{

		$query = $db->simple_select("usergroups", "*", "gid IN (".$mybb->user['additionalgroups'].") AND gid !='".$mybb->user['usergroup']."'", array('order_by' => 'title'));








		$additionalgroups = implode(
',',
array_map(
'intval',
explode(',', $mybb->user['additionalgroups'])
)
);
$query = $db->simple_select("usergroups", "*", "gid IN (".$additionalgroups.") AND gid !='".$mybb->user['usergroup']."'", array('order_by' => 'title'));

		while($usergroup = $db->fetch_array($query))
{
$showmemberof = true;

		while($usergroup = $db->fetch_array($query))
{
$showmemberof = true;

Zeile 3599Zeile 3833
			elseif($usergroup['type'] != 4 && $usergroup['type'] != 3 && $usergroup['type'] != 5)
{
eval("\$leavelink = \"".$templates->get("usercp_usergroups_memberof_usergroup_leaveother")."\";");

			elseif($usergroup['type'] != 4 && $usergroup['type'] != 3 && $usergroup['type'] != 5)
{
eval("\$leavelink = \"".$templates->get("usercp_usergroups_memberof_usergroup_leaveother")."\";");

			}
else
{

			}
else
{

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


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


Zeile 3621Zeile 3855
			elseif($usergroup['candisplaygroup'] == 1)
{
eval("\$displaycode = \"".$templates->get("usercp_usergroups_memberof_usergroup_setdisplay")."\";");

			elseif($usergroup['candisplaygroup'] == 1)
{
eval("\$displaycode = \"".$templates->get("usercp_usergroups_memberof_usergroup_setdisplay")."\";");

			}

			}

			else
{
$displaycode = '';
}
eval("\$memberoflist .= \"".$templates->get("usercp_usergroups_memberof_usergroup")."\";");
}

			else
{
$displaycode = '';
}
eval("\$memberoflist .= \"".$templates->get("usercp_usergroups_memberof_usergroup")."\";");
}

	}

	}

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

// List of groups this user has applied for but has not been accepted in to

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

// List of groups this user has applied for but has not been accepted in to

Zeile 3642Zeile 3876
	$existinggroups = $mybb->user['usergroup'];
if($mybb->user['additionalgroups'])
{

	$existinggroups = $mybb->user['usergroup'];
if($mybb->user['additionalgroups'])
{

		$existinggroups .= ",".$mybb->user['additionalgroups'];








		$additionalgroups = implode(
',',
array_map(
'intval',
explode(',', $mybb->user['additionalgroups'])
)
);
$existinggroups .= ",".$additionalgroups;

	}

$joinablegroups = $joinablegrouplist = '';

	}

$joinablegroups = $joinablegrouplist = '';

Zeile 3724Zeile 3965

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


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

	$plugins->run_hooks("usercp_attachments_start");

 
	require_once MYBB_ROOT."inc/functions_upload.php";

if($mybb->settings['enableattachments'] == 0)
{
error($lang->attachments_disabled);

	require_once MYBB_ROOT."inc/functions_upload.php";

if($mybb->settings['enableattachments'] == 0)
{
error($lang->attachments_disabled);

	}

$attachments = '';

$query = $db->simple_select("attachments", "SUM(filesize) AS ausage, COUNT(aid) AS acount", "uid='".$mybb->user['uid']."'");
$usage = $db->fetch_array($query);
$totalattachments = $usage['acount'];













	}

$plugins->run_hooks("usercp_attachments_start");

// Get unviewable forums
$f_perm_sql = '';
$unviewable_forums = get_unviewable_forums(true);
$inactiveforums = get_inactive_forums();
if($unviewable_forums)
{
$f_perm_sql = " AND t.fid NOT IN ($unviewable_forums)";
}
if($inactiveforums)
{
$f_perm_sql .= " AND t.fid NOT IN ($inactiveforums)";
}

$attachments = '';


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

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

	{

	{

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

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





	$perpage = $mybb->settings['threadsperpage'];
$page = $mybb->get_input('page', MyBB::INPUT_INT);

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

	$perpage = $mybb->settings['threadsperpage'];
$page = $mybb->get_input('page', MyBB::INPUT_INT);

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

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

 
	}
else
{

	}
else
{

Zeile 3771Zeile 4016
		FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)

		FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)

		WHERE a.uid='".$mybb->user['uid']."'
ORDER BY p.dateline DESC LIMIT {$start}, {$perpage}

		WHERE a.uid='".$mybb->user['uid']."' {$f_perm_sql}
ORDER BY p.dateline DESC, p.pid DESC LIMIT {$start}, {$perpage}

	");


	");


	$bandwidth = $totaldownloads = 0;

	$bandwidth = $totaldownloads = $totalusage = $totalattachments = $processedattachments = 0;

	while($attachment = $db->fetch_array($query))
{
if($attachment['dateline'] && $attachment['tid'])

	while($attachment = $db->fetch_array($query))
{
if($attachment['dateline'] && $attachment['tid'])

Zeile 3798Zeile 4043
			// Add to bandwidth total
$bandwidth += ($attachment['filesize'] * $attachment['downloads']);
$totaldownloads += $attachment['downloads'];

			// Add to bandwidth total
$bandwidth += ($attachment['filesize'] * $attachment['downloads']);
$totaldownloads += $attachment['downloads'];

 
			$totalusage += $attachment['filesize'];
++$totalattachments;

		}
else
{
// This little thing delets attachments without a thread/post
remove_attachment($attachment['pid'], $attachment['posthash'], $attachment['aid']);
}

		}
else
{
// This little thing delets attachments without a thread/post
remove_attachment($attachment['pid'], $attachment['posthash'], $attachment['aid']);
}

 
		++$processedattachments;
}

$multipage = '';
if($processedattachments >= $perpage || $page > 1)
{
$query = $db->query("
SELECT SUM(a.filesize) AS ausage, COUNT(a.aid) AS acount
FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE a.uid='".$mybb->user['uid']."' {$f_perm_sql}
");
$usage = $db->fetch_array($query);
$totalusage = $usage['ausage'];
$totalattachments = $usage['acount'];

$multipage = multipage($totalattachments, $perpage, $page, "usercp.php?action=attachments");

	}


	}


	$totalusage = $usage['ausage'];

 
	$friendlyusage = get_friendly_size((int)$totalusage);
if($mybb->usergroup['attachquota'])
{

	$friendlyusage = get_friendly_size((int)$totalusage);
if($mybb->usergroup['attachquota'])
{

Zeile 3819Zeile 4083
	{
$attachquota = $lang->unlimited;
$usagenote = $lang->sprintf($lang->attachments_usage, $friendlyusage, $totalattachments);

	{
$attachquota = $lang->unlimited;
$usagenote = $lang->sprintf($lang->attachments_usage, $friendlyusage, $totalattachments);

	}

$multipage = multipage($totalattachments, $perpage, $page, "usercp.php?action=attachments");

	}



	$bandwidth = get_friendly_size($bandwidth);

	$bandwidth = get_friendly_size($bandwidth);

 

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


if(!$attachments)
{
eval("\$attachments = \"".$templates->get("usercp_attachments_none")."\";");
$usagenote = '';


if(!$attachments)
{
eval("\$attachments = \"".$templates->get("usercp_attachments_none")."\";");
$usagenote = '';

 
		$delete_button = '';

	}

$plugins->run_hooks("usercp_attachments_end");

	}

$plugins->run_hooks("usercp_attachments_end");

Zeile 3841Zeile 4107
	// 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("usercp_do_attachments_start");

 
	require_once MYBB_ROOT."inc/functions_upload.php";
if(!isset($mybb->input['attachments']) || !is_array($mybb->input['attachments']))
{
error($lang->no_attachments_selected);
}

	require_once MYBB_ROOT."inc/functions_upload.php";
if(!isset($mybb->input['attachments']) || !is_array($mybb->input['attachments']))
{
error($lang->no_attachments_selected);
}

 

$plugins->run_hooks("usercp_do_attachments_start");

// Get unviewable forums
$f_perm_sql = '';
$unviewable_forums = get_unviewable_forums(true);
$inactiveforums = get_inactive_forums();
if($unviewable_forums)
{
$f_perm_sql = " AND p.fid NOT IN ($unviewable_forums)";
}
if($inactiveforums)
{
$f_perm_sql .= " AND p.fid NOT IN ($inactiveforums)";
}


	$aids = implode(',', array_map('intval', $mybb->input['attachments']));

	$aids = implode(',', array_map('intval', $mybb->input['attachments']));

	$query = $db->simple_select("attachments", "*", "aid IN ($aids) AND uid='".$mybb->user['uid']."'");









$query = $db->query("
SELECT a.*, p.fid
FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
WHERE aid IN ({$aids}) AND a.uid={$mybb->user['uid']} {$f_perm_sql}
");


	while($attachment = $db->fetch_array($query))
{
remove_attachment($attachment['pid'], '', $attachment['aid']);

	while($attachment = $db->fetch_array($query))
{
remove_attachment($attachment['pid'], '', $attachment['aid']);

Zeile 3858Zeile 4146
}

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

}

if($mybb->input['action'] == "do_notepad" && $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'));


Zeile 3878Zeile 4166
{
// Get posts per day
$daysreg = (TIME_NOW - $mybb->user['regdate']) / (24*3600);

{
// Get posts per day
$daysreg = (TIME_NOW - $mybb->user['regdate']) / (24*3600);





	if($daysreg < 1)
{
$daysreg = 1;

	if($daysreg < 1)
{
$daysreg = 1;

Zeile 3889Zeile 4177
	if($perday > $mybb->user['postnum'])
{
$perday = $mybb->user['postnum'];

	if($perday > $mybb->user['postnum'])
{
$perday = $mybb->user['postnum'];

	}


	}


	$stats = $cache->read("stats");
$posts = $stats['numposts'];
if($posts == 0)

	$stats = $cache->read("stats");
$posts = $stats['numposts'];
if($posts == 0)

Zeile 3910Zeile 4198
	$useravatar = format_avatar($mybb->user['avatar'], $mybb->user['avatardimensions'], '100x100');
$avatar_username = htmlspecialchars_uni($mybb->user['username']);
eval("\$avatar = \"".$templates->get("usercp_currentavatar")."\";");

	$useravatar = format_avatar($mybb->user['avatar'], $mybb->user['avatardimensions'], '100x100');
$avatar_username = htmlspecialchars_uni($mybb->user['username']);
eval("\$avatar = \"".$templates->get("usercp_currentavatar")."\";");

 

$mybb->user['email'] = htmlspecialchars_uni($mybb->user['email']);


$usergroup = htmlspecialchars_uni($groupscache[$mybb->user['usergroup']]['title']);
if($mybb->user['usergroup'] == 5 && $mybb->settings['regtype'] != "admin")


$usergroup = htmlspecialchars_uni($groupscache[$mybb->user['usergroup']]['title']);
if($mybb->user['usergroup'] == 5 && $mybb->settings['regtype'] != "admin")

Zeile 3917Zeile 4207
		eval("\$usergroup .= \"".$templates->get("usercp_resendactivation")."\";");
}
// Make reputations row

		eval("\$usergroup .= \"".$templates->get("usercp_resendactivation")."\";");
}
// Make reputations row

	$reputations = '';

	$reputation = '';

	if($mybb->usergroup['usereputationsystem'] == 1 && $mybb->settings['enablereputation'] == 1)
{
$reputation_link = get_reputation($mybb->user['reputation']);

	if($mybb->usergroup['usereputationsystem'] == 1 && $mybb->settings['enablereputation'] == 1)
{
$reputation_link = get_reputation($mybb->user['reputation']);

Zeile 3982Zeile 4272
				else
{
$warning_type = $warning['title'];

				else
{
$warning_type = $warning['title'];

				}

				}

				$warning_type = htmlspecialchars_uni($warning_type);
if($warning['points'] > 0)
{

				$warning_type = htmlspecialchars_uni($warning_type);
if($warning['points'] > 0)
{

Zeile 3998Zeile 4288
				elseif($warning['expired'])
{
$expires = $lang->already_expired;

				elseif($warning['expired'])
{
$expires = $lang->already_expired;

				}

				}

				elseif($warning['expires'] == 0)
{
$expires = $lang->never;

				elseif($warning['expires'] == 0)
{
$expires = $lang->never;

Zeile 4021Zeile 4311
	// Format username
$username = format_name(htmlspecialchars_uni($mybb->user['username']), $mybb->user['usergroup'], $mybb->user['displaygroup']);
$username = build_profile_link($username, $mybb->user['uid']);

	// Format username
$username = format_name(htmlspecialchars_uni($mybb->user['username']), $mybb->user['usergroup'], $mybb->user['displaygroup']);
$username = build_profile_link($username, $mybb->user['uid']);





	// Format post numbers
$mybb->user['posts'] = my_number_format($mybb->user['postnum']);

	// Format post numbers
$mybb->user['posts'] = my_number_format($mybb->user['postnum']);





	// Build referral link

	// Build referral link

 
	$referral_info = '';

	if($mybb->settings['usereferrals'] == 1)
{
$referral_link = $lang->sprintf($lang->referral_link, $settings['bburl'], $mybb->user['uid']);

	if($mybb->settings['usereferrals'] == 1)
{
$referral_link = $lang->sprintf($lang->referral_link, $settings['bburl'], $mybb->user['uid']);

 

$referral_count = (int) $mybb->user['referrals'];
if($referral_count > 0)
{
$uid = (int) $mybb->user['uid'];
eval("\$mybb->user['referrals'] = \"".$templates->get('member_referrals_link')."\";");
}


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


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


Zeile 4042Zeile 4341
	$latest_subscribed = '';
$query = $db->simple_select("threadsubscriptions", "sid", "uid = '".$mybb->user['uid']."'", array("limit" => 1));
if($db->num_rows($query))

	$latest_subscribed = '';
$query = $db->simple_select("threadsubscriptions", "sid", "uid = '".$mybb->user['uid']."'", array("limit" => 1));
if($db->num_rows($query))

	{
$visible = "AND t.visible != 0";
if(is_moderator() == true)
{
$visible = '';
}













	{
$where = array(
"s.uid={$mybb->user['uid']}",
"t.lastposteruid!={$mybb->user['uid']}",
get_visible_where('t')
);

if($unviewable_forums = get_unviewable_forums(true))
{
$where[] = "t.fid NOT IN ({$unviewable_forums})";
}

if($inactive_forums = get_inactive_forums())
{
$where[] = "t.fid NOT IN ({$inactive_forums})";
}

$where = implode(' AND ', $where);


$query = $db->query("
SELECT s.*, t.*, t.username AS threadusername, u.username
FROM ".TABLE_PREFIX."threadsubscriptions s
LEFT JOIN ".TABLE_PREFIX."threads t ON (s.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)


$query = $db->query("
SELECT s.*, t.*, t.username AS threadusername, u.username
FROM ".TABLE_PREFIX."threadsubscriptions s
LEFT JOIN ".TABLE_PREFIX."threads t ON (s.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

			WHERE s.uid='".$mybb->user['uid']."' {$visible}

			WHERE {$where}

			ORDER BY t.lastpost DESC
LIMIT 0, 10
");


			ORDER BY t.lastpost DESC
LIMIT 0, 10
");


 
		$subscriptions = array();

		$fpermissions = forum_permissions();

		$fpermissions = forum_permissions();

 


		while($subscription = $db->fetch_array($query))
{
$forumpermissions = $fpermissions[$subscription['fid']];

		while($subscription = $db->fetch_array($query))
{
$forumpermissions = $fpermissions[$subscription['fid']];

			if($forumpermissions['canview'] != 0 && $forumpermissions['canviewthreads'] != 0 && ($forumpermissions['canonlyviewownthreads'] == 0 || $subscription['uid'] == $mybb->user['uid']))



if(!isset($forumpermissions['canonlyviewownthreads']) || $forumpermissions['canonlyviewownthreads'] == 0 || $subscription['uid'] == $mybb->user['uid'])

			{
$subscriptions[$subscription['tid']] = $subscription;
}
}


			{
$subscriptions[$subscription['tid']] = $subscription;
}
}


		if(is_array($subscriptions))

		if($subscriptions)

		{
$tids = implode(",", array_keys($subscriptions));


		{
$tids = implode(",", array_keys($subscriptions));


Zeile 4103Zeile 4417

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


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

 
				$latest_subscribed_threads = '';


foreach($subscriptions as $thread)
{


foreach($subscriptions as $thread)
{

 
					$plugins->run_hooks("usercp_thread_subscriptions_thread");

					$folder = '';
$folder_label = '';
$gotounread = '';


					$folder = '';
$folder_label = '';
$gotounread = '';


					if($thread['tid'])

					if(!empty($thread['tid']))

					{
$bgcolor = alt_trow();
$thread['subject'] = $parser->parse_badwords($thread['subject']);

					{
$bgcolor = alt_trow();
$thread['subject'] = $parser->parse_badwords($thread['subject']);

Zeile 4142Zeile 4458
							$icon = "&nbsp;";
}


							$icon = "&nbsp;";
}


						if($thread['doticon'])

						if(!isset($thread['doticon']))

						{
$folder = "dot_";
$folder_label .= $lang->icon_dot;
}

// Check to see which icon we display

						{
$folder = "dot_";
$folder_label .= $lang->icon_dot;
}

// Check to see which icon we display

						if($thread['lastread'] && $thread['lastread'] < $thread['lastpost'])

						if(!empty($thread['lastread']) && $thread['lastread'] < $thread['lastpost'])

						{
$folder .= "new";
$folder_label .= $lang->icon_new;

						{
$folder .= "new";
$folder_label .= $lang->icon_new;

Zeile 4175Zeile 4491
						if(!$lastposteruid && !$thread['lastposter'])
{
$lastposter = htmlspecialchars_uni($lang->guest);

						if(!$lastposteruid && !$thread['lastposter'])
{
$lastposter = htmlspecialchars_uni($lang->guest);

						}
else
{

						}
else
{

							$lastposter = htmlspecialchars_uni($thread['lastposter']);
}


							$lastposter = htmlspecialchars_uni($thread['lastposter']);
}


Zeile 4194Zeile 4510
						$thread['views'] = my_number_format($thread['views']);
$thread['username'] = htmlspecialchars_uni($thread['username']);
$thread['author'] = build_profile_link($thread['username'], $thread['uid']);

						$thread['views'] = my_number_format($thread['views']);
$thread['username'] = htmlspecialchars_uni($thread['username']);
$thread['author'] = build_profile_link($thread['username'], $thread['uid']);





						eval("\$latest_subscribed_threads .= \"".$templates->get("usercp_latest_subscribed_threads")."\";");
}
}
eval("\$latest_subscribed = \"".$templates->get("usercp_latest_subscribed")."\";");
}

						eval("\$latest_subscribed_threads .= \"".$templates->get("usercp_latest_subscribed_threads")."\";");
}
}
eval("\$latest_subscribed = \"".$templates->get("usercp_latest_subscribed")."\";");
}

		}
}

// User's Latest Threads

// Get unviewable forums
$f_perm_sql = '';
$unviewable_forums = get_unviewable_forums();
$inactiveforums = get_inactive_forums();
if($unviewable_forums)
{
$f_perm_sql = " AND t.fid NOT IN ($unviewable_forums)";
}
if($inactiveforums)
{
$f_perm_sql .= " AND t.fid NOT IN ($inactiveforums)";
}

		}
}

// User's Latest Threads
$where = array(
"t.uid={$mybb->user['uid']}",
get_visible_where('t')
);

if($unviewable_forums = get_unviewable_forums(true))
{
$where[] = "t.fid NOT IN ({$unviewable_forums})";
}









	$visible = " AND t.visible != 0";
if(is_moderator() == true)

	if($inactive_forums = get_inactive_forums())


	{

	{

		$visible = '';

		$where[] = "t.fid NOT IN ({$inactive_forums})";

	}

	}

 

$where = implode(' AND ', $where);


$query = $db->query("
SELECT t.*, t.username AS threadusername, u.username
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)


$query = $db->query("
SELECT t.*, t.username AS threadusername, u.username
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

		WHERE t.uid='".$mybb->user['uid']."' AND t.firstpost != 0 AND t.visible >= 0 {$visible}{$f_perm_sql}

		WHERE {$where}

		ORDER BY t.lastpost DESC
LIMIT 0, 5
");

		ORDER BY t.lastpost DESC
LIMIT 0, 5
");

Zeile 4238Zeile 4551
	$fpermissions = forum_permissions();
while($thread = $db->fetch_array($query))
{

	$fpermissions = forum_permissions();
while($thread = $db->fetch_array($query))
{

		// Moderated, and not moderator?
if($thread['visible'] == 0 && is_moderator($thread['fid'], "canviewunapprove") === false)
{
continue;
}

$forumpermissions = $fpermissions[$thread['fid']];
if($forumpermissions['canview'] != 0 || $forumpermissions['canviewthreads'] != 0)
{
$threadcache[$thread['tid']] = $thread;
}

		$threadcache[$thread['tid']] = $thread;











	}

$latest_threads = '';

	}

$latest_threads = '';

Zeile 4298Zeile 4601
		$latest_threads_threads = '';
foreach($threadcache as $thread)
{

		$latest_threads_threads = '';
foreach($threadcache as $thread)
{

			if($thread['tid'])


			$plugins->run_hooks("usercp_latest_threads_thread");
if(!empty($thread['tid']))

			{
$bgcolor = alt_trow();
$folder = '';

			{
$bgcolor = alt_trow();
$folder = '';

Zeile 4359Zeile 4663
				$cutoff = 0;
if($thread['lastpost'] > $cutoff)
{

				$cutoff = 0;
if($thread['lastpost'] > $cutoff)
{

					if($thread['lastread'])

					if(!empty($thread['lastread']))

					{
$lastread = $thread['lastread'];
}

					{
$lastread = $thread['lastread'];
}

Zeile 4379Zeile 4683
				}

// Folder Icons

				}

// Folder Icons

				if($thread['doticon'])

				if(!empty($thread['doticon']))

				{
$folder = "dot_";
$folder_label .= $lang->icon_dot;

				{
$folder = "dot_";
$folder_label .= $lang->icon_dot;

Zeile 4414Zeile 4718

if($thread['closed'] == 1)
{


if($thread['closed'] == 1)
{

					$folder .= "lock";
$folder_label .= $lang->icon_lock;

					$folder .= "close";
$folder_label .= $lang->icon_close;

				}

$folder .= "folder";

				}

$folder .= "folder";