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

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

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

Zeile 421Zeile 421
	$form->end();
$page->output_footer();
}

	$form->end();
$page->output_footer();
}





if($mybb->input['action'] == "edit")
{
$user = get_user($mybb->input['uid']);

if($mybb->input['action'] == "edit")
{
$user = get_user($mybb->input['uid']);

Zeile 437Zeile 437

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 451Zeile 452
				if($gid == $mybb->input['usergroup'])
{
unset($mybb->input['additionalgroups'][$key]);

				if($gid == $mybb->input['usergroup'])
{
unset($mybb->input['additionalgroups'][$key]);

				}

				}

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

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

Zeile 511Zeile 512
			"profile_fields_editable" => true,
"website" => $mybb->input['website'],
"icq" => $mybb->input['icq'],

			"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'],

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

Zeile 627Zeile 627
			// Are we setting a new avatar from a URL?
else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar'])
{

			// Are we setting a new avatar from a URL?
else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar'])
{

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

				if(!$mybb->settings['allowremoteavatars'])

				{

				{

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

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















					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;





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




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

						{
$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)
{
$avatar_error = $lang->error_invalidavatarurl;























						{
$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'] != "")
{
list($maxwidth, $maxheight) = explode("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 781Zeile 788
							elseif($suspend_length && $suspend_length != "-1")
{
// Temporary ban on action

							elseif($suspend_length && $suspend_length != "-1")
{
// Temporary ban on action

								$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

								$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

						}
elseif(!$user[$option['update_field']])
{

						}
elseif(!$user[$option['update_field']])
{

Zeile 804Zeile 811
			if($extra_user_updates['moderateposts'] && $extra_user_updates['suspendposting'])
{
$errors[] = $lang->suspendmoderate_error;

			if($extra_user_updates['moderateposts'] && $extra_user_updates['suspendposting'])
{
$errors[] = $lang->suspendmoderate_error;

			}

			}


if(isset($away_in_past))
{


if(isset($away_in_past))
{

Zeile 826Zeile 833
						'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");


Zeile 840Zeile 847

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']);
$mybb->input = array_merge($mybb->input, $user);

	if(!$errors)
{
$user['usertitle'] = htmlspecialchars_decode($user['usertitle']);
$mybb->input = array_merge($mybb->input, $user);





		$options = array(
'bday1', 'bday2', 'bday3',
'new_password', 'confirm_new_password',
'action_time', 'action_period',
'modpost_period', 'moderateposting', 'modpost_time', 'suspost_period', 'suspost_time'
);

		$options = array(
'bday1', 'bday2', 'bday3',
'new_password', 'confirm_new_password',
'action_time', 'action_period',
'modpost_period', 'moderateposting', 'modpost_time', 'suspost_period', 'suspost_time'
);





		foreach($options as $option)
{
if(!isset($input_user[$option]))
{
$mybb->input[$option] = '';
}

		foreach($options as $option)
{
if(!isset($input_user[$option]))
{
$mybb->input[$option] = '';
}

		}

		}


// We need to fetch this users profile field values
$query = $db->simple_select("userfields", "*", "ufid='{$user['uid']}'");


// We need to fetch this users profile field values
$query = $db->simple_select("userfields", "*", "ufid='{$user['uid']}'");

Zeile 874Zeile 882
		$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);

	}
else
{

	}
else
{

		$mybb->input['bday'] = array(0, 0, '');

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

		$mybb->input['bday'] = array(0, 0, '');

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

		}
}

		}
}


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


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

Zeile 898Zeile 906
		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

		}
}

// Fetch custom profile fields

	$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));

$profile_fields = array();

	$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));

$profile_fields = array();

Zeile 915Zeile 923
		{
$profile_fields['optional'][] = $profile_field;
}

		{
$profile_fields['optional'][] = $profile_field;
}

	}


	}


	$page->add_breadcrumb_item($lang->edit_user.": ".htmlspecialchars_uni($user['username']));

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

	$page->add_breadcrumb_item($lang->edit_user.": ".htmlspecialchars_uni($user['username']));

$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/bbcodes_sceditor.js?ver=1808"></script>

	<script type="text/javascript" src="../jscripts/sceditor/editor_plugins/undo.js?ver=1805"></script>
EOF;
$page->output_header($lang->edit_user);

	<script type="text/javascript" src="../jscripts/sceditor/editor_plugins/undo.js?ver=1805"></script>
EOF;
$page->output_header($lang->edit_user);

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

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





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

// If we have any error messages, show them
if($errors)

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

// If we have any error messages, show them
if($errors)

	{

	{

		$page->output_inline_error($errors);

		$page->output_inline_error($errors);

	}

	}


// 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(
"overview" => $lang->overview,
"profile" => $lang->profile,

	$tabs = array(
"overview" => $lang->overview,
"profile" => $lang->profile,

Zeile 962Zeile 970

//
// OVERVIEW


//
// OVERVIEW

	//

	//

	echo "<div id=\"tab_overview\">\n";
$table = new Table;
$table->construct_header($lang->avatar, array('class' => 'align_center'));

	echo "<div id=\"tab_overview\">\n";
$table = new Table;
$table->construct_header($lang->avatar, array('class' => 'align_center'));

Zeile 970Zeile 978

// Avatar
$avatar_dimensions = explode("|", $user['avatardimensions']);


// Avatar
$avatar_dimensions = explode("|", $user['avatardimensions']);

	if($user['avatar'])

	if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars']))

	{
if($user['avatardimensions'])

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

			require_once MYBB_ROOT."inc/functions_image.php";
list($width, $height) = explode("|", $user['avatardimensions']);
$scaled_dimensions = scale_image($width, $height, 120, 120);

Zeile 985Zeile 993
				"height" => 120
);
}

				"height" => 120
);
}

		if(my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://')

		if(!my_validate_url($user['avatar']))

		{
$user['avatar'] = "../{$user['avatar']}\n";

		{
$user['avatar'] = "../{$user['avatar']}\n";

		}

		}

	}
else
{

	}
else
{

		$user['avatar'] = "../".$mybb->settings['useravatar'];








		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']);
}

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

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

Zeile 1010Zeile 1025
	$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 1098Zeile 1113
	$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 1123
	//
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 1141Zeile 1158

$form_container->end();



$form_container->end();


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

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

Zeile 1187Zeile 1203

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 1220
		$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();

	}

	}





 
	$plugins->run_hooks("admin_user_users_edit_profile");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1215Zeile 1232
	// 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";

	// 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";

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

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

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

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

Zeile 1235Zeile 1252
		$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'])),

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

		"<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->input['subscriptionmethod'], array('id' => 'subscriptionmethod'))

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


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


Zeile 1331Zeile 1348
	$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";

//

	echo "</div>\n";

//

Zeile 1359Zeile 1377
		$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');

$periods = array(

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

$periods = array(

Zeile 1380Zeile 1398
		{
// Permanent
$lang->suspend_expire_info = $lang->suspend_sig_perm;

		{
// Permanent
$lang->suspend_expire_info = $lang->suspend_sig_perm;

		}
else

		}
else

		{
// There's a limit to the suspension!
$remaining = $user['suspendsigtime']-TIME_NOW;

		{
// There's a limit to the suspension!
$remaining = $user['suspendsigtime']-TIME_NOW;

Zeile 1393Zeile 1411
				$color = 'red';
}
elseif($remaining < 86400)

				$color = 'red';
}
elseif($remaining < 86400)

			{

			{

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

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

			}

			}


$lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired, $color);
}


$lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired, $color);
}

Zeile 1465Zeile 1483
	$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 1481Zeile 1500
	{
$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']);
}


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


Zeile 1512Zeile 1531
	$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 1544
	}
$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 1564
	);

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 1581Zeile 1604
	}

$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>';

	}

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

	$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->input['moderateposting'])), $lang->moderate_posts_info, $modpost_div);

// Suspend posts

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

// Suspend posts

Zeile 1621Zeile 1644
	}

$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>';

	}

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

	$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->input['suspendposting'])), $lang->suspend_posts_info, $suspost_div);


$form_container->end();

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


$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 1883Zeile 1907
		$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 1944Zeile 1968
			$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
$db->update_query("banned", array('admin' => $destination_user['uid']), "admin = '{$source_user['uid']}'");


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

Zeile 1983Zeile 2009
						continue;
}
}

						continue;
}
}





				$last_result = array(
"rid" => $rep['rid'],
"uid" => $rep['uid']
);

				$last_result = array(
"rid" => $rep['rid'],
"uid" => $rep['uid']
);

			}


			}


			// Remove any reputations we've selected to remove...
if(!empty($to_remove))
{
$imp = implode(",", $to_remove);
$db->delete_query("reputation", "rid IN (".$imp.")");

			// Remove any reputations we've selected to remove...
if(!empty($to_remove))
{
$imp = implode(",", $to_remove);
$db->delete_query("reputation", "rid IN (".$imp.")");

			}


			}


			// Calculate the new reputation for this user...
$query = $db->simple_select("reputation", "SUM(reputation) as total_rep", "uid='{$destination_user['uid']}'");
$total_reputation = $db->fetch_field($query, "total_rep");

			// Calculate the new reputation for this user...
$query = $db->simple_select("reputation", "SUM(reputation) as total_rep", "uid='{$destination_user['uid']}'");
$total_reputation = $db->fetch_field($query, "total_rep");

Zeile 2064Zeile 2090
				"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();


// Get a list of forums where post count doesn't apply
$fids = array();

Zeile 2078Zeile 2097
			while($fid = $db->fetch_field($query, "fid"))
{
$fids[] = $fid;

			while($fid = $db->fetch_field($query, "fid"))
{
$fids[] = $fid;

			}


			}


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

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

Zeile 2088Zeile 2107

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


// 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 2101Zeile 2120
				"threadnum" => $num['threadnum']
);
$db->update_query("users", $updated_count, "uid='{$destination_user['uid']}'");

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





			// Use the earliest registration date
if($destination_user['regdate'] > $source_user['regdate'])
{

			// Use the earliest registration date
if($destination_user['regdate'] > $source_user['regdate'])
{

Zeile 2109Zeile 2128
			}

$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 2142
			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 2229Zeile 2257
			if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
{
unset($admin_view);

			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']])

		}

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

Zeile 2321Zeile 2349
	$page->output_header($lang->find_users);

$page->output_nav_tabs($sub_tabs, '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)
{

	// If we have any error messages, show them
if($errors)
{

Zeile 2618Zeile 2646
			{
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 3102Zeile 3130
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'])

Zeile 3112Zeile 3145
		{
$view['title'] = $lang->$title_string;
}

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





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

// Build the URL to this view
if(!isset($view['url']))

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

// Build the URL to this view
if(!isset($view['url']))

	{

	{

		$view['url'] = "index.php?module=user-users";

		$view['url'] = "index.php?module=user-users";

	}

	}

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

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

	{

	{

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

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

	}

	}

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

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

	{

	{

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

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

Zeile 3136Zeile 3169
	if(isset($mybb->input['username']))
{
$view['conditions']['username'] = $mybb->input['username'];

	if(isset($mybb->input['username']))
{
$view['conditions']['username'] = $mybb->input['username'];

	}


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

	if($view['vid'])

	if($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

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

Zeile 3153Zeile 3187
			$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']))
{
update_admin_session('last_users_url', str_replace("&amp;", "&", $view['url']));

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

Zeile 3197Zeile 3226
				$field_options['class'] = "align_".$view_field['align'];
}
$table->construct_header($view_field['title'], $field_options);

				$field_options['class'] = "align_".$view_field['align'];
}
$table->construct_header($view_field['title'], $field_options);

		}

		}

		$table->construct_header("<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this);\" />"); // Create a header for the "select" boxes
}


		$table->construct_header("<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this);\" />"); // Create a header for the "select" boxes
}


Zeile 3206Zeile 3235
	// 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", "yahoo", "skype", "google", "signature", "usertitle");

	foreach($user_like_fields as $search_field)
{
if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank'])

	foreach($user_like_fields as $search_field)
{
if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank'])

Zeile 3216Zeile 3245
		else if(!empty($view['conditions'][$search_field.'_blank']))
{
$search_sql .= " AND u.{$search_field} != ''";

		else if(!empty($view['conditions'][$search_field.'_blank']))
{
$search_sql .= " AND u.{$search_field} != ''";

		}

		}

	}

// EXACT matching fields

	}

// EXACT matching fields

Zeile 3254Zeile 3283
	// Registration searching
$reg_fields = array("regdate");
foreach($reg_fields as $search_field)

	// Registration searching
$reg_fields = array("regdate");
foreach($reg_fields as $search_field)

	{

	{

		if(!empty($view['conditions'][$search_field]) && (int)$view['conditions'][$search_field])
{
$threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);

$search_sql .= " AND u.{$search_field} >= '{$threshold}'";

		if(!empty($view['conditions'][$search_field]) && (int)$view['conditions'][$search_field])
{
$threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);

$search_sql .= " AND u.{$search_field} >= '{$threshold}'";

		}
}

		}
}


// IP searching
$ip_fields = array("regip", "lastip");
foreach($ip_fields as $search_field)
{
if(!empty($view['conditions'][$search_field]))


// IP searching
$ip_fields = array("regip", "lastip");
foreach($ip_fields as $search_field)
{
if(!empty($view['conditions'][$search_field]))

		{

		{

			$ip_range = fetch_ip_range($view['conditions'][$search_field]);
if(!is_array($ip_range))
{
$ip_sql = "{$search_field}=".$db->escape_binary($ip_range);
}
else

			$ip_range = fetch_ip_range($view['conditions'][$search_field]);
if(!is_array($ip_range))
{
$ip_sql = "{$search_field}=".$db->escape_binary($ip_range);
}
else

			{

			{

				$ip_sql = "{$search_field} BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);
}
$search_sql .= " AND {$ip_sql}";

				$ip_sql = "{$search_field} BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);
}
$search_sql .= " AND {$ip_sql}";

Zeile 3289Zeile 3318
		if(!is_array($ip_range))
{
$ip_sql = "ipaddress=".$db->escape_binary($ip_range);

		if(!is_array($ip_range))
{
$ip_sql = "ipaddress=".$db->escape_binary($ip_range);

		}

		}

		else
{
$ip_sql = "ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);

		else
{
$ip_sql = "ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);

Zeile 3311Zeile 3340
		foreach($view['custom_profile_fields'] as $column => $input)
{
if(is_array($input))

		foreach($view['custom_profile_fields'] as $column => $input)
{
if(is_array($input))

			{

			{

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

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

					}


					}


					if($value == $lang->na)
{
continue;
}

if(strpos($column, '_blank') !== false)

					if($value == $lang->na)
{
continue;
}

if(strpos($column, '_blank') !== false)

					{

					{

						$column = str_replace('_blank', '', $column);
$userfield_sql .= ' AND '.$db->escape_string($column)." != ''";
}

						$column = str_replace('_blank', '', $column);
$userfield_sql .= ' AND '.$db->escape_string($column)." != ''";
}

Zeile 3369Zeile 3398

// Usergroup based searching
if(isset($view['conditions']['usergroup']))


// Usergroup based searching
if(isset($view['conditions']['usergroup']))

	{

	{

		if(!is_array($view['conditions']['usergroup']))
{
$view['conditions']['usergroup'] = array($view['conditions']['usergroup']);

		if(!is_array($view['conditions']['usergroup']))
{
$view['conditions']['usergroup'] = array($view['conditions']['usergroup']);

Zeile 3382Zeile 3411
			if(!$usergroup)
{
continue;

			if(!$usergroup)
{
continue;

			}


			}


			$additional_sql = '';

switch($db->type)

			$additional_sql = '';

switch($db->type)

Zeile 3404Zeile 3433
	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("
SELECT COUNT(u.uid) AS num_results

	// Lets fetch out how many results we have
$query = $db->query("
SELECT COUNT(u.uid) AS num_results

Zeile 3426Zeile 3455
		return false;
}
// Generate the list of results

		return false;
}
// Generate the list of results

	else

	else

	{
if(!$view['perpage'])
{
$view['perpage'] = 20;
}
$view['perpage'] = (int)$view['perpage'];

	{
if(!$view['perpage'])
{
$view['perpage'] = 20;
}
$view['perpage'] = (int)$view['perpage'];





		// 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'];

		}

		}

		else
{
$start = 0;

		else
{
$start = 0;

Zeile 3484Zeile 3513
		if($view['sortorder'] != "desc")
{
$view['sortorder'] = "asc";

		if($view['sortorder'] != "desc")
{
$view['sortorder'] = "asc";

		}

		}


$usergroups = $cache->read("usergroups");



$usergroups = $cache->read("usergroups");


Zeile 3500Zeile 3529
		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'])
{
$additional_groups = explode(",", $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'])
{
$additional_groups = explode(",", $user['additionalgroups']);





				foreach($additional_groups as $group)
{
$groups_list .= $comma.htmlspecialchars_uni($usergroups[$group]['title']);

				foreach($additional_groups as $group)
{
$groups_list .= $comma.htmlspecialchars_uni($usergroups[$group]['title']);

Zeile 3520Zeile 3550
			$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']);

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





			// Build popup menu
$popup = new PopupMenu("user_{$user['uid']}", $lang->options);
$popup->add_item($lang->view_profile, $mybb->settings['bburl'].'/'.get_profile_link($user['uid']));

			// Build popup menu
$popup = new PopupMenu("user_{$user['uid']}", $lang->options);
$popup->add_item($lang->view_profile, $mybb->settings['bburl'].'/'.get_profile_link($user['uid']));

Zeile 3534Zeile 3564
				$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 3542Zeile 3572
			if($user['usergroup'] == 5)
{
if($user['coppauser'])

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

				{

				{

					$popup->add_item($lang->approve_coppa_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->approve_coppa_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}");

				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 3595
			else
{
$reputation = "-";

			else
{
$reputation = "-";

			}

			}


if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0)
{
if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;


if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0)
{
if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;

				}

				}


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


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

Zeile 3582Zeile 3612
				$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")
{
$scaled_avatar = fetch_scaled_avatar($user, 80, 80);
}
else
{
$scaled_avatar = fetch_scaled_avatar($user, 34, 34);
}
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']}\" />";

			if($view['view_type'] == "card")
{
$max_dimensions = '80x80';
}
else
{
$max_dimensions = '34x34';
}

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


// Convert IP's to readable
$user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));

Zeile 3609Zeile 3634
				$users .= build_user_view_card($user, $view, $i);
}
else

				$users .= build_user_view_card($user, $view, $i);
}
else

			{

			{

				build_user_view_table($user, $view, $table);
}
}

				build_user_view_table($user, $view, $table);
}
}

Zeile 3623Zeile 3648
	}

if(!isset($view['table_id']))

	}

if(!isset($view['table_id']))

	{

	{

		$view['table_id'] = "users_list";
}

$switch_view = "<div class=\"float_right\">";
$switch_url = $view['url'];
if($mybb->input['page'] > 0)

		$view['table_id'] = "users_list";
}

$switch_view = "<div class=\"float_right\">";
$switch_url = $view['url'];
if($mybb->input['page'] > 0)

	{

	{

		$switch_url .= "&amp;page=".$mybb->get_input('page', MyBB::INPUT_INT);

		$switch_url .= "&amp;page=".$mybb->get_input('page', MyBB::INPUT_INT);

	}

	}

	if($view['view_type'] != "card")
{
$switch_view .= "<strong>{$lang->table_view}</strong> | <a href=\"{$switch_url}&amp;type=card\" style=\"font-weight: normal;\">{$lang->card_view}</a>";

	if($view['view_type'] != "card")
{
$switch_view .= "<strong>{$lang->table_view}</strong> | <a href=\"{$switch_url}&amp;type=card\" style=\"font-weight: normal;\">{$lang->card_view}</a>";

	}
else

	}
else

	{
$switch_view .= "<a href=\"{$switch_url}&amp;type=table\" style=\"font-weight: normal;\">{$lang->table_view}</a> | <strong>{$lang->card_view}</strong>";
}

	{
$switch_view .= "<a href=\"{$switch_url}&amp;type=table\" style=\"font-weight: normal;\">{$lang->table_view}</a> | <strong>{$lang->card_view}</strong>";
}

Zeile 3645Zeile 3670

// 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 3668Zeile 3694
	$built_view .= "<div class=\"{$search_class}\" style=\"padding-bottom: 3px; margin-top: -9px; {$search_style}\">";
$built_view .= $search->generate_hidden_field('action', 'search')."\n";
if(isset($view['conditions']['username']))

	$built_view .= "<div class=\"{$search_class}\" style=\"padding-bottom: 3px; margin-top: -9px; {$search_style}\">";
$built_view .= $search->generate_hidden_field('action', 'search')."\n";
if(isset($view['conditions']['username']))

	{

	{

		$default_class = '';
$value = $view['conditions']['username'];

		$default_class = '';
$value = $view['conditions']['username'];

	}

	}

	else
{
$default_class = "search_default";
$value = $lang->search_for_user;

	else
{
$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";
if($view['popup'])
{

	$built_view .= "<input type=\"submit\" class=\"search_button\" value=\"{$lang->search}\" />\n";
if($view['popup'])
{

Zeile 3691Zeile 3717
			{
search.focus();
return false;

			{
search.focus();
return false;

			}

			}

		});

var search = $(\"#search_keywords\");

		});

var search = $(\"#search_keywords\");

Zeile 3727Zeile 3753
	// TODO Select2

$built_view .= $search->end();

	// TODO Select2

$built_view .= $search->end();


if(isset($pagination))
{
$built_view .= $pagination;


if(isset($pagination))
{
$built_view .= $pagination;

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

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

Zeile 3745Zeile 3771
	{
$built_view .= $pagination;
}

	{
$built_view .= $pagination;
}





	$built_view .= '
<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1800"></script>
<form action="index.php?module=user-users" method="post">

	$built_view .= '
<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1800"></script>
<form action="index.php?module=user-users" method="post">

Zeile 3775Zeile 3801

return $built_view;
}


return $built_view;
}





/**
* @param array $user
* @param array $view

/**
* @param array $user
* @param array $view

Zeile 3789Zeile 3815

++$i;
if($i == 3)


++$i;
if($i == 3)

	{

	{

		$i = 1;
}


		$i = 1;
}


Zeile 3797Zeile 3823
	foreach($view['fields'] as $field)
{
if(!$user_view_fields[$field])

	foreach($view['fields'] as $field)
{
if(!$user_view_fields[$field])

		{

		{

			continue;
}


			continue;
}


Zeile 3811Zeile 3837
		else if($field == "controls")
{
$controls = $user['view']['controls'];

		else if($field == "controls")
{
$controls = $user['view']['controls'];

		}

		}

		// Otherwise, just user data
else if($field != "username")
{
if(isset($user['view'][$field]))
{
$value = $user['view'][$field];

		// Otherwise, just user data
else if($field != "username")
{
if(isset($user['view'][$field]))
{
$value = $user['view'][$field];

			}

			}

			else
{
$value = $user[$field];

			else
{
$value = $user[$field];

Zeile 3847Zeile 3873
	$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 = "<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 .= "<div class=\"user_avatar\">{$avatar}</div>\n";

		$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";

	}

	}

	if($user_details)
{
$card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";

	if($user_details)
{
$card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";

	}

	}

	if($controls)
{
$card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n";
}
$card .= "</fieldset>";
return $card;

	if($controls)
{
$card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n";
}
$card .= "</fieldset>";
return $card;





}

/**

}

/**

Zeile 3881Zeile 3907
		$view_field = $user_view_fields[$field];
$field_options = array();
if($view_field['align'])

		$view_field = $user_view_fields[$field];
$field_options = array();
if($view_field['align'])

		{

		{

			$field_options['class'] = "align_".$view_field['align'];
}
if($user['view'][$field])

			$field_options['class'] = "align_".$view_field['align'];
}
if($user['view'][$field])

Zeile 3903Zeile 3929
	$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 3958Zeile 3957
		switch($type)
{
case "multiselect":

		switch($type)
{
case "multiselect":

 
				$selected_options = array();

				if(!is_array($values[$field_name]))

				if(!is_array($values[$field_name]))

				{

				{

					$user_options = explode("\n", $values[$field_name]);
}
else

					$user_options = explode("\n", $values[$field_name]);
}
else

Zeile 3967Zeile 3967
					$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);

				}


				}


				$select_options = explode("\n", $options);
$options = array();
if($search == true)

				$select_options = explode("\n", $options);
$options = array();
if($search == true)

Zeile 3980Zeile 3980
					$select_options[''] = $lang->na;
}


					$select_options[''] = $lang->na;
}


				foreach($select_options as $val)

				foreach($select_options as $val)

				{
$val = htmlspecialchars_uni(trim($val));
$options[$val] = $val;

				{
$val = htmlspecialchars_uni(trim($val));
$options[$val] = $val;

Zeile 3993Zeile 3993
				break;
case "select":
$select_options = array();

				break;
case "select":
$select_options = array();

				if($search == true)
{

				if($search == true)
{

					$select_options[''] = $lang->na;
}
$select_options += explode("\n", $options);

					$select_options[''] = $lang->na;
}
$select_options += explode("\n", $options);

Zeile 4007Zeile 4007
				if(!$profile_field['length'])
{
$profile_field['length'] = 1;

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

				}
if($search == true)
{

				}
if($search == true)
{

					$code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
}
else

					$code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
}
else

Zeile 4029Zeile 4029
				{
$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 4111Zeile 4114
	}

$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 4125Zeile 4128

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

Zeile 4148Zeile 4150

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


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

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

		{

		{

			$profile_fields['required'][] = $profile_field;

			$profile_fields['required'][] = $profile_field;

		}

		}

		else
{
$profile_fields['optional'][] = $profile_field;

		else
{
$profile_fields['optional'][] = $profile_field;

		}
}

		}
}


output_custom_profile_fields($profile_fields['required'], $input['profile_fields'], $form_container, $form, true);
output_custom_profile_fields($profile_fields['optional'], $input['profile_fields'], $form_container, $form, true);


output_custom_profile_fields($profile_fields['required'], $input['profile_fields'], $form_container, $form, true);
output_custom_profile_fields($profile_fields['optional'], $input['profile_fields'], $form_container, $form, true);

Zeile 4207Zeile 4209
});
// -->
</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)
{
$db->update_query('threads', array('numratings' => 'numratings-'.count($ratings), 'totalratings' => 'totalratings-'.array_sum($ratings)), "tid='{$tid}'", 1, true);
}
}

}

}