Vergleich admin/modules/user/users.php - 1.8.7 - 1.8.38

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 172Zeile 172
			}
}


			}
}


		$ipaddress_host_name = htmlspecialchars_uni(@gethostbyaddr($mybb->input['ipaddress']));

// gethostbyaddr returns the same ip on failure
if($ipaddress_host_name == $mybb->input['ipaddress'])

		if(filter_var($mybb->input['ipaddress'], FILTER_VALIDATE_IP))




		{

		{

			$ipaddress_host_name = $lang->na;







			$ipaddress_host_name = htmlspecialchars_uni(@gethostbyaddr($mybb->input['ipaddress']));

// gethostbyaddr returns the same ip on failure
if($ipaddress_host_name == $mybb->input['ipaddress'])
{
$ipaddress_host_name = $lang->na;
}

		}
}


		}
}


Zeile 207Zeile 210

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


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

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

	if(!verify_post_check($mybb->get_input('my_post_key')))

	{
flash_message($lang->invalid_post_verify_key2, 'error');

	{
flash_message($lang->invalid_post_verify_key2, 'error');

		admin_redirect("index.php?module=user-users");

		admin_redirect("index.php?module=user-users");

	}

	}





	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	if(!$user['uid'] || $user['usergroup'] != 5)
{

	if(!$user || $user['usergroup'] != 5)
{

		flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");
}

		flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");
}

Zeile 231Zeile 234
	{
$updated_user = array(
"coppauser" => 0

	{
$updated_user = array(
"coppauser" => 0

		);
}
else

		);
}
else

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

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

Zeile 255Zeile 258

// Log admin action
log_admin_action($user['uid'], $user['username']);


// Log admin action
log_admin_action($user['uid'], $user['username']);





	if($mybb->input['from'] == "home")
{
if($user['coppauser'])
{
$message = $lang->success_coppa_activated;

	if($mybb->input['from'] == "home")
{
if($user['coppauser'])
{
$message = $lang->success_coppa_activated;

		}
else

		}
else

		{
$message = $lang->success_activated;
}

		{
$message = $lang->success_activated;
}

Zeile 276Zeile 279
			flash_message($lang->success_coppa_activated, 'success');
}
else

			flash_message($lang->success_coppa_activated, 'success');
}
else

		{

		{

			flash_message($lang->success_activated, 'success');
}
}

			flash_message($lang->success_activated, 'success');
}
}

Zeile 289Zeile 292
		if($mybb->input['from'] == "home")
{
update_admin_session('from', 'home');

		if($mybb->input['from'] == "home")
{
update_admin_session('from', 'home');

		}
}

		}
}

	else
{
$url = "index.php?module=user-users&action=edit&uid={$user['uid']}";

	else
{
$url = "index.php?module=user-users&action=edit&uid={$user['uid']}";

Zeile 308Zeile 311
	if($mybb->request_method == "post")
{
// Determine the usergroup stuff

	if($mybb->request_method == "post")
{
// Determine the usergroup stuff

		if(is_array($mybb->input['additionalgroups']))

		if(!empty($mybb->input['additionalgroups']) && is_array($mybb->input['additionalgroups']))

		{
foreach($mybb->input['additionalgroups'] as $key => $gid)
{

		{
foreach($mybb->input['additionalgroups'] as $key => $gid)
{

Zeile 317Zeile 320
					unset($mybb->input['additionalgroups'][$key]);
}
}

					unset($mybb->input['additionalgroups'][$key]);
}
}

			$additionalgroups = implode(",", $mybb->input['additionalgroups']);

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

		}
else
{

		}
else
{

Zeile 330Zeile 333

// Set the data for the new user.
$new_user = array(


// Set the data for the new user.
$new_user = array(

			"uid" => $mybb->input['uid'],
"username" => $mybb->input['username'],
"password" => $mybb->input['password'],
"password2" => $mybb->input['confirm_password'],
"email" => $mybb->input['email'],
"email2" => $mybb->input['email'],
"usergroup" => $mybb->input['usergroup'],

			"uid" => $mybb->get_input('uid'),
"username" => $mybb->get_input('username'),
"password" => $mybb->get_input('password'),
"password2" => $mybb->get_input('confirm_password'),
"email" => $mybb->get_input('email'),
"email2" => $mybb->get_input('email'),
"usergroup" => $mybb->get_input('usergroup'),

			"additionalgroups" => $additionalgroups,

			"additionalgroups" => $additionalgroups,

			"displaygroup" => $mybb->input['displaygroup'],
"profile_fields" => $mybb->input['profile_fields'],

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

			"profile_fields_editable" => true,
);


			"profile_fields_editable" => true,
);


Zeile 369Zeile 372
	// Fetch custom profile fields - only need required profile fields here
$query = $db->simple_select("profilefields", "*", "required=1", array('order_by' => 'disporder'));


	// Fetch custom profile fields - only need required profile fields here
$query = $db->simple_select("profilefields", "*", "required=1", array('order_by' => 'disporder'));


	$profile_fields = array();




	$profile_fields = array(
'required' => array(),
'optional' => array(),
);

	while($profile_field = $db->fetch_array($query))
{
$profile_fields['required'][] = $profile_field;

	while($profile_field = $db->fetch_array($query))
{
$profile_fields['required'][] = $profile_field;

	}

	}


$page->add_breadcrumb_item($lang->create_user);
$page->output_header($lang->create_user);

$form = new Form("index.php?module=user-users&action=add", "post");


$page->add_breadcrumb_item($lang->create_user);
$page->output_header($lang->create_user);

$form = new Form("index.php?module=user-users&action=add", "post");





	$page->output_nav_tabs($sub_tabs, 'create_user');

// If we have any error messages, show them

	$page->output_nav_tabs($sub_tabs, 'create_user');

// If we have any error messages, show them

Zeile 391Zeile 397
	{
$mybb->input = array_merge($mybb->input, array('usergroup' => 2));
}

	{
$mybb->input = array_merge($mybb->input, array('usergroup' => 2));
}

 

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


$form_container = new FormContainer($lang->required_profile_info);


$form_container = new FormContainer($lang->required_profile_info);

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username');
$form_container->output_row($lang->password." <em>*</em>", "", $form->generate_password_box('password', $mybb->input['password'], array('id' => 'password', 'autocomplete' => 'off')), 'password');
$form_container->output_row($lang->confirm_password." <em>*</em>", "", $form->generate_password_box('confirm_password', $mybb->input['confirm_password'], array('id' => 'confirm_new_password')), 'confirm_new_password');
$form_container->output_row($lang->email_address." <em>*</em>", "", $form->generate_text_box('email', $mybb->input['email'], array('id' => 'email')), 'email');

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', htmlspecialchars_uni($mybb->get_input('username')), array('id' => 'username')), 'username');
$form_container->output_row($lang->password." <em>*</em>", "", $form->generate_password_box('password', $mybb->get_input('password'), array('id' => 'password', 'autocomplete' => 'off')), 'password');
$form_container->output_row($lang->confirm_password." <em>*</em>", "", $form->generate_password_box('confirm_password', $mybb->get_input('confirm_password'), array('id' => 'confirm_new_password')), 'confirm_new_password');
$form_container->output_row($lang->email_address." <em>*</em>", "", $form->generate_text_box('email', $mybb->get_input('email'), array('id' => 'email')), 'email');


$display_group_options[0] = $lang->use_primary_user_group;
$options = array();


$display_group_options[0] = $lang->use_primary_user_group;
$options = array();

Zeile 407Zeile 415
		$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


		$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


	$form_container->output_row($lang->primary_user_group." <em>*</em>", "", $form->generate_select_box('usergroup', $options, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup');
$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->input['additionalgroups'], array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group." <em>*</em>", "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');

	$form_container->output_row($lang->primary_user_group." <em>*</em>", "", $form->generate_select_box('usergroup', $options, $mybb->get_input('usergroup'), array('id' => 'usergroup')), 'usergroup');
$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->get_input('additionalgroups', MyBB::INPUT_ARRAY), array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group." <em>*</em>", "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->get_input('displaygroup'), array('id' => 'displaygroup')), 'displaygroup');


// Output custom profile fields - required


// Output custom profile fields - required

	output_custom_profile_fields($profile_fields['required'], $mybb->input['profile_fields'], $form_container, $form);

	output_custom_profile_fields($profile_fields['required'], $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY), $form_container, $form);


$form_container->end();
$buttons[] = $form->generate_submit_button($lang->save_user);


$form_container->end();
$buttons[] = $form->generate_submit_button($lang->save_user);

Zeile 427Zeile 435
	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	if(!$user['uid'])

	if(!$user)

	{
flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");

	{
flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");

Zeile 437Zeile 445

if($mybb->request_method == "post")
{


if($mybb->request_method == "post")
{

 
		$plugins->run_hooks("admin_user_users_edit_start");

		if(is_super_admin($mybb->input['uid']) && $mybb->user['uid'] != $mybb->input['uid'] && !is_super_admin($mybb->user['uid']))
{
flash_message($lang->error_no_perms_super_admin, 'error');

		if(is_super_admin($mybb->input['uid']) && $mybb->user['uid'] != $mybb->input['uid'] && !is_super_admin($mybb->user['uid']))
{
flash_message($lang->error_no_perms_super_admin, 'error');

Zeile 444Zeile 453
		}

// Determine the usergroup stuff

		}

// Determine the usergroup stuff

		if(is_array($mybb->input['additionalgroups']))

		if(!empty($mybb->input['additionalgroups']) && is_array($mybb->input['additionalgroups']))

		{
foreach($mybb->input['additionalgroups'] as $key => $gid)
{

		{
foreach($mybb->input['additionalgroups'] as $key => $gid)
{

Zeile 453Zeile 462
					unset($mybb->input['additionalgroups'][$key]);
}
}

					unset($mybb->input['additionalgroups'][$key]);
}
}

			$additionalgroups = implode(",", $mybb->input['additionalgroups']);

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

		}
else
{

		}
else
{

Zeile 495Zeile 504

// Set the data for the new user.
$updated_user = array(


// Set the data for the new user.
$updated_user = array(

			"uid" => $mybb->input['uid'],
"username" => $mybb->input['username'],
"email" => $mybb->input['email'],
"email2" => $mybb->input['email'],
"usergroup" => $mybb->input['usergroup'],

			"uid" => $mybb->get_input('uid'),
"username" => $mybb->get_input('username'),
"email" => $mybb->get_input('email'),
"email2" => $mybb->get_input('email'),
"usergroup" => $mybb->get_input('usergroup'),

			"additionalgroups" => $additionalgroups,

			"additionalgroups" => $additionalgroups,

			"displaygroup" => $mybb->input['displaygroup'],
"postnum" => $mybb->input['postnum'],
"threadnum" => $mybb->input['threadnum'],
"usertitle" => $mybb->input['usertitle'],
"timezone" => $mybb->input['timezone'],
"language" => $mybb->input['language'],
"profile_fields" => $mybb->input['profile_fields'],

			"displaygroup" => $mybb->get_input('displaygroup'),
"postnum" => $mybb->get_input('postnum'),
"threadnum" => $mybb->get_input('threadnum'),
"usertitle" => $mybb->get_input('usertitle'),
"timezone" => $mybb->get_input('timezone'),
"language" => $mybb->get_input('language'),
"profile_fields" => $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY),

			"profile_fields_editable" => true,

			"profile_fields_editable" => true,

			"website" => $mybb->input['website'],
"icq" => $mybb->input['icq'],
"aim" => $mybb->input['aim'],
"yahoo" => $mybb->input['yahoo'],
"skype" => $mybb->input['skype'],
"google" => $mybb->input['google'],

			"website" => $mybb->get_input('website'),
"icq" => $mybb->get_input('icq'),
"skype" => $mybb->get_input('skype'),
"google" => $mybb->get_input('google'),



			"birthday" => array(

			"birthday" => array(

				"day" => $mybb->input['bday1'],
"month" => $mybb->input['bday2'],
"year" => $mybb->input['bday3']

				"day" => $mybb->get_input('bday1'),
"month" => $mybb->get_input('bday2'),
"year" => $mybb->get_input('bday3')

			),

			),

			"style" => $mybb->input['style'],
"signature" => $mybb->input['signature'],

			"style" => $mybb->get_input('style'),
"signature" => $mybb->get_input('signature'),

			"dateformat" => $mybb->get_input('dateformat', MyBB::INPUT_INT),
"timeformat" => $mybb->get_input('timeformat', MyBB::INPUT_INT),

			"dateformat" => $mybb->get_input('dateformat', MyBB::INPUT_INT),
"timeformat" => $mybb->get_input('timeformat', MyBB::INPUT_INT),

			"usernotes" => $mybb->input['usernotes'],

			"usernotes" => $mybb->get_input('usernotes'),

			"away" => array(

			"away" => array(

				"away" => $mybb->input['away'],

				"away" => $mybb->get_input('away'),

				"date" => TIME_NOW,
"returndate" => $returndate,

				"date" => TIME_NOW,
"returndate" => $returndate,

				"awayreason" => $mybb->input['awayreason']

				"awayreason" => $mybb->get_input('awayreason')

			)
);


			)
);


		if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5)

		if($user['usergroup'] == 5 && $mybb->get_input('usergroup') != 5)

		{
if($user['coppauser'] == 1)
{
$updated_user['coppa_user'] = 0;
}
}

		{
if($user['coppauser'] == 1)
{
$updated_user['coppa_user'] = 0;
}
}

		if($mybb->input['new_password'])

		if($mybb->get_input('new_password'))

		{

		{

			$updated_user['password'] = $mybb->input['new_password'];
$updated_user['password2'] = $mybb->input['confirm_new_password'];

			$updated_user['password'] = $mybb->get_input('new_password');
$updated_user['password2'] = $mybb->get_input('confirm_new_password');

		}

$updated_user['options'] = array(

		}

$updated_user['options'] = array(

			"allownotices" => $mybb->input['allownotices'],
"hideemail" => $mybb->input['hideemail'],
"subscriptionmethod" => $mybb->input['subscriptionmethod'],
"invisible" => $mybb->input['invisible'],
"dstcorrection" => $mybb->input['dstcorrection'],
"threadmode" => $mybb->input['threadmode'],
"classicpostbit" => $mybb->input['classicpostbit'],
"showimages" => $mybb->input['showimages'],
"showvideos" => $mybb->input['showvideos'],
"showsigs" => $mybb->input['showsigs'],
"showavatars" => $mybb->input['showavatars'],
"showquickreply" => $mybb->input['showquickreply'],
"receivepms" => $mybb->input['receivepms'],
"receivefrombuddy" => $mybb->input['receivefrombuddy'],
"pmnotice" => $mybb->input['pmnotice'],
"daysprune" => $mybb->input['daysprune'],
"showcodebuttons" => $mybb->input['showcodebuttons'],
"sourceeditor" => $mybb->input['sourceeditor'],
"pmnotify" => $mybb->input['pmnotify'],
"buddyrequestspm" => $mybb->input['buddyrequestspm'],
"buddyrequestsauto" => $mybb->input['buddyrequestsauto'],
"showredirect" => $mybb->input['showredirect']

			"allownotices" => $mybb->get_input('allownotices'),
"hideemail" => $mybb->get_input('hideemail'),
"subscriptionmethod" => $mybb->get_input('subscriptionmethod'),
"invisible" => $mybb->get_input('invisible'),
"dstcorrection" => $mybb->get_input('dstcorrection'),
"threadmode" => $mybb->get_input('threadmode'),
"classicpostbit" => $mybb->get_input('classicpostbit'),
"showimages" => $mybb->get_input('showimages'),
"showvideos" => $mybb->get_input('showvideos'),
"showsigs" => $mybb->get_input('showsigs'),
"showavatars" => $mybb->get_input('showavatars'),
"showquickreply" => $mybb->get_input('showquickreply'),
"receivepms" => $mybb->get_input('receivepms'),
"receivefrombuddy" => $mybb->get_input('receivefrombuddy'),
"pmnotice" => $mybb->get_input('pmnotice'),
"daysprune" => $mybb->get_input('daysprune'),
"showcodebuttons" => $mybb->get_input('showcodebuttons'),
"sourceeditor" => $mybb->get_input('sourceeditor'),
"pmnotify" => $mybb->get_input('pmnotify'),
"buddyrequestspm" => $mybb->get_input('buddyrequestspm'),
"buddyrequestsauto" => $mybb->get_input('buddyrequestsauto'),
"showredirect" => $mybb->get_input('showredirect')

		);

if($mybb->settings['usertppoptions'])

		);

if($mybb->settings['usertppoptions'])

Zeile 593Zeile 600
		else
{
// Are we removing an avatar from this user?

		else
{
// Are we removing an avatar from this user?

			if($mybb->input['remove_avatar'])
{

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

				$extra_user_updates = array(
"avatar" => "",
"avatardimensions" => "",

				$extra_user_updates = array(
"avatar" => "",
"avatardimensions" => "",

Zeile 625Zeile 632
				}
}
// Are we setting a new avatar from a URL?

				}
}
// Are we setting a new avatar from a URL?

			else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar'])

			else if(!empty($mybb->input['avatar_url']) && $mybb->input['avatar_url'] != $user['avatar'])

			{

			{

				if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false)
{
// Gravatar
$email = md5(strtolower(trim($mybb->input['avatar_url'])));

$s = '';
if(!$mybb->settings['maxavatardims'])
{
$mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits
}

// Because Gravatars are square, hijack the width
list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));

$s = "?s={$maxwidth}";
$maxheight = (int)$maxwidth;

$extra_user_updates = array(
"avatar" => "https://www.gravatar.com/avatar/{$email}{$s}",
"avatardimensions" => "{$maxheight}|{$maxheight}",
"avatartype" => "gravatar"
);

				if(!$mybb->settings['allowremoteavatars'])
{
$errors = array($lang->error_remote_avatar_not_allowed);




















				}
else
{

				}
else
{

					$mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']);
$ext = get_extension($mybb->input['avatar_url']);

// Copy the avatar to the local server (work around remote URL access disabled for getimagesize)
$file = fetch_remote_file($mybb->input['avatar_url']);
if(!$file)

					if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false)






					{

					{

						$avatar_error = $lang->error_invalidavatarurl;




















						// Gravatar
$email = md5(strtolower(trim($mybb->input['avatar_url'])));

$s = '';
if(!$mybb->settings['maxavatardims'])
{
$mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits
}

// Because Gravatars are square, hijack the width
list($maxwidth, $maxheight) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims']));

$s = "?s={$maxwidth}";
$maxheight = (int)$maxwidth;

$extra_user_updates = array(
"avatar" => "https://www.gravatar.com/avatar/{$email}{$s}",
"avatardimensions" => "{$maxheight}|{$maxheight}",
"avatartype" => "gravatar"
);

					}
else
{

					}
else
{

						$tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str());
$fp = @fopen($tmp_name, "wb");
if(!$fp)
{




						$mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']);
$ext = get_extension($mybb->input['avatar_url']);

// Copy the avatar to the local server (work around remote URL access disabled for getimagesize)
$file = fetch_remote_file($mybb->input['avatar_url']);
if(!$file)
{

							$avatar_error = $lang->error_invalidavatarurl;
}
else
{

							$avatar_error = $lang->error_invalidavatarurl;
}
else
{

							fwrite($fp, $file);
fclose($fp);
list($width, $height, $type) = @getimagesize($tmp_name);
@unlink($tmp_name);
echo $type;
if(!$type)


















							$tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str());
$fp = @fopen($tmp_name, "wb");
if(!$fp)
{
$avatar_error = $lang->error_invalidavatarurl;
}
else
{
fwrite($fp, $file);
fclose($fp);
list($width, $height, $type) = @getimagesize($tmp_name);
@unlink($tmp_name);
echo $type;
if(!$type)
{
$avatar_error = $lang->error_invalidavatarurl;
}
}
}

if(empty($avatar_error))
{
if($width && $height && $mybb->settings['maxavatardims'] != "")

							{

							{

								$avatar_error = $lang->error_invalidavatarurl;






								list($maxwidth, $maxheight) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims']));
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight))
{
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
$avatar_error = $lang->error_avatartoobig;
}

							}

							}

						}
}

if(empty($avatar_error))
{
if($width && $height && $mybb->settings['maxavatardims'] != "")

						}

if(empty($avatar_error))




						{

						{

							list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight))

							if($width > 0 && $height > 0)


							{

							{

								$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
$avatar_error = $lang->error_avatartoobig;

								$avatar_dimensions = (int)$width."|".(int)$height;


							}

							}

 
							$extra_user_updates = array(
"avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW),
"avatardimensions" => $avatar_dimensions,
"avatartype" => "remote"
);
remove_avatars($user['uid']);

						}

						}

					}

if(empty($avatar_error))
{
if($width > 0 && $height > 0)

						else





						{

						{

							$avatar_dimensions = (int)$width."|".(int)$height;

							$errors = array($avatar_error);

						}

						}

						$extra_user_updates = array(
"avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW),
"avatardimensions" => $avatar_dimensions,
"avatartype" => "remote"
);
remove_avatars($user['uid']);
}
else
{
$errors = array($avatar_error);

 
					}
}
}

					}
}
}

Zeile 724Zeile 738
					"time" => "action_time", // The time we've entered
"update_field" => "suspendsignature", // The field in the database to update if true
"update_length" => "suspendsigtime" // The length of suspension field in the database

					"time" => "action_time", // The time we've entered
"update_field" => "suspendsignature", // The field in the database to update if true
"update_length" => "suspendsigtime" // The length of suspension field in the database

				),

				),

				2 => array(
"action" => "moderateposting",
"period" => "modpost_period",

				2 => array(
"action" => "moderateposting",
"period" => "modpost_period",

Zeile 744Zeile 758
			require_once MYBB_ROOT."inc/functions_warnings.php";
foreach($moderator_options as $option)
{

			require_once MYBB_ROOT."inc/functions_warnings.php";
foreach($moderator_options as $option)
{

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

				if(empty($mybb->input[$option['action']]))

				{
if($user[$option['update_field']] == 1)
{

				{
if($user[$option['update_field']] == 1)
{

Zeile 754Zeile 768
					}

// Skip this option if we haven't selected it

					}

// Skip this option if we haven't selected it

					continue;
}

if($mybb->input[$option['action']])
{

					continue;
}
else
{


					if((int)$mybb->input[$option['time']] == 0 && $mybb->input[$option['period']] != "never" && $user[$option['update_field']] != 1)
{
// User has selected a type of ban, but not entered a valid time frame
$string = $option['action']."_error";
$errors[] = $lang->$string;

					if((int)$mybb->input[$option['time']] == 0 && $mybb->input[$option['period']] != "never" && $user[$option['update_field']] != 1)
{
// User has selected a type of ban, but not entered a valid time frame
$string = $option['action']."_error";
$errors[] = $lang->$string;

					}


					}


					if(!is_array($errors))
{
$suspend_length = fetch_time_length((int)$mybb->input[$option['time']], $mybb->input[$option['period']]);

					if(!is_array($errors))
{
$suspend_length = fetch_time_length((int)$mybb->input[$option['time']], $mybb->input[$option['period']]);

Zeile 779Zeile 792
								$extra_user_updates[$option['update_length']] = 0;
}
elseif($suspend_length && $suspend_length != "-1")

								$extra_user_updates[$option['update_length']] = 0;
}
elseif($suspend_length && $suspend_length != "-1")

							{

							{

								// Temporary ban on action
$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

								// Temporary ban on action
$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

Zeile 799Zeile 812
						}
}
}

						}
}
}

			}

if($extra_user_updates['moderateposts'] && $extra_user_updates['suspendposting'])

			}

if(!empty($extra_user_updates['moderateposts']) && !empty($extra_user_updates['suspendposting']))

			{
$errors[] = $lang->suspendmoderate_error;
}

			{
$errors[] = $lang->suspendmoderate_error;
}

Zeile 814Zeile 827
			if(!$errors)
{
$user_info = $userhandler->update_user();

			if(!$errors)
{
$user_info = $userhandler->update_user();





				$plugins->run_hooks("admin_user_users_edit_commit_start");


				$plugins->run_hooks("admin_user_users_edit_commit_start");


				$db->update_query("users", $extra_user_updates, "uid='{$user['uid']}'");




				if(!empty($extra_user_updates))
{
$db->update_query("users", $extra_user_updates, "uid='{$user['uid']}'");
}


// if we're updating the user's signature preferences, do so now
if($mybb->input['update_posts'] == 'enable' || $mybb->input['update_posts'] == 'disable')


// if we're updating the user's signature preferences, do so now
if($mybb->input['update_posts'] == 'enable' || $mybb->input['update_posts'] == 'disable')

Zeile 826Zeile 842
						'includesig' => ($mybb->input['update_posts'] == 'enable' ? 1 : 0)
);
$db->update_query("posts", $update_signature, "uid='{$user['uid']}'");

						'includesig' => ($mybb->input['update_posts'] == 'enable' ? 1 : 0)
);
$db->update_query("posts", $update_signature, "uid='{$user['uid']}'");

				}

$plugins->run_hooks("admin_user_users_edit_commit");


				}

$plugins->run_hooks("admin_user_users_edit_commit");


				if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5)
{
$cache->update_awaitingactivation();

				if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5)
{
$cache->update_awaitingactivation();

Zeile 840Zeile 856

flash_message($lang->success_user_updated, 'success');
admin_redirect("index.php?module=user-users");


flash_message($lang->success_user_updated, 'success');
admin_redirect("index.php?module=user-users");

			}
}
}



			}
$plugins->run_hooks("admin_user_users_edit_end");
}
}


	if(!$errors)
{
$user['usertitle'] = htmlspecialchars_decode($user['usertitle']);

	if(!$errors)
{
$user['usertitle'] = htmlspecialchars_decode($user['usertitle']);

Zeile 870Zeile 887
	}

if($mybb->input['bday1'] || $mybb->input['bday2'] || $mybb->input['bday3'])

	}

if($mybb->input['bday1'] || $mybb->input['bday2'] || $mybb->input['bday3'])

	{

	{

		$mybb->input['bday'][0] = $mybb->input['bday1'];
$mybb->input['bday'][1] = $mybb->input['bday2'];
$mybb->input['bday'][2] = $mybb->get_input('bday3', MyBB::INPUT_INT);

		$mybb->input['bday'][0] = $mybb->input['bday1'];
$mybb->input['bday'][1] = $mybb->input['bday2'];
$mybb->input['bday'][2] = $mybb->get_input('bday3', MyBB::INPUT_INT);

Zeile 882Zeile 899
		if($user['birthday'])
{
$mybb->input['bday'] = explode('-', $user['birthday']);

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

		}
}

if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year'])

		}
}

if($mybb->get_input('away_day') || $mybb->get_input('away_month') || $mybb->get_input('away_year'))

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

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

Zeile 898Zeile 915
		if($user['returndate'])
{
list($mybb->input['away_day'], $mybb->input['away_month'], $mybb->input['away_year']) = explode('-', $user['returndate']);

		if($user['returndate'])
{
list($mybb->input['away_day'], $mybb->input['away_month'], $mybb->input['away_year']) = explode('-', $user['returndate']);

		}
}


		}
}


	// Fetch custom profile fields
$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));


	// Fetch custom profile fields
$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));


	$profile_fields = array();




	$profile_fields = array(
'required' => array(),
'optional' => array(),
);

	while($profile_field = $db->fetch_array($query))
{
if($profile_field['required'] == 1)

	while($profile_field = $db->fetch_array($query))
{
if($profile_field['required'] == 1)

Zeile 921Zeile 941

$page->extra_header .= <<<EOF



$page->extra_header .= <<<EOF


	<link rel="stylesheet" href="../jscripts/sceditor/editor_themes/mybb.css" type="text/css" media="all" />
<script type="text/javascript" src="../jscripts/sceditor/jquery.sceditor.bbcode.min.js?ver=1805"></script>
<script type="text/javascript" src="../jscripts/bbcodes_sceditor.js?ver=1804"></script>
<script type="text/javascript" src="../jscripts/sceditor/editor_plugins/undo.js?ver=1805"></script>

	<link rel="stylesheet" href="../jscripts/sceditor/themes/mybb.css" type="text/css" media="all" />
<script type="text/javascript" src="../jscripts/sceditor/jquery.sceditor.bbcode.min.js?ver=1832"></script>
<script type="text/javascript" src="../jscripts/bbcodes_sceditor.js?ver=1837"></script>
<script type="text/javascript" src="../jscripts/sceditor/plugins/undo.js?ver=1832"></script>

EOF;
$page->output_header($lang->edit_user);

$sub_tabs['edit_user'] = array(
'title' => $lang->edit_user,
'description' => $lang->edit_user_desc

EOF;
$page->output_header($lang->edit_user);

$sub_tabs['edit_user'] = array(
'title' => $lang->edit_user,
'description' => $lang->edit_user_desc

	);

	);


$form = new Form("index.php?module=user-users&amp;action=edit&amp;uid={$user['uid']}", "post", "", 1);



$form = new Form("index.php?module=user-users&amp;action=edit&amp;uid={$user['uid']}", "post", "", 1);


Zeile 945Zeile 965

// Is this user a COPPA user? We show a warning & activate link
if($user['coppauser'])


// Is this user a COPPA user? We show a warning & activate link
if($user['coppauser'])

	{
echo $lang->sprintf($lang->warning_coppa_user, $user['uid']);

	{
echo $lang->sprintf($lang->warning_coppa_user, $user['uid'], $mybb->post_code);

	}

$tabs = array(

	}

$tabs = array(

Zeile 959Zeile 979
	);
$tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs);
$page->output_tab_control($tabs);

	);
$tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs);
$page->output_tab_control($tabs);





	//
// OVERVIEW
//

	//
// OVERVIEW
//

Zeile 969Zeile 989
	$table->construct_header($lang->general_account_stats, array('colspan' => '2', 'class' => 'align_center'));

// Avatar

	$table->construct_header($lang->general_account_stats, array('colspan' => '2', 'class' => 'align_center'));

// Avatar

	$avatar_dimensions = explode("|", $user['avatardimensions']);
if($user['avatar'])
{
if($user['avatardimensions'])
{
require_once MYBB_ROOT."inc/functions_image.php";
list($width, $height) = explode("|", $user['avatardimensions']);
$scaled_dimensions = scale_image($width, $height, 120, 120);
}
else
{
$scaled_dimensions = array(
"width" => 120,
"height" => 120
);
}
if(my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://')
{
$user['avatar'] = "../{$user['avatar']}\n";
}
}
else
{
$user['avatar'] = "../".$mybb->settings['useravatar'];

	$avatar_dimensions = preg_split('/[|x]/', $user['avatardimensions']);
if($user['avatardimensions'])
{
require_once MYBB_ROOT."inc/functions_image.php";
list($width, $height) = preg_split('/[|x]/', $user['avatardimensions']);
$scaled_dimensions = scale_image($width, $height, 120, 120);
}
else
{
















		$scaled_dimensions = array(
"width" => 120,
"height" => 120
);

		$scaled_dimensions = array(
"width" => 120,
"height" => 120
);

 
	}
if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars']))
{
if(!my_validate_url($user['avatar']))
{
$avatar = format_avatar($user['avatar'], $user['avatardimensions']);
$user['avatar'] = $avatar['image'];
}
}
else
{
if(my_validate_url($mybb->settings['useravatar']))
{
$user['avatar'] = str_replace('{theme}', 'images', $mybb->settings['useravatar']);
}
else
{
$user['avatar'] = "../".str_replace('{theme}', 'images', $mybb->settings['useravatar']);
}

	}
$avatar_top = ceil((126-$scaled_dimensions['height'])/2);

	}
$avatar_top = ceil((126-$scaled_dimensions['height'])/2);

	if($user['lastactive'])


	$last_seen = max(array($user['lastactive'], $user['lastvisit']));
if(!empty($last_seen))

	{

	{

		$last_active = my_date('relative', $user['lastactive']);

		$last_active = my_date('relative', $last_seen);

	}
else
{

	}
else
{

Zeile 1010Zeile 1035
	$reg_date = my_date('relative', $user['regdate']);
if($user['dst'] == 1)
{

	$reg_date = my_date('relative', $user['regdate']);
if($user['dst'] == 1)
{

		$timezone = $user['timezone']+1;

		$timezone = (float)$user['timezone']+1;

	}
else
{

	}
else
{

		$timezone = $user['timezone'];

		$timezone = (float)$user['timezone'];

	}
$local_date = gmdate($mybb->settings['dateformat'], TIME_NOW + ($timezone * 3600));
$local_time = gmdate($mybb->settings['timeformat'], TIME_NOW + ($timezone * 3600));

	}
$local_date = gmdate($mybb->settings['dateformat'], TIME_NOW + ($timezone * 3600));
$local_time = gmdate($mybb->settings['timeformat'], TIME_NOW + ($timezone * 3600));

Zeile 1068Zeile 1093
			$warning_level = 100;
}
$warning_level = get_colored_warning_level($warning_level);

			$warning_level = 100;
}
$warning_level = get_colored_warning_level($warning_level);

 
	}
else
{
$warning_level = "-";

	}

$age = $lang->na;

	}

$age = $lang->na;

Zeile 1098Zeile 1127
	$table->construct_cell("<strong>{$lang->last_known_ip}:</strong> ".my_inet_ntop($db->unescape_binary($user['lastip'])));
$table->construct_row();


	$table->construct_cell("<strong>{$lang->last_known_ip}:</strong> ".my_inet_ntop($db->unescape_binary($user['lastip'])));
$table->construct_row();


	$table->output("{$lang->user_overview}: {$user['username']}");



	$username = htmlspecialchars_uni($user['username']);
$table->output("{$lang->user_overview}: {$username}");
$plugins->run_hooks("admin_user_users_edit_overview");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1106Zeile 1137
	//
echo "<div id=\"tab_profile\">\n";


	//
echo "<div id=\"tab_profile\">\n";


	$form_container = new FormContainer($lang->required_profile_info.": {$user['username']}");

	$form_container = new FormContainer($lang->required_profile_info.": ".htmlspecialchars_uni($user['username']));

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username');
$form_container->output_row($lang->new_password, $lang->new_password_desc, $form->generate_password_box('new_password', $mybb->input['new_password'], array('id' => 'new_password', 'autocomplete' => 'off')), 'new_password');
$form_container->output_row($lang->confirm_new_password, $lang->new_password_desc, $form->generate_password_box('confirm_new_password', $mybb->input['confirm_new_password'], array('id' => 'confirm_new_password')), 'confirm_new_password');

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username');
$form_container->output_row($lang->new_password, $lang->new_password_desc, $form->generate_password_box('new_password', $mybb->input['new_password'], array('id' => 'new_password', 'autocomplete' => 'off')), 'new_password');
$form_container->output_row($lang->confirm_new_password, $lang->new_password_desc, $form->generate_password_box('confirm_new_password', $mybb->input['confirm_new_password'], array('id' => 'confirm_new_password')), 'confirm_new_password');

Zeile 1121Zeile 1152
		$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


		$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


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

	if(isset($mybb->input['additionalgroups']) && !is_array($mybb->input['additionalgroups']))

	{
$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']);
}


	{
$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']);
}


	$form_container->output_row($lang->primary_user_group." <em>*</em>", "", $form->generate_select_box('usergroup', $options, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup');
$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->input['additionalgroups'], array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group." <em>*</em>", "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');
$form_container->output_row($lang->post_count." <em>*</em>", "", $form->generate_numeric_field('postnum', $mybb->input['postnum'], array('id' => 'postnum', 'min' => 0)), 'postnum');
$form_container->output_row($lang->thread_count." <em>*</em>", "", $form->generate_numeric_field('threadnum', $mybb->input['threadnum'], array('id' => 'threadnum', 'min' => 0)), 'threadnum');

	$form_container->output_row($lang->primary_user_group." <em>*</em>", "", $form->generate_select_box('usergroup', $options, $mybb->get_input('usergroup'), array('id' => 'usergroup')), 'usergroup');
$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->get_input('additionalgroups', MyBB::INPUT_ARRAY), array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group." <em>*</em>", "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->get_input('displaygroup'), array('id' => 'displaygroup')), 'displaygroup');
$form_container->output_row($lang->post_count." <em>*</em>", "", $form->generate_numeric_field('postnum', $mybb->get_input('postnum'), array('id' => 'postnum', 'min' => 0)), 'postnum');
$form_container->output_row($lang->thread_count." <em>*</em>", "", $form->generate_numeric_field('threadnum', $mybb->get_input('threadnum'), array('id' => 'threadnum', 'min' => 0)), 'threadnum');


// Output custom profile fields - required
if(!isset($profile_fields['required']))
{
$profile_fields['required'] = array();
}


// Output custom profile fields - required
if(!isset($profile_fields['required']))
{
$profile_fields['required'] = array();
}

	output_custom_profile_fields($profile_fields['required'], $mybb->input['profile_fields'], $form_container, $form);

	output_custom_profile_fields($profile_fields['required'], $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY), $form_container, $form);


$form_container->end();



$form_container->end();


	$form_container = new FormContainer($lang->optional_profile_info.": {$user['username']}");
$form_container->output_row($lang->custom_user_title, $lang->custom_user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle');
$form_container->output_row($lang->website, "", $form->generate_text_box('website', $mybb->input['website'], array('id' => 'website')), 'website');
$form_container->output_row($lang->icq_number, "", $form->generate_numeric_field('icq', $mybb->input['icq'], array('id' => 'icq', 'min' => 0)), 'icq');
$form_container->output_row($lang->aim_handle, "", $form->generate_text_box('aim', $mybb->input['aim'], array('id' => 'aim')), 'aim');
$form_container->output_row($lang->yahoo_messanger_handle, "", $form->generate_text_box('yahoo', $mybb->input['yahoo'], array('id' => 'yahoo')), 'yahoo');
$form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->input['skype'], array('id' => 'skype')), 'skype');
$form_container->output_row($lang->google_handle, "", $form->generate_text_box('google', $mybb->input['google'], array('id' => 'google')), 'google');

	$form_container = new FormContainer($lang->optional_profile_info.': '.htmlspecialchars_uni($user['username']));
$form_container->output_row($lang->custom_user_title, $lang->custom_user_title_desc, $form->generate_text_box('usertitle', $mybb->get_input('usertitle'), array('id' => 'usertitle')), 'usertitle');
$form_container->output_row($lang->website, "", $form->generate_text_box('website', $mybb->get_input('website'), array('id' => 'website')), 'website');
$form_container->output_row($lang->icq_number, "", $form->generate_numeric_field('icq', $mybb->get_input('icq'), array('id' => 'icq', 'min' => 0)), 'icq');
$form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->get_input('skype'), array('id' => 'skype')), 'skype');
$form_container->output_row($lang->google_handle, "", $form->generate_text_box('google', $mybb->get_input('google'), array('id' => 'google')), 'google');




// Birthday
$birthday_days = array(0 => '');


// Birthday
$birthday_days = array(0 => '');

Zeile 1183Zeile 1212
	output_custom_profile_fields($profile_fields['optional'], $mybb->input['profile_fields'], $form_container, $form);

$form_container->end();

	output_custom_profile_fields($profile_fields['optional'], $mybb->input['profile_fields'], $form_container, $form);

$form_container->end();







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

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

		$form_container = new FormContainer($lang->away_information.": {$user['username']}");

		$form_container = new FormContainer($lang->away_information.': '.htmlspecialchars_uni($user['username']));

		$awaycheck = array(false, true);
if($mybb->input['away'] == 1)
{

		$awaycheck = array(false, true);
if($mybb->input['away'] == 1)
{

Zeile 1204Zeile 1233
		$form_container->output_row($lang->return_date, $lang->return_date_desc, $return_row, 'away_date');

$form_container->end();

		$form_container->output_row($lang->return_date, $lang->return_date_desc, $return_row, 'away_date');

$form_container->end();

	}

echo "</div>\n";


	}

$plugins->run_hooks("admin_user_users_edit_profile");
echo "</div>\n";





	//

	//

	// ACCOUNT SETTINGS
//

	// ACCOUNT SETTINGS
//


// Plugin hook note - we should add hooks in above each output_row for the below so users can add their own options to each group :>






	echo "<div id=\"tab_settings\">\n";

	echo "<div id=\"tab_settings\">\n";

	$form_container = new FormContainer($lang->account_settings.": {$user['username']}");

	$form_container = new FormContainer($lang->account_settings.': '.htmlspecialchars_uni($user['username']));

	$login_options = array(

	$login_options = array(

		$form->generate_check_box("invisible", 1, $lang->hide_from_whos_online, array("checked" => $mybb->input['invisible'])),

		$form->generate_check_box("invisible", 1, $lang->hide_from_whos_online, array("checked" => $mybb->get_input('invisible'))),

	);
$form_container->output_row($lang->login_cookies_privacy, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $login_options)."</div>");


	);
$form_container->output_row($lang->login_cookies_privacy, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $login_options)."</div>");


	if($mybb->input['pmnotice'] > 1)

	if($mybb->get_input('pmnotice') > 1)

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

$messaging_options = array(

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

$messaging_options = array(

		$form->generate_check_box("allownotices", 1, $lang->recieve_admin_emails, array("checked" => $mybb->input['allownotices'])),
$form->generate_check_box("hideemail", 1, $lang->hide_email_from_others, array("checked" => $mybb->input['hideemail'])),
$form->generate_check_box("receivepms", 1, $lang->recieve_pms_from_others, array("checked" => $mybb->input['receivepms'])),
$form->generate_check_box("receivefrombuddy", 1, $lang->recieve_pms_from_buddy, array("checked" => $mybb->input['receivefrombuddy'])),
$form->generate_check_box("pmnotice", 1, $lang->alert_new_pms, array("checked" => $mybb->input['pmnotice'])),
$form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->input['pmnotify'])),
$form->generate_check_box("buddyrequestspm", 1, $lang->buddy_requests_pm, array("checked" => $mybb->input['buddyrequestspm'])),
$form->generate_check_box("buddyrequestsauto", 1, $lang->buddy_requests_auto, array("checked" => $mybb->input['buddyrequestsauto'])),
"<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_email_notification, $lang->instant_email_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod'))

		$form->generate_check_box("allownotices", 1, $lang->recieve_admin_emails, array("checked" => $mybb->get_input('allownotices'))),
$form->generate_check_box("hideemail", 1, $lang->hide_email_from_others, array("checked" => $mybb->get_input('hideemail'))),
$form->generate_check_box("receivepms", 1, $lang->recieve_pms_from_others, array("checked" => $mybb->get_input('receivepms'))),
$form->generate_check_box("receivefrombuddy", 1, $lang->recieve_pms_from_buddy, array("checked" => $mybb->get_input('receivefrombuddy'))),
$form->generate_check_box("pmnotice", 1, $lang->alert_new_pms, array("checked" => $mybb->get_input('pmnotice'))),
$form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->get_input('pmnotify'))),
$form->generate_check_box("buddyrequestspm", 1, $lang->buddy_requests_pm, array("checked" => $mybb->get_input('buddyrequestspm'))),
$form->generate_check_box("buddyrequestsauto", 1, $lang->buddy_requests_auto, array("checked" => $mybb->get_input('buddyrequestsauto'))),
"<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_notification, $lang->instant_email_notification, $lang->instant_pm_notification), $mybb->get_input('subscriptionmethod'), array('id' => 'subscriptionmethod'))

	);

	);

 

// Allow plugins to add messaging options
$messaging_options = $plugins->run_hooks('admin_user_users_edit_messaging_options', $messaging_options);

// Output messaging options

	$form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");

$date_format_options = array($lang->use_default);

	$form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");

$date_format_options = array($lang->use_default);

Zeile 1252Zeile 1285
	}

$date_options = array(

	}

$date_options = array(

		"<label for=\"dateformat\">{$lang->date_format}:</label><br />".$form->generate_select_box("dateformat", $date_format_options, $mybb->input['dateformat'], array('id' => 'dateformat')),
"<label for=\"dateformat\">{$lang->time_format}:</label><br />".$form->generate_select_box("timeformat", $time_format_options, $mybb->input['timeformat'], array('id' => 'timeformat')),
"<label for=\"timezone\">{$lang->time_zone}:</label><br />".build_timezone_select("timezone", $mybb->input['timezone']),
"<label for=\"dstcorrection\">{$lang->daylight_savings_time_correction}:</label><br />".$form->generate_select_box("dstcorrection", array(2 => $lang->automatically_detect, 1 => $lang->always_use_dst_correction, 0 => $lang->never_use_dst_correction), $mybb->input['dstcorrection'], array('id' => 'dstcorrection'))

		"<label for=\"dateformat\">{$lang->date_format}:</label><br />".$form->generate_select_box("dateformat", $date_format_options, $mybb->get_input('dateformat'), array('id' => 'dateformat')),
"<label for=\"dateformat\">{$lang->time_format}:</label><br />".$form->generate_select_box("timeformat", $time_format_options, $mybb->get_input('timeformat'), array('id' => 'timeformat')),
"<label for=\"timezone\">{$lang->time_zone}:</label><br />".build_timezone_select("timezone", $mybb->get_input('timezone')),
"<label for=\"dstcorrection\">{$lang->daylight_savings_time_correction}:</label><br />".$form->generate_select_box("dstcorrection", array(2 => $lang->automatically_detect, 1 => $lang->always_use_dst_correction, 0 => $lang->never_use_dst_correction), $mybb->get_input('dstcorrection'), array('id' => 'dstcorrection'))

	);

	);

 

// Allow plugins to add date options
$date_options = $plugins->run_hooks('admin_user_users_edit_date_options', $date_options);

// Output date options

	$form_container->output_row($lang->date_and_time_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $date_options)."</div>");



	$form_container->output_row($lang->date_and_time_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $date_options)."</div>");



Zeile 1288Zeile 1326
	);

$forum_options = array(

	);

$forum_options = array(

		"<label for=\"tpp\">{$lang->threads_per_page}:</label><br />".$form->generate_select_box("tpp", $tpp_options, $mybb->input['tpp'], array('id' => 'tpp')),
"<label for=\"daysprune\">{$lang->default_thread_age_view}:</label><br />".$form->generate_select_box("daysprune", $thread_age_options, $mybb->input['daysprune'], array('id' => 'daysprune'))

		"<label for=\"tpp\">{$lang->threads_per_page}:</label><br />".$form->generate_select_box("tpp", $tpp_options, $mybb->get_input('tpp'), array('id' => 'tpp')),
"<label for=\"daysprune\">{$lang->default_thread_age_view}:</label><br />".$form->generate_select_box("daysprune", $thread_age_options, $mybb->get_input('daysprune'), array('id' => 'daysprune'))

	);

	);

 

// Allow plugins to add forum options
$forum_options = $plugins->run_hooks('admin_user_users_edit_forum_options', $forum_options);

// Output forum options

	$form_container->output_row($lang->forum_display_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $forum_options)."</div>");

$ppp_options = array($lang->use_default);

	$form_container->output_row($lang->forum_display_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $forum_options)."</div>");

$ppp_options = array($lang->use_default);

Zeile 1305Zeile 1348
				$ppp_options[$ppp] = $ppp;
}
}

				$ppp_options[$ppp] = $ppp;
}
}

	}


	}


	$thread_options = array(

	$thread_options = array(

		$form->generate_check_box("classicpostbit", 1, $lang->show_classic_postbit, array("checked" => $mybb->input['classicpostbit'])),
$form->generate_check_box("showimages", 1, $lang->display_images, array("checked" => $mybb->input['showimages'])),
$form->generate_check_box("showvideos", 1, $lang->display_videos, array("checked" => $mybb->input['showvideos'])),
$form->generate_check_box("showsigs", 1, $lang->display_users_sigs, array("checked" => $mybb->input['showsigs'])),
$form->generate_check_box("showavatars", 1, $lang->display_users_avatars, array("checked" => $mybb->input['showavatars'])),
$form->generate_check_box("showquickreply", 1, $lang->show_quick_reply, array("checked" => $mybb->input['showquickreply'])),
"<label for=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->input['ppp'], array('id' => 'ppp')),

		$form->generate_check_box("classicpostbit", 1, $lang->show_classic_postbit, array("checked" => $mybb->get_input('classicpostbit'))),
$form->generate_check_box("showimages", 1, $lang->display_images, array("checked" => $mybb->get_input('showimages'))),
$form->generate_check_box("showvideos", 1, $lang->display_videos, array("checked" => $mybb->get_input('showvideos'))),
$form->generate_check_box("showsigs", 1, $lang->display_users_sigs, array("checked" => $mybb->get_input('showsigs'))),
$form->generate_check_box("showavatars", 1, $lang->display_users_avatars, array("checked" => $mybb->get_input('showavatars'))),
$form->generate_check_box("showquickreply", 1, $lang->show_quick_reply, array("checked" => $mybb->get_input('showquickreply'))),
"<label for=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->get_input('ppp'), array('id' => 'ppp')),

		"<label for=\"threadmode\">{$lang->default_thread_view_mode}:</label><br />".$form->generate_select_box("threadmode", array("" => $lang->use_default, "linear" => $lang->linear_mode, "threaded" => $lang->threaded_mode), $mybb->input['threadmode'], array('id' => 'threadmode'))
);

		"<label for=\"threadmode\">{$lang->default_thread_view_mode}:</label><br />".$form->generate_select_box("threadmode", array("" => $lang->use_default, "linear" => $lang->linear_mode, "threaded" => $lang->threaded_mode), $mybb->input['threadmode'], array('id' => 'threadmode'))
);

 

// Allow plugins to add thread options
$thread_options = $plugins->run_hooks('admin_user_users_edit_thread_options', $thread_options);

// Output thread options

	$form_container->output_row($lang->thread_view_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $thread_options)."</div>");

$languages = array_merge(array('' => $lang->use_default), $lang->get_languages());

$other_options = array(

	$form_container->output_row($lang->thread_view_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $thread_options)."</div>");

$languages = array_merge(array('' => $lang->use_default), $lang->get_languages());

$other_options = array(

		$form->generate_check_box("showredirect", 1, $lang->show_redirect, array("checked" => $mybb->input['showredirect'])),
$form->generate_check_box("showcodebuttons", "1", $lang->show_code_buttons, array("checked" => $mybb->input['showcodebuttons'])),
$form->generate_check_box("sourceeditor", "1", $lang->source_editor, array("checked" => $mybb->input['sourceeditor'])),
"<label for=\"style\">{$lang->theme}:</label><br />".build_theme_select("style", $mybb->input['style'], 0, "", true, false, true),
"<label for=\"language\">{$lang->board_language}:</label><br />".$form->generate_select_box("language", $languages, $mybb->input['language'], array('id' => 'language'))

		$form->generate_check_box("showredirect", 1, $lang->show_redirect, array("checked" => $mybb->get_input('showredirect'))),
$form->generate_check_box("showcodebuttons", "1", $lang->show_code_buttons, array("checked" => $mybb->get_input('showcodebuttons'))),
$form->generate_check_box("sourceeditor", "1", $lang->source_editor, array("checked" => $mybb->get_input('sourceeditor'))),
"<label for=\"style\">{$lang->theme}:</label><br />".build_theme_select("style", $mybb->get_input('style'), 0, "", true, false, true),
"<label for=\"language\">{$lang->board_language}:</label><br />".$form->generate_select_box("language", $languages, $mybb->get_input('language'), array('id' => 'language'))

	);

	);

 

// Allow plugins to add other options
$other_options = $plugins->run_hooks('admin_user_users_edit_other_options', $other_options);

// Output other options

	$form_container->output_row($lang->other_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $other_options)."</div>");

$form_container->end();

	$form_container->output_row($lang->other_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $other_options)."</div>");

$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_settings");

	echo "</div>\n";

//
// SIGNATURE EDITOR
//

	echo "</div>\n";

//
// SIGNATURE EDITOR
//

	$signature_editor = $form->generate_text_area("signature", $mybb->input['signature'], array('id' => 'signature', 'rows' => 15, 'cols' => '70', 'style' => 'height: 250px; width: 95%'));

	$signature_editor = $form->generate_text_area("signature", $mybb->get_input('signature'), array('id' => 'signature', 'rows' => 15, 'cols' => '70', 'style' => 'height: 250px; width: 95%'));

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

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

	{

	{

		$sig_smilies = $lang->on;
}
$sig_mycode = $lang->off;

		$sig_smilies = $lang->on;
}
$sig_mycode = $lang->off;

Zeile 1359Zeile 1413
		$sig_imgcode = $lang->on;
}
echo "<div id=\"tab_signature\">\n";

		$sig_imgcode = $lang->on;
}
echo "<div id=\"tab_signature\">\n";

	$form_container = new FormContainer("{$lang->signature}: {$user['username']}");

	$form_container = new FormContainer($lang->signature.': '.htmlspecialchars_uni($user['username']));

	$form_container->output_row($lang->signature, $lang->sprintf($lang->signature_desc, $sig_mycode, $sig_smilies, $sig_imgcode, $sig_html), $signature_editor, 'signature');

	$form_container->output_row($lang->signature, $lang->sprintf($lang->signature_desc, $sig_mycode, $sig_smilies, $sig_imgcode, $sig_html), $signature_editor, 'signature');





	$periods = array(
"hours" => $lang->expire_hours,
"days" => $lang->expire_days,

	$periods = array(
"hours" => $lang->expire_hours,
"days" => $lang->expire_days,

Zeile 1371Zeile 1425
	);

// Are we already suspending the signature?

	);

// Are we already suspending the signature?

	if($mybb->input['suspendsignature'])

	if($mybb->get_input('suspendsignature'))

	{
$sig_checked = 1;


	{
$sig_checked = 1;


Zeile 1395Zeile 1449
			elseif($remaining < 86400)
{
$color = 'maroon';

			elseif($remaining < 86400)
{
$color = 'maroon';

			}

			}

			elseif($remaining < 604800)
{
$color = 'green';

			elseif($remaining < 604800)
{
$color = 'green';

Zeile 1415Zeile 1469
	}

$actions = '

	}

$actions = '

	<script type="text/javascript">
<!--
var sig_checked = "'.$sig_checked.'";


	<script type="text/javascript">
<!--
var sig_checked = "'.$sig_checked.'";


		function toggleAction()
{
if($("#suspend_action").is(\':visible\'))

		function toggleAction()
{
if($("#suspend_action").is(\':visible\'))

Zeile 1461Zeile 1515
		$form->generate_radio_button("update_posts", "disable", $lang->disable_sig_in_all_posts, array("checked" => 0)),
$form->generate_radio_button("update_posts", "no", $lang->do_nothing, array("checked" => 1))
);

		$form->generate_radio_button("update_posts", "disable", $lang->disable_sig_in_all_posts, array("checked" => 0)),
$form->generate_radio_button("update_posts", "no", $lang->do_nothing, array("checked" => 1))
);





	$form_container->output_row($lang->signature_preferences, "", implode("<br />", $signature_options));

$form_container->end();

	$form_container->output_row($lang->signature_preferences, "", implode("<br />", $signature_options));

$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_signatur");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1475Zeile 1530
	$table->construct_header($lang->current_avatar, array('colspan' => 2));

$table->construct_cell("<div style=\"width: 126px; height: 126px;\" class=\"user_avatar\"><img src=\"".htmlspecialchars_uni($user['avatar'])."\" width=\"{$scaled_dimensions['width']}\" style=\"margin-top: {$avatar_top}px\" height=\"{$scaled_dimensions['height']}\" alt=\"\" /></div>", array('width' => 1));

	$table->construct_header($lang->current_avatar, array('colspan' => 2));

$table->construct_cell("<div style=\"width: 126px; height: 126px;\" class=\"user_avatar\"><img src=\"".htmlspecialchars_uni($user['avatar'])."\" width=\"{$scaled_dimensions['width']}\" style=\"margin-top: {$avatar_top}px\" height=\"{$scaled_dimensions['height']}\" alt=\"\" /></div>", array('width' => 1));





	$avatar_url = '';
if($user['avatartype'] == "upload" || stristr($user['avatar'], $mybb->settings['avataruploadpath']))

	$avatar_url = '';
if($user['avatartype'] == "upload" || stristr($user['avatar'], $mybb->settings['avataruploadpath']))

	{

	{

		$current_avatar_msg = "<br /><strong>{$lang->user_current_using_uploaded_avatar}</strong>";

		$current_avatar_msg = "<br /><strong>{$lang->user_current_using_uploaded_avatar}</strong>";

	}
elseif($user['avatartype'] == "remote" || my_strpos(my_strtolower($user['avatar']), "http://") !== false)
{

	}
elseif($user['avatartype'] == "remote" || my_validate_url($user['avatar']))
{

		$current_avatar_msg = "<br /><strong>{$lang->user_current_using_remote_avatar}</strong>";
$avatar_url = $user['avatar'];
}

if($errors)

		$current_avatar_msg = "<br /><strong>{$lang->user_current_using_remote_avatar}</strong>";
$avatar_url = $user['avatar'];
}

if($errors)

	{
$avatar_url = htmlspecialchars_uni($mybb->input['avatar_url']);




	{
if(isset($mybb->input['avatar_url']))
{
$avatar_url = htmlspecialchars_uni($mybb->input['avatar_url']);
}

	}

if($mybb->settings['maxavatardims'] != "")
{

	}

if($mybb->settings['maxavatardims'] != "")
{

		list($max_width, $max_height) = explode("x", my_strtolower($mybb->settings['maxavatardims']));

		list($max_width, $max_height) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims']));

		$max_size = "<br />{$lang->max_dimensions_are} {$max_width}x{$max_height}";
}


		$max_size = "<br />{$lang->max_dimensions_are} {$max_width}x{$max_height}";
}


Zeile 1507Zeile 1565
	if($user['avatar'])
{
$remove_avatar = "<br /><br />".$form->generate_check_box("remove_avatar", 1, "<strong>{$lang->remove_avatar}</strong>");

	if($user['avatar'])
{
$remove_avatar = "<br /><br />".$form->generate_check_box("remove_avatar", 1, "<strong>{$lang->remove_avatar}</strong>");

	}

	}


$table->construct_cell($lang->avatar_desc."{$remove_avatar}<br /><small>{$max_size}</small>");
$table->construct_row();



$table->construct_cell($lang->avatar_desc."{$remove_avatar}<br /><small>{$max_size}</small>");
$table->construct_row();


	$table->output($lang->avatar.": {$user['username']}");


	$table->output($lang->avatar.': '.htmlspecialchars_uni($user['username']));


	// Custom avatar
if($mybb->settings['avatarresizing'] == "auto")
{

	// Custom avatar
if($mybb->settings['avatarresizing'] == "auto")
{

Zeile 1525Zeile 1583
	}
$form_container = new FormContainer($lang->specify_custom_avatar);
$form_container->output_row($lang->upload_avatar, $auto_resize, $form->generate_file_upload_box('avatar_upload', array('id' => 'avatar_upload')), 'avatar_upload');

	}
$form_container = new FormContainer($lang->specify_custom_avatar);
$form_container->output_row($lang->upload_avatar, $auto_resize, $form->generate_file_upload_box('avatar_upload', array('id' => 'avatar_upload')), 'avatar_upload');

	$form_container->output_row($lang->or_specify_avatar_url, "", $form->generate_text_box('avatar_url', $avatar_url, array('id' => 'avatar_url')), 'avatar_url');




	if($mybb->settings['allowremoteavatars'])
{
$form_container->output_row($lang->or_specify_avatar_url, "", $form->generate_text_box('avatar_url', $avatar_url, array('id' => 'avatar_url')), 'avatar_url');
}

	$form_container->end();

	$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_avatar");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1541Zeile 1603
	);

echo "<div id=\"tab_modoptions\">\n";

	);

echo "<div id=\"tab_modoptions\">\n";

	$form_container = new FormContainer($lang->mod_options.": {$user['username']}");

	$form_container = new FormContainer($lang->mod_options.': '.htmlspecialchars_uni($user['username']));

	$form_container->output_row($lang->user_notes, '', $form->generate_text_area('usernotes', $mybb->input['usernotes'], array('id' => 'usernotes')), 'usernotes');

// Mod posts

	$form_container->output_row($lang->user_notes, '', $form->generate_text_area('usernotes', $mybb->input['usernotes'], array('id' => 'usernotes')), 'usernotes');

// Mod posts

Zeile 1550Zeile 1612

// Do we have any existing suspensions here?
$existing_info = '';


// Do we have any existing suspensions here?
$existing_info = '';

	if($user['moderateposts'] || ($mybb->input['moderateposting'] && !empty($errors)))

	if($user['moderateposts'] || ($mybb->get_input('moderateposting') && !empty($errors)))

	{
$mybb->input['moderateposting'] = 1;
if($user['moderationtime'] != 0)

	{
$mybb->input['moderateposting'] = 1;
if($user['moderationtime'] != 0)

Zeile 1580Zeile 1642
		}
}


		}
}


	$modpost_div = '<div id="modpost">'.$existing_info.''.$lang->moderate_for.' '.$form->generate_numeric_field("modpost_time", $mybb->input['modpost_time'], array('style' => 'width: 3em;', 'min' => 0)).' '.$modpost_options.'</div>';
$lang->moderate_posts_info = $lang->sprintf($lang->moderate_posts_info, $user['username']);
$form_container->output_row($form->generate_check_box("moderateposting", 1, $lang->moderate_posts, array("id" => "moderateposting", "onclick" => "toggleBox('modpost');", "checked" => $mybb->input['moderateposting'])), $lang->moderate_posts_info, $modpost_div);

	$modpost_div = '<div id="modpost">'.$existing_info.''.$lang->moderate_for.' '.$form->generate_numeric_field("modpost_time", $mybb->get_input('modpost_time'), array('style' => 'width: 3em;', 'min' => 0)).' '.$modpost_options.'</div>';
$lang->moderate_posts_info = $lang->sprintf($lang->moderate_posts_info, htmlspecialchars_uni($user['username']));
$form_container->output_row($form->generate_check_box("moderateposting", 1, $lang->moderate_posts, array("id" => "moderateposting", "onclick" => "toggleBox('modpost');", "checked" => $mybb->get_input('moderateposting'))), $lang->moderate_posts_info, $modpost_div);


// Suspend posts
// Generate check box


// Suspend posts
// Generate check box

	$suspost_options = $form->generate_select_box('suspost_period', $periods, $mybb->input['suspost_period'], array('id' => 'suspost_period'));

	$suspost_options = $form->generate_select_box('suspost_period', $periods, $mybb->get_input('suspost_period'), array('id' => 'suspost_period'));


// Do we have any existing suspensions here?


// Do we have any existing suspensions here?

	if($user['suspendposting'] || ($mybb->input['suspendposting'] && !empty($errors)))

	if($user['suspendposting'] || ($mybb->get_input('suspendposting') && !empty($errors)))

	{
$mybb->input['suspendposting'] = 1;


	{
$mybb->input['suspendposting'] = 1;


		if($user['suspensiontime'] == 0 || $mybb->input['suspost_period'] == "never")

		if($user['suspensiontime'] == 0 || $mybb->get_input('suspost_period') == "never")

		{
$existing_info = $lang->suspended_perm;
}

		{
$existing_info = $lang->suspended_perm;
}

Zeile 1620Zeile 1682
		}
}


		}
}


	$suspost_div = '<div id="suspost">'.$existing_info.''.$lang->suspend_for.' '.$form->generate_numeric_field("suspost_time", $mybb->input['suspost_time'], array('style' => 'width: 3em;', 'min' => 0)).' '.$suspost_options.'</div>';
$lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, $user['username']);
$form_container->output_row($form->generate_check_box("suspendposting", 1, $lang->suspend_posts, array("id" => "suspendposting", "onclick" => "toggleBox('suspost');", "checked" => $mybb->input['suspendposting'])), $lang->suspend_posts_info, $suspost_div);

	$suspost_div = '<div id="suspost">'.$existing_info.''.$lang->suspend_for.' '.$form->generate_numeric_field("suspost_time", $mybb->get_input('suspost_time'), array('style' => 'width: 3em;', 'min' => 0)).' '.$suspost_options.'</div>';
$lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, htmlspecialchars_uni($user['username']));
$form_container->output_row($form->generate_check_box("suspendposting", 1, $lang->suspend_posts, array("id" => "suspendposting", "onclick" => "toggleBox('suspost');", "checked" => $mybb->get_input('suspendposting'))), $lang->suspend_posts_info, $suspost_div);



$form_container->end();



$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_moderator_options");

	echo "</div>\n";

$plugins->run_hooks("admin_user_users_edit_graph");

	echo "</div>\n";

$plugins->run_hooks("admin_user_users_edit_graph");

Zeile 1660Zeile 1723
		$("#modpost").hide();

if($("#suspendposting").is(":checked") == true)

		$("#modpost").hide();

if($("#suspendposting").is(":checked") == true)

		{

		{

			$("#suspost").show();
}
else if($("#suspendposting").is(":checked") == false)

			$("#suspost").show();
}
else if($("#suspendposting").is(":checked") == false)

Zeile 1699Zeile 1762
	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	$user = get_user($mybb->input['uid']);

// Does the user not exist?

	if(!$user['uid'])

	if(!$user)

	{
flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");

	{
flash_message($lang->error_invalid_user, 'error');
admin_redirect("index.php?module=user-users");

Zeile 1712Zeile 1775
	}

// User clicked no

	}

// User clicked no

	if($mybb->input['no'])
{
admin_redirect("index.php?module=user-users");
}

$plugins->run_hooks("admin_user_users_delete");


	if($mybb->get_input('no'))
{
admin_redirect("index.php?module=user-users");
}

$plugins->run_hooks("admin_user_users_delete");


	if($mybb->request_method == "post")
{
$plugins->run_hooks("admin_user_users_delete_commit");

	if($mybb->request_method == "post")
{
$plugins->run_hooks("admin_user_users_delete_commit");

Zeile 1739Zeile 1802
		$plugins->run_hooks("admin_user_users_delete_commit_end");

log_admin_action($user['uid'], $user['username']);

		$plugins->run_hooks("admin_user_users_delete_commit_end");

log_admin_action($user['uid'], $user['username']);





		flash_message($lang->success_user_deleted, 'success');
admin_redirect("index.php?module=user-users");
}
else
{
$page->output_confirm_action("index.php?module=user-users&action=delete&uid={$user['uid']}", $lang->user_deletion_confirmation);

		flash_message($lang->success_user_deleted, 'success');
admin_redirect("index.php?module=user-users");
}
else
{
$page->output_confirm_action("index.php?module=user-users&action=delete&uid={$user['uid']}", $lang->user_deletion_confirmation);

	}

	}

}

if($mybb->input['action'] == "referrers")
{
$page->add_breadcrumb_item($lang->show_referrers);
$page->output_header($lang->show_referrers);

}

if($mybb->input['action'] == "referrers")
{
$page->add_breadcrumb_item($lang->show_referrers);
$page->output_header($lang->show_referrers);





	$sub_tabs['referrers'] = array(
'title' => $lang->show_referrers,
'link' => "index.php?module=user-users&amp;action=referrers&amp;uid={$mybb->input['uid']}",

	$sub_tabs['referrers'] = array(
'title' => $lang->show_referrers,
'link' => "index.php?module=user-users&amp;action=referrers&amp;uid={$mybb->input['uid']}",

Zeile 1772Zeile 1835
	}
$query = $db->simple_select("adminviews", "*", "type='user' AND (vid='{$default_view}' OR uid=0)", array("order_by" => "uid", "order_dir" => "desc"));
$admin_view = $db->fetch_array($query);

	}
$query = $db->simple_select("adminviews", "*", "type='user' AND (vid='{$default_view}' OR uid=0)", array("order_by" => "uid", "order_dir" => "desc"));
$admin_view = $db->fetch_array($query);


if($mybb->input['type'])
{
$admin_view['view_type'] = $mybb->input['type'];


if(!empty($mybb->input['type']))
{
$admin_view['view_type'] = $mybb->input['type'];

	}

$admin_view['conditions'] = my_unserialize($admin_view['conditions']);

	}

$admin_view['conditions'] = my_unserialize($admin_view['conditions']);

Zeile 1834Zeile 1897
	{
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));
$popup = new PopupMenu("user_last", $lang->options);

	{
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));
$popup = new PopupMenu("user_last", $lang->options);

		$popup->add_item($lang->show_users_regged_with_ip,
"index.php?module=user-users&amp;action=search&amp;results=1&amp;conditions=".urlencode(my_serialize(array("regip" => $user['lastip']))));
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $user['lastip']))));

		$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;action=search&amp;results=1&amp;conditions[regip]=".$user['lastip']);
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions[postip]=".$user['lastip']);


		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['lastip']}");
$controls = $popup->fetch();

		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['lastip']}");
$controls = $popup->fetch();

Zeile 1854Zeile 1916
	{
$user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
$popup = new PopupMenu("user_reg", $lang->options);

	{
$user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
$popup = new PopupMenu("user_reg", $lang->options);

		$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("regip" => $user['regip']))));
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $user['regip']))));

		$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions[regip]=".$user['regip']);
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions[postip]=".$user['regip']);

		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['regip']}");
$controls = $popup->fetch();

		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['regip']}");
$controls = $popup->fetch();

Zeile 1872Zeile 1934
		++$counter;
$ip['ipaddress'] = my_inet_ntop($db->unescape_binary($ip['ipaddress']));
$popup = new PopupMenu("id_{$counter}", $lang->options);

		++$counter;
$ip['ipaddress'] = my_inet_ntop($db->unescape_binary($ip['ipaddress']));
$popup = new PopupMenu("id_{$counter}", $lang->options);

		$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("regip" => $ip['ipaddress']))));
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $ip['ipaddress']))));

		$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions[regip]=".$ip['ipaddress']);
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions[postip]=".$ip['ipaddress']);

		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$ip['ipaddress']}");
$controls = $popup->fetch();

		$popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}', null, true); return false;");
$popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$ip['ipaddress']}");
$controls = $popup->fetch();

Zeile 1883Zeile 1945
		$table->construct_row();
}


		$table->construct_row();
}


	$table->output($lang->ip_address_for." {$user['username']}");

	$table->output($lang->ip_address_for.' '.htmlspecialchars_uni($user['username']));


$page->output_footer();
}


$page->output_footer();
}

Zeile 1893Zeile 1955
	$plugins->run_hooks("admin_user_users_merge");

if($mybb->request_method == "post")

	$plugins->run_hooks("admin_user_users_merge");

if($mybb->request_method == "post")

	{
$source_user = get_user_by_username($mybb->input['source_username'], array('fields' => '*'));
if(!$source_user['uid'])
{
$errors[] = $lang->error_invalid_user_source;
}

$destination_user = get_user_by_username($mybb->input['destination_username'], array('fields' => '*'));
if(!$destination_user['uid'])
{
$errors[] = $lang->error_invalid_user_destination;
}


	{
foreach(array('source', 'destination') as $target)
{
${$target.'_user'} = get_user_by_username($mybb->input[$target.'_username'], array('fields' => '*'));
if(empty(${$target.'_user'}['uid']))
{
$errors[] = $lang->{'error_invalid_user_'.$target};
}
}





		// If we're not a super admin and we're merging a source super admin or a destination super admin then dissallow this action
if(!is_super_admin($mybb->user['uid']) && (is_super_admin($source_user['uid']) || is_super_admin($destination_user['uid'])))
{
flash_message($lang->error_no_perms_super_admin, 'error');
admin_redirect("index.php?module=user-users");

		// If we're not a super admin and we're merging a source super admin or a destination super admin then dissallow this action
if(!is_super_admin($mybb->user['uid']) && (is_super_admin($source_user['uid']) || is_super_admin($destination_user['uid'])))
{
flash_message($lang->error_no_perms_super_admin, 'error');
admin_redirect("index.php?module=user-users");

		}

		}





		if($source_user['uid'] == $destination_user['uid'])

		if((!empty($source_user)) && !empty($destination_user) && $source_user['uid'] == $destination_user['uid'] && !empty($source_user['uid']))

		{
$errors[] = $lang->error_cannot_merge_same_account;
}

		{
$errors[] = $lang->error_cannot_merge_same_account;
}





		if(empty($errors))
{
// Begin to merge the accounts

		if(empty($errors))
{
// Begin to merge the accounts

Zeile 1944Zeile 2003
			$db->update_query("posts", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("privatemessages", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("reportedcontent", $uid_update, "uid='{$source_user['uid']}'");

			$db->update_query("posts", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("privatemessages", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("reportedcontent", $uid_update, "uid='{$source_user['uid']}'");

			$db->update_query("threadratings", $uid_update, "uid='{$source_user['uid']}'");

 
			$db->update_query("threads", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("warnings", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("warnings", array("revokedby" => $destination_user['uid']), "revokedby='{$source_user['uid']}'");
$db->update_query("warnings", array("issuedby" => $destination_user['uid']), "issuedby='{$source_user['uid']}'");

			$db->update_query("threads", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("warnings", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("warnings", array("revokedby" => $destination_user['uid']), "revokedby='{$source_user['uid']}'");
$db->update_query("warnings", array("issuedby" => $destination_user['uid']), "issuedby='{$source_user['uid']}'");

 

// Thread ratings
merge_thread_ratings($source_user['uid'], $destination_user['uid']);


// Banning


// Banning

			$db->update_query("banned", array('admin' => $destination_user['uid']), "admin = '{$source_user['uid']}'");























			switch($db->type)
{
case 'mysql':
case 'mysqli':
$where = "`admin` = '{$source_user['uid']}'";
break;
default:
$where = "admin = '{$source_user['uid']}'";
break;
}
$db->update_query("banned", array('admin' => $destination_user['uid']), $where);

// Carry over referrals
$db->update_query("users", array("referrer" => $destination_user['uid']), "referrer='{$source_user['uid']}' AND uid!='{$destination_user['uid']}'");
// If destination user has no referrer but source does and source user was not referred by destination user
// or destination user was referred by the source user
if(($destination_user['referrer'] == 0 && $source_user['referrer'] > 0 && $source_user['referrer'] != $destination_user['uid']) || $destination_user['referrer'] == $source_user['uid'])
{
$db->update_query("users", array("referrer" => $source_user['referrer']), "uid='{$destination_user['uid']}'");
}
$query = $db->simple_select("users", "COUNT(uid) as total_referrals", "referrer='{$destination_user['uid']}' AND uid!='{$source_user['uid']}'");
$new_referrals = $db->fetch_field($query, "total_referrals");
$db->update_query("users", array("referrals" => (int)$new_referrals), "uid='{$destination_user['uid']}'");


// Merging Reputation
// First, let's change all the details over to our new user...


// Merging Reputation
// First, let's change all the details over to our new user...

Zeile 1965Zeile 2048
			);

$to_remove = array();

			);

$to_remove = array();

			$query = $db->simple_select("reputation", "*", "adduid = '".$destination_user['uid']."'");

			$query = $db->simple_select("reputation", "*", "adduid = '".$destination_user['uid']."'", $options);

			while($rep = $db->fetch_array($query))
{
if($rep['pid'] == 0 && $mybb->settings['multirep'] == 0 && $last_result['uid'] == $rep['uid'])

			while($rep = $db->fetch_array($query))
{
if($rep['pid'] == 0 && $mybb->settings['multirep'] == 0 && $last_result['uid'] == $rep['uid'])

Zeile 2064Zeile 2147
				"ignorelist" => $ignored
);
$db->update_query("users", $lists, "uid='{$destination_user['uid']}'");

				"ignorelist" => $ignored
);
$db->update_query("users", $lists, "uid='{$destination_user['uid']}'");


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

// Delete the old user
$userhandler->delete_user($source_user['uid']);

 

// Get a list of forums where post count doesn't apply
$fids = array();
$query = $db->simple_select("forums", "fid", "usepostcounts=0");
while($fid = $db->fetch_field($query, "fid"))


// Get a list of forums where post count doesn't apply
$fids = array();
$query = $db->simple_select("forums", "fid", "usepostcounts=0");
while($fid = $db->fetch_field($query, "fid"))

			{

			{

				$fids[] = $fid;
}

$fids_not_in = '';
if(!empty($fids))

				$fids[] = $fid;
}

$fids_not_in = '';
if(!empty($fids))

			{

			{

				$fids_not_in = "AND fid NOT IN(".implode(',', $fids).")";
}

// Update user post count
$query = $db->simple_select("posts", "COUNT(*) AS postnum", "uid='".$destination_user['uid']."' {$fids_not_in}");

				$fids_not_in = "AND fid NOT IN(".implode(',', $fids).")";
}

// Update user post count
$query = $db->simple_select("posts", "COUNT(*) AS postnum", "uid='".$destination_user['uid']."' {$fids_not_in}");

			$num = $db->fetch_array($query);
$updated_count = array(

			$num = $db->fetch_array($query);
$updated_count = array(

				"postnum" => $num['postnum']

				"postnum" => $num['postnum']

			);
$db->update_query("users", $updated_count, "uid='{$destination_user['uid']}'");

			);
$db->update_query("users", $updated_count, "uid='{$destination_user['uid']}'");


// Update user thread count
$query = $db->simple_select("threads", "COUNT(*) AS threadnum", "uid='".$destination_user['uid']."' {$fids_not_in}");


// Update user thread count
$query = $db->simple_select("threads", "COUNT(*) AS threadnum", "uid='".$destination_user['uid']."' {$fids_not_in}");

Zeile 2109Zeile 2185
			}

$plugins->run_hooks("admin_user_users_merge_commit");

			}

$plugins->run_hooks("admin_user_users_merge_commit");

 

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

// Delete the old user
$userhandler->delete_user($source_user['uid']);


$cache->update_awaitingactivation();



$cache->update_awaitingactivation();


Zeile 2116Zeile 2199
			log_admin_action($source_user['uid'], $source_user['username'], $destination_user['uid'], $destination_user['username']);

// Redirect!

			log_admin_action($source_user['uid'], $source_user['username'], $destination_user['uid'], $destination_user['username']);

// Redirect!

			flash_message("<strong>{$source_user['username']}</strong> {$lang->success_merged} {$destination_user['username']}", "success");



			$username = htmlspecialchars_uni($source_user['username']);
$destination_username = htmlspecialchars_uni($destination_user['username']);
flash_message("<strong>{$username}</strong> {$lang->success_merged} {$destination_username}", "success");

			admin_redirect("index.php?module=user-users");
exit;
}

			admin_redirect("index.php?module=user-users");
exit;
}

Zeile 2136Zeile 2221
	$form = new Form("index.php?module=user-users&amp;action=merge", "post");

$form_container = new FormContainer($lang->merge_users);

	$form = new Form("index.php?module=user-users&amp;action=merge", "post");

$form_container = new FormContainer($lang->merge_users);

	$form_container->output_row($lang->source_account." <em>*</em>", $lang->source_account_desc, $form->generate_text_box('source_username', $mybb->input['source_username'], array('id' => 'source_username')), 'source_username');
$form_container->output_row($lang->destination_account." <em>*</em>", $lang->destination_account_desc, $form->generate_text_box('destination_username', $mybb->input['destination_username'], array('id' => 'destination_username')), 'destination_username');

	$form_container->output_row($lang->source_account." <em>*</em>", $lang->source_account_desc, $form->generate_text_box('source_username', $mybb->get_input('source_username'), array('id' => 'source_username')), 'source_username');
$form_container->output_row($lang->destination_account." <em>*</em>", $lang->destination_account_desc, $form->generate_text_box('destination_username', $mybb->get_input('destination_username'), array('id' => 'destination_username')), 'destination_username');

	$form_container->end();

// Autocompletion for usernames

	$form_container->end();

// Autocompletion for usernames

Zeile 2200Zeile 2285
						query: query
},
dataType: "json"

						query: query
},
dataType: "json"

				}).done(function(data) { callback(data); });

				}).done(function(data) { callback(data); });

			}
}
});

			}
}
});

Zeile 2218Zeile 2303
{
$plugins->run_hooks("admin_user_users_search");


{
$plugins->run_hooks("admin_user_users_search");


	if($mybb->request_method == "post" || $mybb->input['results'] == 1)

	if($mybb->request_method == "post" || $mybb->get_input('results') == 1)

	{
// Build view options from incoming search options

	{
// Build view options from incoming search options

		if($mybb->input['vid'])

		if($mybb->get_input('vid'))

		{
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");

		{
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");

			$admin_view = $db->fetch_array($query);

			$admin_view = $db->fetch_array($query);

			// View does not exist or this view is private and does not belong to the current user
if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
{
unset($admin_view);

			// View does not exist or this view is private and does not belong to the current user
if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
{
unset($admin_view);

			}
}

if($mybb->input['search_id'] && $admin_session['data']['user_views'][$mybb->input['search_id']])
{
$admin_view = $admin_session['data']['user_views'][$mybb->input['search_id']];

			}
}

if($mybb->get_input('search_id') && $admin_session['data']['user_views'][$mybb->get_input('search_id')])
{
$admin_view = $admin_session['data']['user_views'][$mybb->get_input('search_id')];

			unset($admin_view['extra_sql']);
}

			unset($admin_view['extra_sql']);
}

		else




// Don't have a view? Fetch the default
if(!isset($admin_view) || !$admin_view['vid'])

		{

		{

			// Don't have a view? Fetch the default
if(!$admin_view['vid'])

			$default_view = fetch_default_view("user");
if(!$default_view)

			{

			{

				$default_view = fetch_default_view("user");
if(!$default_view)
{
$default_view = "0";
}
$query = $db->simple_select("adminviews", "*", "type='user' AND (vid='{$default_view}' OR uid=0)", array("order_by" => "uid", "order_dir" => "desc"));
$admin_view = $db->fetch_array($query);

				$default_view = "0";







			}

			}

 
			$query = $db->simple_select("adminviews", "*", "type='user' AND (vid='{$default_view}' OR uid=0)", array("order_by" => "uid", "order_dir" => "desc"));
$admin_view = $db->fetch_array($query);

		}

// Override specific parts of the view
unset($admin_view['vid']);

		}

// Override specific parts of the view
unset($admin_view['vid']);


if($mybb->input['type'])


if($mybb->get_input('type'))

		{

		{

			$admin_view['view_type'] = $mybb->input['type'];

			$admin_view['view_type'] = $mybb->get_input('type');

		}


		}


		if($mybb->input['conditions'])

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

		{

		{

			$admin_view['conditions'] = $mybb->input['conditions'];

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

		}


		}


		if($mybb->input['sortby'])

		if($mybb->get_input('sortby'))

		{

		{

			$admin_view['sortby'] = $mybb->input['sortby'];

			$admin_view['sortby'] = $mybb->get_input('sortby');

		}

if($mybb->get_input('perpage', MyBB::INPUT_INT))

		}

if($mybb->get_input('perpage', MyBB::INPUT_INT))

		{
$admin_view['perpage'] = $mybb->input['perpage'];
}

if($mybb->input['order'])
{
$admin_view['sortorder'] = $mybb->input['order'];
}

if($mybb->input['displayas'])
{
$admin_view['view_type'] = $mybb->input['displayas'];
}

if($mybb->input['profile_fields'])
{
$admin_view['custom_profile_fields'] = $mybb->input['profile_fields'];
}


		{
$admin_view['perpage'] = $mybb->get_input('perpage');
}

if($mybb->get_input('order'))
{
$admin_view['sortorder'] = $mybb->get_input('order');
}

if($mybb->get_input('displayas'))
{
$admin_view['view_type'] = $mybb->get_input('displayas');
}

if(!empty($mybb->input['profile_fields']))
{
$admin_view['custom_profile_fields'] = $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY);
}


		$plugins->run_hooks("admin_user_users_search_commit");

$results = build_users_view($admin_view);

		$plugins->run_hooks("admin_user_users_search_commit");

$results = build_users_view($admin_view);

Zeile 2304Zeile 2387
		}
else
{

		}
else
{

			if($mybb->input['from'] == "home")

			if($mybb->get_input('from') == "home")

			{
flash_message($lang->error_no_users_found, 'error');
admin_redirect("index.php");

			{
flash_message($lang->error_no_users_found, 'error');
admin_redirect("index.php");

Zeile 2319Zeile 2402

$page->add_breadcrumb_item($lang->find_users);
$page->output_header($lang->find_users);


$page->add_breadcrumb_item($lang->find_users);
$page->output_header($lang->find_users);





	$page->output_nav_tabs($sub_tabs, 'find_users');

// If we have any error messages, show them
if($errors)
{
$page->output_inline_error($errors);

	$page->output_nav_tabs($sub_tabs, 'find_users');

// If we have any error messages, show them
if($errors)
{
$page->output_inline_error($errors);

	}

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

	}

if(!$mybb->get_input('displayas'))

	{
$mybb->input['displayas'] = "card";
}

$form = new Form("index.php?module=user-users&amp;action=search", "post");

	{
$mybb->input['displayas'] = "card";
}

$form = new Form("index.php?module=user-users&amp;action=search", "post");





	user_search_conditions($mybb->input, $form);

$form_container = new FormContainer($lang->display_options);
$sort_directions = array(
"asc" => $lang->ascending,
"desc" => $lang->descending

	user_search_conditions($mybb->input, $form);

$form_container = new FormContainer($lang->display_options);
$sort_directions = array(
"asc" => $lang->ascending,
"desc" => $lang->descending

	);
$form_container->output_row($lang->sort_results_by, "", $form->generate_select_box('sortby', $sort_options, $mybb->input['sortby'], array('id' => 'sortby'))." {$lang->in} ".$form->generate_select_box('order', $sort_directions, $mybb->input['order'], array('id' => 'order')), 'sortby');
$form_container->output_row($lang->results_per_page, "", $form->generate_numeric_field('perpage', $mybb->input['perpage'], array('id' => 'perpage', 'min' => 1)), 'perpage');
$form_container->output_row($lang->display_results_as, "", $form->generate_radio_button('displayas', 'table', $lang->table, array('checked' => ($mybb->input['displayas'] != "card" ? true : false)))."<br />".$form->generate_radio_button('displayas', 'card', $lang->business_card, array('checked' => ($mybb->input['displayas'] == "card" ? true : false))));

	);
$form_container->output_row($lang->sort_results_by, "", $form->generate_select_box('sortby', $sort_options, $mybb->get_input('sortby'), array('id' => 'sortby'))." {$lang->in} ".$form->generate_select_box('order', $sort_directions, $mybb->get_input('order'), array('id' => 'order')), 'sortby');
$form_container->output_row($lang->results_per_page, "", $form->generate_numeric_field('perpage', $mybb->get_input('perpage'), array('id' => 'perpage', 'min' => 1)), 'perpage');
$form_container->output_row($lang->display_results_as, "", $form->generate_radio_button('displayas', 'table', $lang->table, array('checked' => ($mybb->get_input('displayas') != "card" ? true : false)))."<br />".$form->generate_radio_button('displayas', 'card', $lang->business_card, array('checked' => ($mybb->get_input('displayas') == "card" ? true : false))));

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->find_users);

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->find_users);

Zeile 2358Zeile 2441
{
$plugins->run_hooks("admin_user_users_inline");


{
$plugins->run_hooks("admin_user_users_inline");


	if($mybb->input['vid'] || $mybb->cookies['acp_view'])

	if(!empty($mybb->input['vid']) || !empty($mybb->cookies['acp_view']))

	{
// We have a custom view

	{
// We have a custom view

		if(!$mybb->cookies['acp_view'])

		if(empty($mybb->cookies['acp_view']))

		{
// Set a cookie
my_setcookie("acp_view", $mybb->input['vid'], 60);

		{
// Set a cookie
my_setcookie("acp_view", $mybb->input['vid'], 60);

		}
elseif($mybb->cookies['acp_view'])

		}
else

		{
// We already have a cookie, so let's use it...
$mybb->input['vid'] = $mybb->cookies['acp_view'];
}


		{
// We already have a cookie, so let's use it...
$mybb->input['vid'] = $mybb->cookies['acp_view'];
}


		$vid_url = "&amp;vid=".$mybb->input['vid'];





		$vid_url = "&amp;vid=".$mybb->get_input('vid');
}
else
{
$vid_url = null;

	}

// First, collect the user IDs that we're performing the moderation on

	}

// First, collect the user IDs that we're performing the moderation on

	$ids = explode("|", $mybb->cookies['inlinemod_useracp']);
foreach($ids as $id)

	$selected = array();
if(isset($mybb->cookies['inlinemod_useracp']))

	{

	{

		if($id != '')


		$ids = explode("|", $mybb->cookies['inlinemod_useracp']);
foreach($ids as $id)

		{

		{

			$selected[] = (int)$id;




			if($id != '')
{
$selected[] = (int)$id;
}

		}
}

// Verify incoming POST request

		}
}

// Verify incoming POST request

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

	if(!verify_post_check($mybb->get_input('my_post_key')))

	{
flash_message($lang->invalid_post_verify_key2, 'error');
admin_redirect("index.php?module=user-user");

	{
flash_message($lang->invalid_post_verify_key2, 'error');
admin_redirect("index.php?module=user-user");

Zeile 2398Zeile 2489
	);
$page->add_breadcrumb_item($lang->manage_users);


	);
$page->add_breadcrumb_item($lang->manage_users);


	if(!is_array($selected))

	if(empty($selected))

	{
// Not selected any users, show error
flash_message($lang->error_inline_no_users_selected, 'error');

	{
// Not selected any users, show error
flash_message($lang->error_inline_no_users_selected, 'error');

Zeile 2421Zeile 2512
				}
}


				}
}


			if(is_array($to_update))



			$plugins->run_hooks("admin_user_multiactivate", $to_update);

if(isset($to_update) && is_array($to_update))

			{
$sql_array = implode(",", $to_update);
$db->write_query("UPDATE ".TABLE_PREFIX."users SET usergroup = '2' WHERE uid IN (".$sql_array.")");

			{
$sql_array = implode(",", $to_update);
$db->write_query("UPDATE ".TABLE_PREFIX."users SET usergroup = '2' WHERE uid IN (".$sql_array.")");

Zeile 2439Zeile 2532
				$to_update_count = count($to_update);
$lang->inline_activated = $lang->sprintf($lang->inline_activated, my_number_format($to_update_count));


				$to_update_count = count($to_update);
$lang->inline_activated = $lang->sprintf($lang->inline_activated, my_number_format($to_update_count));


				if($to_update_count != count($selected))

				if(is_array($selected) && $to_update_count != count($selected))

				{
// The update count is different to how many we selected!
$not_updated_count = count($selected) - $to_update_count;

				{
// The update count is different to how many we selected!
$not_updated_count = count($selected) - $to_update_count;

Zeile 2463Zeile 2556
			break;
case 'multilift':
// Get the users that are banned, and check that they have been selected

			break;
case 'multilift':
// Get the users that are banned, and check that they have been selected

			if($mybb->input['no'])

			if($mybb->get_input('no'))

			{
admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No'
}

			{
admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No'
}

Zeile 2477Zeile 2570
				{
$updated_group = array(
"usergroup" => $ban['oldgroup'],

				{
$updated_group = array(
"usergroup" => $ban['oldgroup'],

						"additionalgroups" => $ban['oldadditionalgroups'],

						"additionalgroups" => $db->escape_string($ban['oldadditionalgroups']),

						"displaygroup" => $ban['olddisplaygroup']
);
$db->update_query("users", $updated_group, "uid = '".$ban['uid']."'");
$db->delete_query("banned", "uid = '".$ban['uid']."'");
}


						"displaygroup" => $ban['olddisplaygroup']
);
$db->update_query("users", $updated_group, "uid = '".$ban['uid']."'");
$db->delete_query("banned", "uid = '".$ban['uid']."'");
}


				$cache->update_banned();

 
				$cache->update_moderators();

$mybb->input['action'] = "inline_lift";

				$cache->update_moderators();

$mybb->input['action'] = "inline_lift";

Zeile 2532Zeile 2624
				while($user = $db->fetch_array($query))
{
if($user['uid'] == $mybb->user['uid'] || is_super_admin($user['uid']))

				while($user = $db->fetch_array($query))
{
if($user['uid'] == $mybb->user['uid'] || is_super_admin($user['uid']))

					{

					{

						// We remove ourselves and Super Admins from the mix
continue;
}

						// We remove ourselves and Super Admins from the mix
continue;
}

Zeile 2556Zeile 2648
							'uid' => $user['uid'],
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'oldgroup' => $user['usergroup'],

							'uid' => $user['uid'],
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'oldgroup' => $user['usergroup'],

							'oldadditionalgroups' => $user['additionalgroups'],

							'oldadditionalgroups' => $db->escape_string($user['additionalgroups']),

							'olddisplaygroup' => $user['displaygroup'],
'admin' => (int)$mybb->user['uid'],
'dateline' => TIME_NOW,

							'olddisplaygroup' => $user['displaygroup'],
'admin' => (int)$mybb->user['uid'],
'dateline' => TIME_NOW,

Zeile 2577Zeile 2669

$db->delete_query("forumsubscriptions", "uid = '{$user['uid']}'");
$db->delete_query("threadsubscriptions", "uid = '{$user['uid']}'");


$db->delete_query("forumsubscriptions", "uid = '{$user['uid']}'");
$db->delete_query("threadsubscriptions", "uid = '{$user['uid']}'");


$cache->update_banned();




					++$banned_count;
}
$mybb->input['action'] = "inline_banned";

					++$banned_count;
}
$mybb->input['action'] = "inline_banned";

Zeile 2592Zeile 2683

$page->output_header($lang->manage_users);
$page->output_nav_tabs($sub_tabs, 'manage_users');


$page->output_header($lang->manage_users);
$page->output_nav_tabs($sub_tabs, 'manage_users');





			// Provide the user with a warning of what they're about to do
$table = new Table;
$lang->mass_ban_info = $lang->sprintf($lang->mass_ban_info, count($selected));

			// Provide the user with a warning of what they're about to do
$table = new Table;
$lang->mass_ban_info = $lang->sprintf($lang->mass_ban_info, count($selected));

Zeile 2618Zeile 2709
			{
if($time != '---')
{

			{
if($time != '---')
{

					$friendly_time = my_date("D, jS M Y @ g:ia", ban_date2timestamp($time));

					$friendly_time = my_date("D, jS M Y @ {$mybb->settings['timeformat']}", ban_date2timestamp($time));

					$period = "{$period} ({$friendly_time})";
}
$length_list[$time] = $period;

					$period = "{$period} ({$friendly_time})";
}
$length_list[$time] = $period;

Zeile 2632Zeile 2723
			$page->output_footer();
break;
case 'multidelete':

			$page->output_footer();
break;
case 'multidelete':

			if($mybb->input['no'])

			if($mybb->get_input('no'))

			{
admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No
}

			{
admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No
}

Zeile 2766Zeile 2857
						if($return_array && is_array($return_array))
{
$prune_array = array_merge_recursive($prune_array, $return_array);

						if($return_array && is_array($return_array))
{
$prune_array = array_merge_recursive($prune_array, $return_array);

						}

						}

					}

					}

 

$plugins->run_hooks("admin_user_multiprune_threads", $prune_array);


// No posts were found for the user, return error
if(!is_array($prune_array) || count($prune_array) == 0)


// No posts were found for the user, return error
if(!is_array($prune_array) || count($prune_array) == 0)

Zeile 2893Zeile 2986
			$page->output_footer();
break;
case 'multiusergroup':

			$page->output_footer();
break;
case 'multiusergroup':

			if($mybb->input['processed'] == 1)

			if($mybb->get_input('processed', \MyBB::INPUT_INT) === 1)

			{
// Determine additional usergroups
if(is_array($mybb->input['additionalgroups']))

			{
// Determine additional usergroups
if(is_array($mybb->input['additionalgroups']))

Zeile 2919Zeile 3012
					"additionalgroups" => $additionalgroups,
"displaygroup" => $mybb->get_input('displaygroup', MyBB::INPUT_INT)
);

					"additionalgroups" => $additionalgroups,
"displaygroup" => $mybb->get_input('displaygroup', MyBB::INPUT_INT)
);

 

// Create an admin_user_multiusergroup hook array
$hook_params = array(
"selected" => &$selected,
"update_array" => &$update_array
);

$hook_params = $plugins->run_hooks("admin_user_multiusergroup", $hook_params);


// Do the usergroup update for all those selected
// If the a selected user is a super admin, don't update that user


// Do the usergroup update for all those selected
// If the a selected user is a super admin, don't update that user

 
				$users_to_update = array();

				foreach($selected as $user)
{
if(!is_super_admin($user))

				foreach($selected as $user)
{
if(!is_super_admin($user))

Zeile 2931Zeile 3033
				}

$to_update_count = count($users_to_update);

				}

$to_update_count = count($users_to_update);

				if($to_update_count > 0 && is_array($users_to_update))

				if($to_update_count > 0)

				{
// Update the users in the database
$sql = implode(",", $users_to_update);

				{
// Update the users in the database
$sql = implode(",", $users_to_update);

Zeile 2984Zeile 3086
				$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


				$display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
}


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

			if(!$mybb->get_input('additionalgroups', \MyBB::INPUT_ARRAY))

			{

			{

				$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']);

				$mybb->input['additionalgroups'] = explode(',', $mybb->get_input('additionalgroups'));

			}


			}


			$form_container->output_row($lang->primary_user_group, "", $form->generate_select_box('usergroup', $options, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup');

			$form_container->output_row($lang->primary_user_group, "", $form->generate_select_box('usergroup', $options, $mybb->get_input('usergroup'), array('id' => 'usergroup')), 'usergroup');

			$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->input['additionalgroups'], array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group, "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');


			$form_container->output_row($lang->additional_user_groups, $lang->additional_user_groups_desc, $form->generate_select_box('additionalgroups[]', $options, $mybb->input['additionalgroups'], array('id' => 'additionalgroups', 'multiple' => true, 'size' => 5)), 'additionalgroups');
$form_container->output_row($lang->display_user_group, "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');


Zeile 3009Zeile 3111

$page->output_header($lang->browse_users);
echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>";


$page->output_header($lang->browse_users);
echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>";





	$page->output_nav_tabs($sub_tabs, 'browse_users');

if(isset($mybb->input['search_id']) && $admin_session['data']['user_views'][$mybb->input['search_id']])

	$page->output_nav_tabs($sub_tabs, 'browse_users');

if(isset($mybb->input['search_id']) && $admin_session['data']['user_views'][$mybb->input['search_id']])

Zeile 3102Zeile 3204
function build_users_view($view)
{
global $mybb, $db, $cache, $lang, $user_view_fields, $page;

function build_users_view($view)
{
global $mybb, $db, $cache, $lang, $user_view_fields, $page;

 

if($view['view_type'] != 'card')
{
$view['view_type'] = 'table';
}


$view_title = '';
if($view['title'])


$view_title = '';
if($view['title'])

	{
$title_string = "view_title_{$view['vid']}";

if($lang->$title_string)
{
$view['title'] = $lang->$title_string;
}




	{
if(isset($view['vid']))
{
$title_string = "view_title_{$view['vid']}";

if(isset($lang->$title_string))
{
$view['title'] = $lang->$title_string;
}
}


$view_title .= " (".htmlspecialchars_uni($view['title']).")";
}


$view_title .= " (".htmlspecialchars_uni($view['title']).")";
}

Zeile 3128Zeile 3238
	if(!is_array($view['fields']))
{
$view['fields'] = my_unserialize($view['fields']);

	if(!is_array($view['fields']))
{
$view['fields'] = my_unserialize($view['fields']);

	}

	}

	if(!is_array($view['custom_profile_fields']))

	if(!is_array($view['custom_profile_fields']))

	{

	{

		$view['custom_profile_fields'] = my_unserialize($view['custom_profile_fields']);

		$view['custom_profile_fields'] = my_unserialize($view['custom_profile_fields']);

	}
if(isset($mybb->input['username']))
{

	}
if(isset($mybb->input['username']))
{

		$view['conditions']['username'] = $mybb->input['username'];

		$view['conditions']['username'] = $mybb->input['username'];

 
		$view['url'] .= "&amp;username=".urlencode(htmlspecialchars_uni($mybb->input['username']));

	}

	}

	if($view['vid'])

	if(!empty($view['vid']))

	{
$view['url'] .= "&amp;vid={$view['vid']}";

	{
$view['url'] .= "&amp;vid={$view['vid']}";

	}

	}

	else
{
// If this is a custom view we need to save everything ready to pass it on from page to page
global $admin_session;

	else
{
// If this is a custom view we need to save everything ready to pass it on from page to page
global $admin_session;

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

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

		{
$search_id = md5(random_str());
$admin_session['data']['user_views'][$search_id] = $view;

		{
$search_id = md5(random_str());
$admin_session['data']['user_views'][$search_id] = $view;

Zeile 3153Zeile 3264
			$mybb->input['search_id'] = $search_id;
}
$view['url'] .= "&amp;search_id=".htmlspecialchars_uni($mybb->input['search_id']);

			$mybb->input['search_id'] = $search_id;
}
$view['url'] .= "&amp;search_id=".htmlspecialchars_uni($mybb->input['search_id']);

	}

if(isset($mybb->input['username']))
{
$view['url'] .= "&amp;username=".urlencode(htmlspecialchars_uni($mybb->input['username']));

 
	}

if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&amp;", "&", $view['url']))

	}

if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&amp;", "&", $view['url']))

Zeile 3206Zeile 3312
	// Build the search SQL for users

// List of valid LIKE search fields

	// Build the search SQL for users

// List of valid LIKE search fields

	$user_like_fields = array("username", "email", "website", "icq", "aim", "yahoo", "skype", "google", "signature", "usertitle");

	$user_like_fields = array("username", "email", "website", "icq", "skype", "google", "signature", "usertitle");

	foreach($user_like_fields as $search_field)
{

	foreach($user_like_fields as $search_field)
{

		if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank'])

		if(!empty($view['conditions'][$search_field]) && empty($view['conditions'][$search_field.'_blank']))

		{
$search_sql .= " AND u.{$search_field} LIKE '%".$db->escape_string_like($view['conditions'][$search_field])."%'";
}

		{
$search_sql .= " AND u.{$search_field} LIKE '%".$db->escape_string_like($view['conditions'][$search_field])."%'";
}

Zeile 3310Zeile 3416
		$userfield_sql = '1=1';
foreach($view['custom_profile_fields'] as $column => $input)
{

		$userfield_sql = '1=1';
foreach($view['custom_profile_fields'] as $column => $input)
{

 
			if(!preg_match('/^fid[0-9]+(_blank)?$/', $column))
{
continue;
}


			if(is_array($input))
{
foreach($input as $value => $text)

			if(is_array($input))
{
foreach($input as $value => $text)

Zeile 3404Zeile 3515
	if(isset($view['conditions']['coppa']))
{
$search_sql .= " AND u.coppauser=1 AND u.usergroup=5";

	if(isset($view['conditions']['coppa']))
{
$search_sql .= " AND u.coppauser=1 AND u.usergroup=5";

	}

	}


// Extra SQL?
if(isset($view['extra_sql']))
{
$search_sql .= $view['extra_sql'];


// Extra SQL?
if(isset($view['extra_sql']))
{
$search_sql .= $view['extra_sql'];

	}

	}


// Lets fetch out how many results we have
$query = $db->query("


// Lets fetch out how many results we have
$query = $db->query("

Zeile 3422Zeile 3533

// No matching results then return false
if(!$num_results)


// No matching results then return false
if(!$num_results)

	{

	{

		return false;
}
// Generate the list of results

		return false;
}
// Generate the list of results

Zeile 3436Zeile 3547

// Establish which page we're viewing and the starting index for querying
if(!isset($mybb->input['page']))


// Establish which page we're viewing and the starting index for querying
if(!isset($mybb->input['page']))

		{
$mybb->input['page'] = 1;
}
else
{

		{
$mybb->input['page'] = 1;
}
else
{

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

if($mybb->input['page'])
{
$start = ($mybb->input['page'] - 1) * $view['perpage'];

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

if($mybb->input['page'])
{
$start = ($mybb->input['page'] - 1) * $view['perpage'];

 
			$pages = ceil($num_results / $view['perpage']);
if($mybb->input['page'] > $pages)
{
$start = 0;
$mybb->input['page'] = 1;
}

		}
else
{
$start = 0;
$mybb->input['page'] = 1;

		}
else
{
$start = 0;
$mybb->input['page'] = 1;

		}

		}


$from_bit = "";
if(isset($mybb->input['from']) && $mybb->input['from'] == "home")


$from_bit = "";
if(isset($mybb->input['from']) && $mybb->input['from'] == "home")

Zeile 3500Zeile 3617
		while($user = $db->fetch_array($query))
{
$comma = $groups_list = '';

		while($user = $db->fetch_array($query))
{
$comma = $groups_list = '';

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

			$user['view']['username'] = "<a href=\"index.php?module=user-users&amp;action=edit&amp;uid={$user['uid']}\">".format_name($user['username'], $user['usergroup'], $user['displaygroup'])."</a>";
$user['view']['usergroup'] = htmlspecialchars_uni($usergroups[$user['usergroup']]['title']);
if($user['additionalgroups'])

			$user['view']['username'] = "<a href=\"index.php?module=user-users&amp;action=edit&amp;uid={$user['uid']}\">".format_name($user['username'], $user['usergroup'], $user['displaygroup'])."</a>";
$user['view']['usergroup'] = htmlspecialchars_uni($usergroups[$user['usergroup']]['title']);
if($user['additionalgroups'])

Zeile 3519Zeile 3637
			$user['view']['additionalgroups'] = "<small>{$groups_list}</small>";
$user['view']['email'] = "<a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>";
$user['view']['regdate'] = my_date('relative', $user['regdate']);

			$user['view']['additionalgroups'] = "<small>{$groups_list}</small>";
$user['view']['email'] = "<a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>";
$user['view']['regdate'] = my_date('relative', $user['regdate']);

			$user['view']['lastactive'] = my_date('relative', $user['lastactive']);









			$last_seen = max(array($user['lastactive'], $user['lastvisit']));
if(!empty($last_seen))
{
$user['view']['lastactive'] = my_date('relative', $last_seen);
}
else
{
$user['view']['lastactive'] = $lang->never;
}


// Build popup menu
$popup = new PopupMenu("user_{$user['uid']}", $lang->options);


// Build popup menu
$popup = new PopupMenu("user_{$user['uid']}", $lang->options);

Zeile 3534Zeile 3660
				$popup->add_item($lang->lift_ban, "index.php?module=user-banning&action=lift&uid={$user['uid']}&my_post_key={$mybb->post_code}");
}
else

				$popup->add_item($lang->lift_ban, "index.php?module=user-banning&action=lift&uid={$user['uid']}&my_post_key={$mybb->post_code}");
}
else

			{

			{

				// Not banned... but soon maybe!
$popup->add_item($lang->ban_user, "index.php?module=user-banning&amp;uid={$user['uid']}#username");
}

				// Not banned... but soon maybe!
$popup->add_item($lang->ban_user, "index.php?module=user-banning&amp;uid={$user['uid']}#username");
}

Zeile 3548Zeile 3674
				else
{
$popup->add_item($lang->approve_user, "index.php?module=user-users&amp;action=activate_user&amp;uid={$user['uid']}&amp;my_post_key={$mybb->post_code}{$from_bit}");

				else
{
$popup->add_item($lang->approve_user, "index.php?module=user-users&amp;action=activate_user&amp;uid={$user['uid']}&amp;my_post_key={$mybb->post_code}{$from_bit}");

				}

				}

			}

$popup->add_item($lang->delete_user, "index.php?module=user-users&amp;action=delete&amp;uid={$user['uid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->user_deletion_confirmation}')");
$popup->add_item($lang->show_referred_users, "index.php?module=user-users&amp;action=referrers&amp;uid={$user['uid']}");
$popup->add_item($lang->show_ip_addresses, "index.php?module=user-users&amp;action=ipaddresses&amp;uid={$user['uid']}");

			}

$popup->add_item($lang->delete_user, "index.php?module=user-users&amp;action=delete&amp;uid={$user['uid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->user_deletion_confirmation}')");
$popup->add_item($lang->show_referred_users, "index.php?module=user-users&amp;action=referrers&amp;uid={$user['uid']}");
$popup->add_item($lang->show_ip_addresses, "index.php?module=user-users&amp;action=ipaddresses&amp;uid={$user['uid']}");

			$popup->add_item($lang->show_attachments, "index.php?module=forum-attachments&amp;results=1&amp;username=".urlencode(htmlspecialchars_uni($user['username'])));

			$popup->add_item($lang->show_attachments, "index.php?module=forum-attachments&amp;results=1&amp;username=".urlencode($user['username']));

			$user['view']['controls'] = $popup->fetch();

// Fetch the reputation for this user

			$user['view']['controls'] = $popup->fetch();

// Fetch the reputation for this user

Zeile 3565Zeile 3691
			else
{
$reputation = "-";

			else
{
$reputation = "-";

			}

			}


if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0)
{


if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0)
{

Zeile 3582Zeile 3708
				$user['view']['warninglevel'] = get_colored_warning_level($warning_level);
}


				$user['view']['warninglevel'] = get_colored_warning_level($warning_level);
}


			if($user['avatar'] && my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://')
{
$user['avatar'] = "../{$user['avatar']}";
}

 
			if($view['view_type'] == "card")
{

			if($view['view_type'] == "card")
{

				$scaled_avatar = fetch_scaled_avatar($user, 80, 80);

				$max_dimensions = '80x80';

			}
else
{

			}
else
{

				$scaled_avatar = fetch_scaled_avatar($user, 34, 34);

				$max_dimensions = '34x34';

			}

			}

			if(!$user['avatar'])
{
$user['avatar'] = "../".$mybb->settings['useravatar'];
}
$user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";


$avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);

$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";



// Convert IP's to readable
$user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));


// Convert IP's to readable
$user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));





			if($view['view_type'] == "card")
{
$users .= build_user_view_card($user, $view, $i);

			if($view['view_type'] == "card")
{
$users .= build_user_view_card($user, $view, $i);

Zeile 3646Zeile 3767
	// Do we need to construct the pagination?
if($num_results > $view['perpage'])
{

	// Do we need to construct the pagination?
if($num_results > $view['perpage'])
{

		$pagination = draw_admin_pagination($mybb->input['page'], $view['perpage'], $num_results, $view['url']."&amp;type={$view['view_type']}");


		$view_type = htmlspecialchars_uni($view['view_type']);
$pagination = draw_admin_pagination($mybb->input['page'], $view['perpage'], $num_results, $view['url']."&amp;type={$view_type}");

		$search_class = "float_right";
$search_style = "";
}

		$search_class = "float_right";
$search_style = "";
}

Zeile 3677Zeile 3799
		$default_class = "search_default";
$value = $lang->search_for_user;
}

		$default_class = "search_default";
$value = $lang->search_for_user;
}

	$built_view .= $search->generate_text_box('username', $value, array('id' => 'search_keywords', 'class' => "{$default_class} field150 field_small"))."\n";

	$built_view .= $search->generate_text_box('username', htmlspecialchars_uni($value), array('id' => 'search_keywords', 'class' => "{$default_class} field150 field_small"))."\n";

	$built_view .= "<input type=\"submit\" class=\"search_button\" value=\"{$lang->search}\" />\n";

	$built_view .= "<input type=\"submit\" class=\"search_button\" value=\"{$lang->search}\" />\n";

	if($view['popup'])

	if(!empty($view['popup']))

	{
$built_view .= " <div style=\"display: inline\">{$view['popup']}</div>\n";
}
$built_view .= "<script type=\"text/javascript\">
var form = $(\"#search_form\");

	{
$built_view .= " <div style=\"display: inline\">{$view['popup']}</div>\n";
}
$built_view .= "<script type=\"text/javascript\">
var form = $(\"#search_form\");

		form.submit(function() {

		form.on('submit', function() {

			var search = $('#search_keywords');
if(search.val() == '' || search.val() == '".addcslashes($lang->search_for_user, "'")."')
{

			var search = $('#search_keywords');
if(search.val() == '' || search.val() == '".addcslashes($lang->search_for_user, "'")."')
{

				search.focus();

				search.trigger('focus');

				return false;
}
});

var search = $(\"#search_keywords\");

				return false;
}
});

var search = $(\"#search_keywords\");

		search.focus(function()

		search.on('focus', function()

		{
var searched_focus = $(this);
if(searched_focus.val() == '".addcslashes($lang->search_for_user, "'")."')

		{
var searched_focus = $(this);
if(searched_focus.val() == '".addcslashes($lang->search_for_user, "'")."')

Zeile 3703Zeile 3825
				searched_focus.removeClass(\"search_default\");
searched_focus.val(\"\");
}

				searched_focus.removeClass(\"search_default\");
searched_focus.val(\"\");
}

		});

search.blur(function()

		}).on('blur', function()



		{
var searched_blur = $(this);
if(searched_blur.val() == \"\")

		{
var searched_blur = $(this);
if(searched_blur.val() == \"\")

Zeile 3747Zeile 3867
	}

$built_view .= '

	}

$built_view .= '

<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1800"></script>

<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1838"></script>

<form action="index.php?module=user-users" method="post">
<input type="hidden" name="my_post_key" value="'.$mybb->post_code.'" />
<input type="hidden" name="action" value="inline_edit" />

<form action="index.php?module=user-users" method="post">
<input type="hidden" name="my_post_key" value="'.$mybb->post_code.'" />
<input type="hidden" name="action" value="inline_edit" />

Zeile 3844Zeile 3964
	}

// And build the final card

	}

// And build the final card

 
	$uname = "";
if(in_array('username', $view['fields']))
{
$uname = $user['view']['username'];
}

	$card = "<fieldset id=\"uid_{$user['uid']}\" style=\"width: 47%; float: {$float};\">\n";

	$card = "<fieldset id=\"uid_{$user['uid']}\" style=\"width: 47%; float: {$float};\">\n";

	$card .= "<legend><input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" /> {$user['view']['username']}</legend>\n";
if($avatar)

	$card .= "<legend><input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" /> {$uname}</legend>\n";
if(!empty($avatar))

	{
$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";
}

	{
$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";
}

	if($user_details)

	if(!empty($user_details))

	{
$card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";
}

	{
$card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";
}

	if($controls)

	if(!empty($controls))

	{
$card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n";
}

	{
$card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n";
}

Zeile 3880Zeile 4005
		}
$view_field = $user_view_fields[$field];
$field_options = array();

		}
$view_field = $user_view_fields[$field];
$field_options = array();

		if($view_field['align'])

		if(($view_field['align']))

		{
$field_options['class'] = "align_".$view_field['align'];
}

		{
$field_options['class'] = "align_".$view_field['align'];
}

		if($user['view'][$field])

		if(!empty($user['view'][$field]))

		{
$value = $user['view'][$field];
}
else
{
$value = $user[$field];

		{
$value = $user['view'][$field];
}
else
{
$value = $user[$field];

		}

		}


if($field == "postnum")


if($field == "postnum")

		{

		{

			$value = my_number_format($user[$field]);
}
$table->construct_cell($value, $field_options);

			$value = my_number_format($user[$field]);
}
$table->construct_cell($value, $field_options);

Zeile 3903Zeile 4028
	$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");

$table->construct_row();

	$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");

$table->construct_row();

}

/**
* @param array $user
* @param int $max_width
* @param int $max_height
*
* @return array
*/
function fetch_scaled_avatar($user, $max_width=80, $max_height=80)
{
$scaled_dimensions = array(
"width" => $max_width,
"height" => $max_height,
);

if($user['avatar'])
{
if($user['avatardimensions'])
{
require_once MYBB_ROOT."inc/functions_image.php";
list($width, $height) = explode("|", $user['avatardimensions']);
$scaled_dimensions = scale_image($width, $height, $max_width, $max_height);
}
}

return array("width" => $scaled_dimensions['width'], "height" => $scaled_dimensions['height']);

 
}

/**

}

/**

Zeile 3941Zeile 4039
 */
function output_custom_profile_fields($fields, $values, &$form_container, &$form, $search=false)
{

 */
function output_custom_profile_fields($fields, $values, &$form_container, &$form, $search=false)
{

	global $lang;

	global $lang, $mybb;


if(!is_array($fields))


if(!is_array($fields))

	{
return;
}

	{
return;
}

	foreach($fields as $profile_field)
{
$profile_field['name'] = htmlspecialchars_uni($profile_field['name']);
$profile_field['description'] = htmlspecialchars_uni($profile_field['description']);

	foreach($fields as $profile_field)
{
$profile_field['name'] = htmlspecialchars_uni($profile_field['name']);
$profile_field['description'] = htmlspecialchars_uni($profile_field['description']);

		list($type, $options) = explode("\n", $profile_field['type'], 2);






$type_data = explode("\n", $profile_field['type'], 2);
$type = $type_data[0];
$options = !empty($type_data[1]) ? $type_data[1] : null;


		$type = trim($type);
$field_name = "fid{$profile_field['fid']}";

		$type = trim($type);
$field_name = "fid{$profile_field['fid']}";

 

if(!isset($values[$field_name]))
{
$values[$field_name] = '';
}
if(!isset($values[$field_name.'_blank']))
{
$values[$field_name.'_blank'] = '';
}


switch($type)
{
case "multiselect":


switch($type)
{
case "multiselect":

 
				$selected_options = array();

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);

Zeile 3967Zeile 4079
					$user_options = $values[$field_name];
}


					$user_options = $values[$field_name];
}


				$selected_options = array();



				foreach($user_options as $val)
{
$selected_options[$val] = htmlspecialchars_uni($val);

				foreach($user_options as $val)
{
$selected_options[$val] = htmlspecialchars_uni($val);

Zeile 4029Zeile 4141
				{
$val = trim($val);
$code .= $form->generate_radio_button("profile_fields[{$field_name}]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $values[$field_name] ? true : false)))."<br />";

				{
$val = trim($val);
$code .= $form->generate_radio_button("profile_fields[{$field_name}]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $values[$field_name] ? true : false)))."<br />";

				}
break;

				}
break;

			case "checkbox":

			case "checkbox":

 
				$select_options = array();

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);
}
else

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);
}
else

				{

				{

					$user_options = $values[$field_name];

					$user_options = $values[$field_name];

				}



				}

$selected_options = array();

				foreach($user_options as $val)
{
$selected_options[$val] = $val;
}

				foreach($user_options as $val)
{
$selected_options[$val] = $val;
}

				$select_options = array();



				if($search == true)
{
$select_options[''] = $lang->na;

				if($search == true)
{
$select_options[''] = $lang->na;

Zeile 4054Zeile 4169
				foreach($select_options as $val)
{
$val = trim($val);

				foreach($select_options as $val)
{
$val = trim($val);

					$code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />";

					$code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => (isset($selected_options[$val]) && $val == $selected_options[$val] ? true : false)))."<br />";

				}
break;
case "textarea":

				}
break;
case "textarea":

Zeile 4086Zeile 4201
 * @param array $input
* @param DefaultForm $form
*/

 * @param array $input
* @param DefaultForm $form
*/

function user_search_conditions($input=array(), &$form)

function user_search_conditions($input, &$form)

{
global $mybb, $db, $lang;


{
global $mybb, $db, $lang;


Zeile 4095Zeile 4210
		$input = $mybb->input;
}


		$input = $mybb->input;
}


	if(!is_array($input['conditions']))

	if(empty($input['conditions']))

	{

	{

		$input['conditions'] = my_unserialize($input['conditions']);




















		$input['conditions'] = array();
}

if(!is_array($input['conditions']))
{
$input['conditions'] = (array)my_unserialize($input['conditions']);
}

$array = array('username', 'email', 'usergroup', 'website', 'website_blank', 'icq', 'icq_blank', 'skype', 'skype_blank', 'google', 'google_blank', 'signature', 'signature_blank', 'usertitle', 'usertitle_blank', 'postnum_dir', 'postnum', 'threadnum_dir', 'threadnum', 'regdate', 'regip', 'lastip', 'postip');
foreach($array as $condition)
{
if(!isset($input['conditions'][$condition]))
{
$input['conditions'][$condition] = '';
}
}

if(empty($input['profile_fields']))
{
$input['profile_fields'] = array();

	}

if(!is_array($input['profile_fields']))

	}

if(!is_array($input['profile_fields']))

	{
$input['profile_fields'] = my_unserialize($input['profile_fields']);






	{
$input['profile_fields'] = (array)my_unserialize($input['profile_fields']);
}

if(empty($input['fields']))
{
$input['fields'] = array();

	}

if(!is_array($input['fields']))
{

	}

if(!is_array($input['fields']))
{

		$input['fields'] = my_unserialize($input['fields']);

		$input['fields'] = (array)my_unserialize($input['fields']);

	}

$form_container = new FormContainer($lang->find_users_where);

	}

$form_container = new FormContainer($lang->find_users_where);

	$form_container->output_row($lang->username_contains, "", $form->generate_text_box('conditions[username]', $input['conditions']['username'], array('id' => 'username')), 'username');

	$form_container->output_row($lang->username_contains, "", $form->generate_text_box('conditions[username]', htmlspecialchars_uni($input['conditions']['username']), array('id' => 'username')), 'username');

	$form_container->output_row($lang->email_address_contains, "", $form->generate_text_box('conditions[email]', $input['conditions']['email'], array('id' => 'email')), 'email');

$options = array();

	$form_container->output_row($lang->email_address_contains, "", $form->generate_text_box('conditions[email]', $input['conditions']['email'], array('id' => 'email')), 'email');

$options = array();

Zeile 4119Zeile 4258
	while($usergroup = $db->fetch_array($query))
{
$options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);

	while($usergroup = $db->fetch_array($query))
{
$options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);

	}


	}


	$form_container->output_row($lang->is_member_of_groups, $lang->additional_user_groups_desc, $form->generate_select_box('conditions[usergroup][]', $options, $input['conditions']['usergroup'], array('id' => 'usergroups', 'multiple' => true, 'size' => 5)), 'usergroups');

$form_container->output_row($lang->website_contains, "", $form->generate_text_box('conditions[website]', $input['conditions']['website'], array('id' => 'website'))." {$lang->or} ".$form->generate_check_box('conditions[website_blank]', 1, $lang->is_not_blank, array('id' => 'website_blank', 'checked' => $input['conditions']['website_blank'])), 'website');
$form_container->output_row($lang->icq_number_contains, "", $form->generate_text_box('conditions[icq]', $input['conditions']['icq'], array('id' => 'icq'))." {$lang->or} ".$form->generate_check_box('conditions[icq_blank]', 1, $lang->is_not_blank, array('id' => 'icq_blank', 'checked' => $input['conditions']['icq_blank'])), 'icq');

	$form_container->output_row($lang->is_member_of_groups, $lang->additional_user_groups_desc, $form->generate_select_box('conditions[usergroup][]', $options, $input['conditions']['usergroup'], array('id' => 'usergroups', 'multiple' => true, 'size' => 5)), 'usergroups');

$form_container->output_row($lang->website_contains, "", $form->generate_text_box('conditions[website]', $input['conditions']['website'], array('id' => 'website'))." {$lang->or} ".$form->generate_check_box('conditions[website_blank]', 1, $lang->is_not_blank, array('id' => 'website_blank', 'checked' => $input['conditions']['website_blank'])), 'website');
$form_container->output_row($lang->icq_number_contains, "", $form->generate_text_box('conditions[icq]', $input['conditions']['icq'], array('id' => 'icq'))." {$lang->or} ".$form->generate_check_box('conditions[icq_blank]', 1, $lang->is_not_blank, array('id' => 'icq_blank', 'checked' => $input['conditions']['icq_blank'])), 'icq');

	$form_container->output_row($lang->aim_handle_contains, "", $form->generate_text_box('conditions[aim]', $input['conditions']['aim'], array('id' => 'aim'))." {$lang->or} ".$form->generate_check_box('conditions[aim_blank]', 1, $lang->is_not_blank, array('id' => 'aim_blank', 'checked' => $input['conditions']['aim_blank'])), 'aim');
$form_container->output_row($lang->yahoo_contains, "", $form->generate_text_box('conditions[yahoo]', $input['conditions']['yahoo'], array('id' => 'yahoo'))." {$lang->or} ".$form->generate_check_box('conditions[yahoo_blank]', 1, $lang->is_not_blank, array('id' => 'yahoo_blank', 'checked' => $input['conditions']['yahoo_blank'])), 'yahoo');

 
	$form_container->output_row($lang->skype_contains, "", $form->generate_text_box('conditions[skype]', $input['conditions']['skype'], array('id' => 'skype'))." {$lang->or} ".$form->generate_check_box('conditions[skype_blank]', 1, $lang->is_not_blank, array('id' => 'skype_blank', 'checked' => $input['conditions']['skype_blank'])), 'skype');
$form_container->output_row($lang->google_contains, "", $form->generate_text_box('conditions[google]', $input['conditions']['google'], array('id' => 'google'))." {$lang->or} ".$form->generate_check_box('conditions[google_blank]', 1, $lang->is_not_blank, array('id' => 'google_blank', 'checked' => $input['conditions']['google_blank'])), 'google');
$form_container->output_row($lang->signature_contains, "", $form->generate_text_box('conditions[signature]', $input['conditions']['signature'], array('id' => 'signature'))." {$lang->or} ".$form->generate_check_box('conditions[signature_blank]', 1, $lang->is_not_blank, array('id' => 'signature_blank', 'checked' => $input['conditions']['signature_blank'])), 'signature');

	$form_container->output_row($lang->skype_contains, "", $form->generate_text_box('conditions[skype]', $input['conditions']['skype'], array('id' => 'skype'))." {$lang->or} ".$form->generate_check_box('conditions[skype_blank]', 1, $lang->is_not_blank, array('id' => 'skype_blank', 'checked' => $input['conditions']['skype_blank'])), 'skype');
$form_container->output_row($lang->google_contains, "", $form->generate_text_box('conditions[google]', $input['conditions']['google'], array('id' => 'google'))." {$lang->or} ".$form->generate_check_box('conditions[google_blank]', 1, $lang->is_not_blank, array('id' => 'google_blank', 'checked' => $input['conditions']['google_blank'])), 'google');
$form_container->output_row($lang->signature_contains, "", $form->generate_text_box('conditions[signature]', $input['conditions']['signature'], array('id' => 'signature'))." {$lang->or} ".$form->generate_check_box('conditions[signature_blank]', 1, $lang->is_not_blank, array('id' => 'signature_blank', 'checked' => $input['conditions']['signature_blank'])), 'signature');

Zeile 4148Zeile 4285

// Custom profile fields go here
$form_container = new FormContainer($lang->custom_profile_fields_match);


// Custom profile fields go here
$form_container = new FormContainer($lang->custom_profile_fields_match);





	// Fetch custom profile fields
$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));


	// Fetch custom profile fields
$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));


	$profile_fields = array();




	$profile_fields = array(
'required' => array(),
'optional' => array(),
);

	while($profile_field = $db->fetch_array($query))
{
if($profile_field['required'] == 1)

	while($profile_field = $db->fetch_array($query))
{
if($profile_field['required'] == 1)

Zeile 4207Zeile 4347
});
// -->
</script>';

});
// -->
</script>';

 
}

/**
* @param int $source_uid
* @param int $destination_uid
*/
function merge_thread_ratings($source_uid, $destination_uid)
{
global $db;

$source_ratings = $dest_threads = $delete_list = $decrement_list = array();

// Get all thread ratings from both accounts
$query = $db->simple_select('threadratings', 'tid, uid, rid, rating', "uid IN ({$destination_uid}, {$source_uid})");
while($rating = $db->fetch_array($query))
{
if($rating['uid'] == $destination_uid)
{
$dest_threads[] = $rating['tid'];
}
else
{
$source_ratings[] = $rating;
}
}

// If there are duplicates, mark them for deletion
foreach($source_ratings as $rating)
{
if(in_array($rating['tid'], $dest_threads))
{
$delete_list[] = $rating['rid'];
$decrement_list[$rating['tid']][] = (int) $rating['rating'];
}
}

// Attribute all of the source user's ratings to the destination user
$db->update_query("threadratings", array("uid" => $destination_uid), "uid='{$source_uid}'");

// Remove ratings previously given to recently acquired threads
$query = $db->query("
SELECT tr.rid, tr.rating, t.tid
FROM {$db->table_prefix}threadratings tr
LEFT JOIN {$db->table_prefix}threads t ON (t.tid=tr.tid)
WHERE tr.uid='{$destination_uid}' AND tr.uid=t.uid
");
while($rating = $db->fetch_array($query))
{
$delete_list[] = $rating['rid'];
$decrement_list[$rating['tid']][] = (int) $rating['rating'];
}

// Delete the duplicate/disallowed ratings
if(!empty($delete_list))
{
$imp = implode(',', $delete_list);
$db->delete_query('threadratings', "rid IN ({$imp})");
}

// Correct the thread rating counters
if(!empty($decrement_list))
{
foreach($decrement_list as $tid => $ratings)
{
if(is_array($ratings))
{
$db->update_query('threads', array('numratings' => 'numratings-'.count($ratings), 'totalratings' => 'totalratings-'.array_sum($ratings)), "tid='{$tid}'", 1, true);
}
}
}

}

}