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

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 254Zeile 254
	my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);

// Log admin action

	my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);

// Log admin action

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

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


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


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

Zeile 359Zeile 359
			$plugins->run_hooks("admin_user_users_add_commit");

// Log admin action

			$plugins->run_hooks("admin_user_users_add_commit");

// Log admin action

			log_admin_action($user_info['uid'], htmlspecialchars_uni($user_info['username']));

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


flash_message($lang->success_user_created, 'success');
admin_redirect("index.php?module=user-users&action=edit&uid={$user_info['uid']}");


flash_message($lang->success_user_created, 'success');
admin_redirect("index.php?module=user-users&action=edit&uid={$user_info['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 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 843Zeile 843
				}

// Log admin action

				}

// Log admin action

				log_admin_action($user['uid'], htmlspecialchars_uni($mybb->input['username']));

				log_admin_action($user['uid'], $mybb->input['username']);


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

		}
}


		}
}


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

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

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

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

	}

$tabs = array(

	}

$tabs = array(

Zeile 1024Zeile 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 1114Zeile 1115

$username = htmlspecialchars_uni($user['username']);
$table->output("{$lang->user_overview}: {$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 1160Zeile 1162
	$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 1221Zeile 1222
		$form_container->end();
}


		$form_container->end();
}


 
	$plugins->run_hooks("admin_user_users_edit_profile");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1250Zeile 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 1346Zeile 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 1480Zeile 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 1545Zeile 1549
		$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->output_row($lang->or_specify_avatar_url, "", $form->generate_text_box('avatar_url', $avatar_url, array('id' => 'avatar_url')), 'avatar_url');
}
$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_avatar");

	echo "</div>\n";

//

	echo "</div>\n";

//

Zeile 1644Zeile 1649


$form_container->end();



$form_container->end();

 
	$plugins->run_hooks("admin_user_users_edit_moderator_options");

	echo "</div>\n";

$plugins->run_hooks("admin_user_users_edit_graph");

	echo "</div>\n";

$plugins->run_hooks("admin_user_users_edit_graph");

Zeile 1756Zeile 1762

$plugins->run_hooks("admin_user_users_delete_commit_end");



$plugins->run_hooks("admin_user_users_delete_commit_end");


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

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


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


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

Zeile 1836Zeile 1842
	$user = $db->fetch_array($query);

// Log admin action

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

// Log admin action

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

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


$table = new Table;



$table = new Table;


Zeile 1962Zeile 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 2001Zeile 2009
						continue;
}
}

						continue;
}
}





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

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

Zeile 2082Zeile 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 2096Zeile 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 2109Zeile 2110
			$num = $db->fetch_array($query);
$updated_count = array(
"postnum" => $num['postnum']

			$num = $db->fetch_array($query);
$updated_count = array(
"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 2119Zeile 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 2127Zeile 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();

// Log admin action

			$cache->update_awaitingactivation();

// Log admin action

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

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


// Redirect!
$username = htmlspecialchars_uni($source_user['username']);


// Redirect!
$username = htmlspecialchars_uni($source_user['username']);

Zeile 2139Zeile 2147
			flash_message("<strong>{$username}</strong> {$lang->success_merged} {$destination_username}", "success");
admin_redirect("index.php?module=user-users");
exit;

			flash_message("<strong>{$username}</strong> {$lang->success_merged} {$destination_username}", "success");
admin_redirect("index.php?module=user-users");
exit;

		}

		}

	}

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

	}

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

Zeile 2152Zeile 2160
	{
$page->output_inline_error($errors);
}

	{
$page->output_inline_error($errors);
}





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

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

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

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

Zeile 2167Zeile 2175
	<script type="text/javascript">
<!--
$("#source_username").select2({

	<script type="text/javascript">
<!--
$("#source_username").select2({

		placeholder: "'.$lang->search_for_a_user.'",
minimumInputLength: 2,
multiple: false,
ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper
url: "../xmlhttp.php?action=get_users",
dataType: \'json\',
data: function (term, page) {

		placeholder: "'.$lang->search_for_a_user.'",
minimumInputLength: 2,
multiple: false,
ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper
url: "../xmlhttp.php?action=get_users",
dataType: \'json\',
data: function (term, page) {

				return {
query: term // search term
};

				return {
query: term // search term
};

Zeile 2242Zeile 2250
	{
// Build view options from incoming search options
if($mybb->input['vid'])

	{
// Build view options from incoming search options
if($mybb->input['vid'])

		{
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");
$admin_view = $db->fetch_array($query);
// View does not exist or this view is private and does not belong to the current user
if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
{
unset($admin_view);
}
}

		{
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");
$admin_view = $db->fetch_array($query);
// View does not exist or this view is private and does not belong to the current user
if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
{
unset($admin_view);
}
}


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 2811Zeile 2819
							$db->delete_query("polls", "tid='$tid'");
$db->delete_query("threadsread", "tid='$tid'");
$db->delete_query("threadratings", "tid='$tid'");

							$db->delete_query("polls", "tid='$tid'");
$db->delete_query("threadsread", "tid='$tid'");
$db->delete_query("threadratings", "tid='$tid'");

						}
}

						}
}


// After deleting threads, rebuild the thread counters for the affected threads
if(is_array($prune_array['thread_update']) && count($prune_array['thread_update']) > 0)


// After deleting threads, rebuild the thread counters for the affected threads
if(is_array($prune_array['thread_update']) && count($prune_array['thread_update']) > 0)

Zeile 2822Zeile 2830
						while($thread = $db->fetch_array($query))
{
rebuild_thread_counters($thread['tid']);

						while($thread = $db->fetch_array($query))
{
rebuild_thread_counters($thread['tid']);

						}
}

						}
}


// After updating thread counters, update the affected forum counters
if(is_array($prune_array['forum_update']) && count($prune_array['forum_update']) > 0)


// After updating thread counters, update the affected forum counters
if(is_array($prune_array['forum_update']) && count($prune_array['forum_update']) > 0)

Zeile 2845Zeile 2853
					//log_admin_action();
my_unsetcookie("inlinemod_useracp"); // We've got our users, remove the cookie
flash_message($lang->prune_complete, 'success');

					//log_admin_action();
my_unsetcookie("inlinemod_useracp"); // We've got our users, remove the cookie
flash_message($lang->prune_complete, 'success');

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


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


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


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


Zeile 2862Zeile 2870
			if($errors)
{
$page->output_inline_error($errors);

			if($errors)
{
$page->output_inline_error($errors);

			}

			}


// Display the prune options
$form = new Form("index.php?module=user-users", "post");


// Display the prune options
$form = new Form("index.php?module=user-users", "post");

Zeile 2883Zeile 2891
			// Generate a list of months (1 - 12)
$month_options = array();
$month_options[] = "&nbsp;";

			// Generate a list of months (1 - 12)
$month_options = array();
$month_options[] = "&nbsp;";

			for($i = 1; $i <= 12; ++$i)

			for($i = 1; $i <= 12; ++$i)

			{
$string = "month_{$i}";
$month_options[] = $lang->$string;

			{
$string = "month_{$i}";
$month_options[] = $lang->$string;

Zeile 3092Zeile 3100
			update_admin_session('from', '');
admin_redirect("index.php");
exit;

			update_admin_session('from', '');
admin_redirect("index.php");
exit;

		}
else

		}
else

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

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

Zeile 3227Zeile 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 3604Zeile 3612
				$user['view']['warninglevel'] = get_colored_warning_level($warning_level);
}


				$user['view']['warninglevel'] = get_colored_warning_level($warning_level);
}


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

			$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));

			$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));


if($view['view_type'] == "card")
{
$users .= build_user_view_card($user, $view, $i);


if($view['view_type'] == "card")
{
$users .= build_user_view_card($user, $view, $i);

			}

			}

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

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

		}


		}


		// If card view, we need to output the results
if($view['view_type'] == "card")
{

		// If card view, we need to output the results
if($view['view_type'] == "card")
{

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

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

	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 .= "</div>";

// Do we need to construct the pagination?

	$switch_view .= "</div>";

// Do we need to construct the pagination?

Zeile 3681Zeile 3677
		$search_style = "";
}
else

		$search_style = "";
}
else

	{

	{

		$search_class = '';
$search_style = "text-align: right;";
}

		$search_class = '';
$search_style = "text-align: right;";
}

Zeile 3689Zeile 3685
	$search_action = $view['url'];
// stop &username= in the query string
if($view_upos = strpos($search_action, '&amp;username='))

	$search_action = $view['url'];
// stop &username= in the query string
if($view_upos = strpos($search_action, '&amp;username='))

	{

	{

		$search_action = substr($search_action, 0, $view_upos);
}
$search_action = str_replace("&amp;", "&", $search_action);

		$search_action = substr($search_action, 0, $view_upos);
}
$search_action = str_replace("&amp;", "&", $search_action);

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

Zeile 3763Zeile 3759
		$built_view .= $pagination;
}
if($view['view_type'] != "card")

		$built_view .= $pagination;
}
if($view['view_type'] != "card")

	{
$checkbox = '';
}

	{
$checkbox = '';
}

	else
{
$checkbox = "<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this)\" /> ";

	else
{
$checkbox = "<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this)\" /> ";

Zeile 3824Zeile 3820
	}

// Loop through fields user wants to show

	}

// Loop through fields user wants to show

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

$view_field = $user_view_fields[$field];


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

$view_field = $user_view_fields[$field];


		// Special conditions for avatar
if($field == "avatar")
{
$avatar = $user['view']['avatar'];

		// Special conditions for avatar
if($field == "avatar")
{
$avatar = $user['view']['avatar'];

		}

		}

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

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

		}

		}

		// Otherwise, just user data
else if($field != "username")
{

		// Otherwise, just user data
else if($field != "username")
{

Zeile 3852Zeile 3848
			else
{
$value = $user[$field];

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

			}


			}


			if($field == "postnum")
{
$value = my_number_format($value);

			if($field == "postnum")
{
$value = my_number_format($value);

Zeile 3865Zeile 3861
	}
// Floated to the left or right?
if($i == 1)

	}
// Floated to the left or right?
if($i == 1)

	{

	{

		$float = "left";
}
else

		$float = "left";
}
else

	{

	{

		$float = "right";
}


		$float = "right";
}


Zeile 3877Zeile 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";
}
if($user_details)

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

	{

	{

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

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

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

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





}

/**

}

/**

Zeile 3899Zeile 3895
 * @param DefaultTable $table
*/
function build_user_view_table($user, $view, &$table)

 * @param DefaultTable $table
*/
function build_user_view_table($user, $view, &$table)

{

{

	global $user_view_fields;

foreach($view['fields'] as $field)

	global $user_view_fields;

foreach($view['fields'] as $field)

Zeile 3924Zeile 3920
		}

if($field == "postnum")

		}

if($field == "postnum")

		{

		{

			$value = my_number_format($user[$field]);
}
$table->construct_cell($value, $field_options);

			$value = my_number_format($user[$field]);
}
$table->construct_cell($value, $field_options);

Zeile 3933Zeile 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,
);

global $mybb;

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) = explode("|", $user['avatardimensions']);
$scaled_dimensions = scale_image($width, $height, $max_width, $max_height);
}
}

return array("width" => $scaled_dimensions['width'], "height" => $scaled_dimensions['height']);

 
}

/**

}

/**

Zeile 3990Zeile 3957
		switch($type)
{
case "multiselect":

		switch($type)
{
case "multiselect":

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);
}


				$selected_options = array();
if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);
}

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


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


				$selected_options = array();

				

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

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

Zeile 4061Zeile 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]);

				if(!is_array($values[$field_name]))
{
$user_options = explode("\n", $values[$field_name]);

				}

				}

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

				else
{
$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;

				}

				}

				$select_options += explode("\n", $options);
$code = '';
foreach($select_options as $val)

				$select_options += explode("\n", $options);
$code = '';
foreach($select_options as $val)

				{

				{

					$val = trim($val);
$code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />";
}

					$val = trim($val);
$code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />";
}

Zeile 4097Zeile 4068
				}

$code = $form->generate_text_area("profile_fields[{$field_name}]", $values[$field_name], array('id' => "profile_field_{$field_name}", 'rows' => 6, 'cols' => 50)).$extra;

				}

$code = $form->generate_text_area("profile_fields[{$field_name}]", $values[$field_name], array('id' => "profile_field_{$field_name}", 'rows' => 6, 'cols' => 50)).$extra;

				break;

				break;

			default:
$extra = '';
if(isset($mybb->input['action']) && $mybb->input['action'] == "search")

			default:
$extra = '';
if(isset($mybb->input['action']) && $mybb->input['action'] == "search")

Zeile 4157Zeile 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 4239Zeile 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);
}
}

}

}