Vergleich admin/modules/user/users.php - 1.8.19 - 1.8.26

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 317Zeile 317
					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 454Zeile 454
					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 512Zeile 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'],

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

 
			"skype" => $mybb->input['skype'],
"google" => $mybb->input['google'],
"birthday" => array(

			"skype" => $mybb->input['skype'],
"google" => $mybb->input['google'],
"birthday" => array(

Zeile 929Zeile 928

$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=1819"></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=1822"></script>
<script type="text/javascript" src="../jscripts/bbcodes_sceditor.js?ver=1824"></script>
<script type="text/javascript" src="../jscripts/sceditor/plugins/undo.js?ver=1805"></script>

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


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


Zeile 978Zeile 977

// Avatar
$avatar_dimensions = preg_split('/[|x]/', $user['avatardimensions']);


// Avatar
$avatar_dimensions = preg_split('/[|x]/', $user['avatardimensions']);

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














	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
);
}
if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars']))

	{

	{

		if($user['avatardimensions'])

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

		{

		{

			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
);
}
if(!my_validate_url($user['avatar']))
{
$user['avatar'] = "../{$user['avatar']}\n";

			$avatar = format_avatar($user['avatar'], $user['avatardimensions']);
$user['avatar'] = $avatar['image'];













		}
}
else
{
if(my_validate_url($mybb->settings['useravatar']))

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

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

 
	}
$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 1083Zeile 1080
			$warning_level = 100;
}
$warning_level = get_colored_warning_level($warning_level);

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

	}

	}


$age = $lang->na;
if($user['birthday'])


$age = $lang->na;
if($user['birthday'])

Zeile 1162Zeile 1159
	$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->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->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 1223Zeile 1219
	}

$plugins->run_hooks("admin_user_users_edit_profile");

	}

$plugins->run_hooks("admin_user_users_edit_profile");

	echo "</div>\n";

//
// ACCOUNT SETTINGS
//

	echo "</div>\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 :>



	//
// ACCOUNT SETTINGS
//


echo "<div id=\"tab_settings\">\n";
$form_container = new FormContainer($lang->account_settings.': '.htmlspecialchars_uni($user['username']));


echo "<div id=\"tab_settings\">\n";
$form_container = new FormContainer($lang->account_settings.': '.htmlspecialchars_uni($user['username']));

Zeile 1254Zeile 1248
		$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_notification, $lang->instant_email_notification, $lang->instant_pm_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod'))
);

		$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_notification, $lang->instant_email_notification, $lang->instant_pm_notification), $mybb->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);
foreach($date_formats as $key => $format)

	$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);
foreach($date_formats as $key => $format)

	{

	{

		$date_format_options[$key] = my_date($format, TIME_NOW, "", 0);
}


		$date_format_options[$key] = my_date($format, TIME_NOW, "", 0);
}


Zeile 1274Zeile 1273
		"<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=\"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'))
);

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







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



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



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

Zeile 1282Zeile 1286
	{
$explodedtpp = explode(",", $mybb->settings['usertppoptions']);
if(is_array($explodedtpp))

	{
$explodedtpp = explode(",", $mybb->settings['usertppoptions']);
if(is_array($explodedtpp))

		{

		{

			foreach($explodedtpp as $tpp)
{
if($tpp <= 0) continue;
$tpp_options[$tpp] = $tpp;

			foreach($explodedtpp as $tpp)
{
if($tpp <= 0) continue;
$tpp_options[$tpp] = $tpp;

			}
}

			}
}

	}

$thread_age_options = array(

	}

$thread_age_options = array(

Zeile 1308Zeile 1312
		"<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->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'))
);

 

// 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 1322Zeile 1331
				$ppp_options[$ppp] = $ppp;
}
}

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

	}


	}


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

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

Zeile 1334Zeile 1343
		"<label for=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->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=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->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'))
);

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







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



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


Zeile 1345Zeile 1359
		"<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'))
);

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

 

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

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

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

	}

	}

	$sig_mycode = $lang->off;
if($mybb->settings['sigmycode'] == 1)
{

	$sig_mycode = $lang->off;
if($mybb->settings['sigmycode'] == 1)
{

Zeile 1370Zeile 1389
	if($mybb->settings['sightml'] == 1)
{
$sig_html = $lang->on;

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

	}

	}

	$sig_imgcode = $lang->off;
if($mybb->settings['sigimgcode'] == 1)
{

	$sig_imgcode = $lang->off;
if($mybb->settings['sigimgcode'] == 1)
{

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

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

			$expired = nice_time($remaining, array('seconds' => false));

$color = 'inherit';
if($remaining < 3600)
{
$color = 'red';
}
elseif($remaining < 86400)
{
$color = 'maroon';
}
elseif($remaining < 604800)
{
$color = 'green';
}


			$expired = nice_time($remaining, array('seconds' => false));

$color = 'inherit';
if($remaining < 3600)
{
$color = 'red';
}
elseif($remaining < 86400)
{
$color = 'maroon';
}
elseif($remaining < 604800)
{
$color = 'green';
}


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

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

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

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





		// Delete the user
if(!$userhandler->delete_user($user['uid']))
{

		// Delete the user
if(!$userhandler->delete_user($user['uid']))
{

Zeile 1768Zeile 1787
		admin_redirect("index.php?module=user-users");
}
else

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

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

Zeile 1798Zeile 1817
	$admin_view = $db->fetch_array($query);

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

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

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

	{

	{

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

$admin_view['conditions'] = my_unserialize($admin_view['conditions']);
$admin_view['conditions']['referrer'] = $mybb->input['uid'];

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

$admin_view['conditions'] = my_unserialize($admin_view['conditions']);
$admin_view['conditions']['referrer'] = $mybb->input['uid'];





	$view = build_users_view($admin_view);

// No referred users

	$view = build_users_view($admin_view);

// No referred users

Zeile 1822Zeile 1841

$page->output_footer();
}


$page->output_footer();
}





if($mybb->input['action'] == "ipaddresses")
{
$page->add_breadcrumb_item($lang->ip_addresses);

if($mybb->input['action'] == "ipaddresses")
{
$page->add_breadcrumb_item($lang->ip_addresses);

Zeile 1840Zeile 1859

$query = $db->simple_select("users", "uid, regip, username, lastip", "uid='{$mybb->input['uid']}'", array('limit' => 1));
$user = $db->fetch_array($query);


$query = $db->simple_select("users", "uid, regip, username, lastip", "uid='{$mybb->input['uid']}'", array('limit' => 1));
$user = $db->fetch_array($query);





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

$table = new Table;

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

$table = new Table;





	$table->construct_header($lang->ip_address);
$table->construct_header($lang->controls, array('width' => 200, 'class' => "align_center"));


	$table->construct_header($lang->ip_address);
$table->construct_header($lang->controls, array('width' => 200, 'class' => "align_center"));


Zeile 1918Zeile 1937

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


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

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

		foreach(array('source', 'destination') as $target)


		{

		{

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

			${$target.'_user'} = get_user_by_username($mybb->input[$target.'_username'], array('fields' => '*'));
if(!${$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($source_user['uid'] == $destination_user['uid'] && !empty($source_user['uid']))

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

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

Zeile 1947Zeile 1963
			// Begin to merge the accounts
$uid_update = array(
"uid" => $destination_user['uid']

			// Begin to merge the accounts
$uid_update = array(
"uid" => $destination_user['uid']

			);

			);

			$query = $db->simple_select("adminoptions", "uid", "uid='{$destination_user['uid']}'");
$existing_admin_options = $db->fetch_field($query, "uid");

// Only carry over admin options/permissions if we don't already have them
if(!$existing_admin_options)

			$query = $db->simple_select("adminoptions", "uid", "uid='{$destination_user['uid']}'");
$existing_admin_options = $db->fetch_field($query, "uid");

// Only carry over admin options/permissions if we don't already have them
if(!$existing_admin_options)

			{

			{

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


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


Zeile 1978Zeile 1994

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

 

// 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...
$db->update_query("reputation", array("adduid" => $destination_user['uid']), "adduid = '".$source_user['uid']."'");
$db->update_query("reputation", array("uid" => $destination_user['uid']), "uid = '".$source_user['uid']."'");


// Merging Reputation
// First, let's change all the details over to our new user...
$db->update_query("reputation", array("adduid" => $destination_user['uid']), "adduid = '".$source_user['uid']."'");
$db->update_query("reputation", array("uid" => $destination_user['uid']), "uid = '".$source_user['uid']."'");





			// Now that all the repuation is merged, figure out what to do with this user's comments...
$options = array(
"order_by" => "uid",

			// Now that all the repuation is merged, figure out what to do with this user's comments...
$options = array(
"order_by" => "uid",

Zeile 1995Zeile 2023
			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'])

				{

				{

					// Multiple reputation is disallowed, and this isn't a post, so let's remove this comment
$to_remove[] = $rep['rid'];
}

					// Multiple reputation is disallowed, and this isn't a post, so let's remove this comment
$to_remove[] = $rep['rid'];
}

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

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





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

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

Zeile 2107Zeile 2135

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

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

Zeile 2120Zeile 2148
				"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'])
{
$db->update_query("users", array('regdate' => $source_user['regdate']), "uid='{$destination_user['uid']}'");
}

			// Use the earliest registration date
if($destination_user['regdate'] > $source_user['regdate'])
{
$db->update_query("users", array('regdate' => $source_user['regdate']), "uid='{$destination_user['uid']}'");
}





			$plugins->run_hooks("admin_user_users_merge_commit");

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

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

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

$cache->update_awaitingactivation();





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


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


Zeile 2505Zeile 2533
				{
$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 2584Zeile 2611
							'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 2606Zeile 2633
					$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 2902Zeile 2928

$prune_select = $date_box.$month_box.$year_box;
$form_container->output_row($lang->manual_date, "", $prune_select, 'date');


$prune_select = $date_box.$month_box.$year_box;
$form_container->output_row($lang->manual_date, "", $prune_select, 'date');





			// Generate the set date box
$set_options = array();
$set_options[] = $lang->set_an_option;

			// Generate the set date box
$set_options = array();
$set_options[] = $lang->set_an_option;

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

	$user_like_fields = array("username", "email", "website", "icq", "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 3556Zeile 3582
			$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 3569Zeile 3603
				// Yes, so do we want to edit the ban or pardon his crime?
$popup->add_item($lang->edit_ban, "index.php?module=user-banning&amp;uid={$user['uid']}#username");
$popup->add_item($lang->lift_ban, "index.php?module=user-banning&action=lift&uid={$user['uid']}&my_post_key={$mybb->post_code}");

				// Yes, so do we want to edit the ban or pardon his crime?
$popup->add_item($lang->edit_ban, "index.php?module=user-banning&amp;uid={$user['uid']}#username");
$popup->add_item($lang->lift_ban, "index.php?module=user-banning&action=lift&uid={$user['uid']}&my_post_key={$mybb->post_code}");

			}
else

			}
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 3583Zeile 3617
					$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_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}");
}
}

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

Zeile 3609Zeile 3643
				if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;

				if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;

				}


				}


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

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

			}

			}


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


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

			{

			{

				$max_dimensions = '80x80';

				$max_dimensions = '80x80';

			}
else
{

			}
else
{

				$max_dimensions = '34x34';
}

$avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);


				$max_dimensions = '34x34';
}

$avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);


			$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";


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

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

			// 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);
}
else

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

Zeile 3664Zeile 3698
	if($mybb->input['page'] > 0)
{
$switch_url .= "&amp;page=".$mybb->get_input('page', MyBB::INPUT_INT);

	if($mybb->input['page'] > 0)
{
$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>";

Zeile 3718Zeile 3752
	}
$built_view .= "<script type=\"text/javascript\">
var form = $(\"#search_form\");

	}
$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 3736Zeile 3770
				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 3760Zeile 3792
	// 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 3780Zeile 3812
	}

$built_view .= '

	}

$built_view .= '

<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1818"></script>

<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1821"></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 3877Zeile 3909
	}

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

	$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($avatar)
{
$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";

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

Zeile 3893Zeile 3930
	}
$card .= "</fieldset>";
return $card;

	}
$card .= "</fieldset>";
return $card;





}

/**

}

/**

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

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

		{

		{

			continue;
}
$view_field = $user_view_fields[$field];

			continue;
}
$view_field = $user_view_fields[$field];

Zeile 3947Zeile 3984
 */
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))
{

Zeile 3974Zeile 4011
					$user_options = $values[$field_name];
}


					$user_options = $values[$field_name];
}


				



				foreach($user_options as $val)
{
$selected_options[$val] = htmlspecialchars_uni($val);

				foreach($user_options as $val)
{
$selected_options[$val] = htmlspecialchars_uni($val);

Zeile 4048Zeile 4085
				{
$user_options = $values[$field_name];
}

				{
$user_options = $values[$field_name];
}

				



				$selected_options = array();
foreach($user_options as $val)
{
$selected_options[$val] = $val;
}

				$selected_options = array();
foreach($user_options as $val)
{
$selected_options[$val] = $val;
}

				



				if($search == true)
{
$select_options[''] = $lang->na;

				if($search == true)
{
$select_options[''] = $lang->na;

Zeile 4135Zeile 4172

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