Vergleich admin/modules/user/users.php - 1.4.2 - 1.4.10

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 1Zeile 1
<?php
/**
* MyBB 1.4

<?php
/**
* MyBB 1.4

 * Copyright � 2008 MyBB Group, All Rights Reserved

 * Copyright © 2008 MyBB Group, All Rights Reserved

 *
* Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 *
* Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * $Id: users.php 4180 2008-09-07 16:44:43Z Tikitiki $

 * $Id: users.php 4555 2009-11-29 00:29:29Z RyanGordon $

 */

// Disallow direct access to this file for security reasons

 */

// Disallow direct access to this file for security reasons

Zeile 165Zeile 165
			$updated_avatar = array(
"avatar" => $db->escape_string($mybb->settings['avatardir']."/".$mybb->input['avatar']),
"avatardimensions" => "{$dimensions[0]}|{$dimensions[1]}",

			$updated_avatar = array(
"avatar" => $db->escape_string($mybb->settings['avatardir']."/".$mybb->input['avatar']),
"avatardimensions" => "{$dimensions[0]}|{$dimensions[1]}",

 


				"avatartype" => "gallery"
);


				"avatartype" => "gallery"
);


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

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

		remove_avatars($mybb->user['uid']);

		remove_avatars($user['uid']);

		// Now a tad of javascript to submit the parent window form
echo "<script type=\"text/javascript\">window.parent.submitUserForm();</script>";
exit;

		// Now a tad of javascript to submit the parent window form
echo "<script type=\"text/javascript\">window.parent.submitUserForm();</script>";
exit;

Zeile 199Zeile 200

$mybb->settings['avatardir'] = "../".$mybb->settings['avatardir'];



$mybb->settings['avatardir'] = "../".$mybb->settings['avatardir'];


 
	if(!is_dir($mybb->settings['avatardir']) && is_dir(MYBB_ROOT."/images/avatars/"))
{
$mybb->settings['avatardir'] = "../images/avatars/";
}


	// Within a gallery

	// Within a gallery

	if($gallery)

	if(!empty($gallery))

	{
$path = $gallery."/";
$real_path = $mybb->settings['avatardir']."/".$path;

	{
$path = $gallery."/";
$real_path = $mybb->settings['avatardir']."/".$path;

		if(is_dir($path))

		if(is_dir($real_path))

		{
// Build friendly gallery breadcrumb
$gallery_path = explode("/", $gallery);

		{
// Build friendly gallery breadcrumb
$gallery_path = explode("/", $gallery);

Zeile 222Zeile 228
				else
{
$breadcrumb .= " &raquo; {$gallery_name}";

				else
{
$breadcrumb .= " &raquo; {$gallery_name}";

				}
}

				}
}

		}
else
{

		}
else
{

Zeile 363Zeile 369

// Move out of awaiting activation if they're in it.
if($user['usergroup'] == 5)


// Move out of awaiting activation if they're in it.
if($user['usergroup'] == 5)

	{

	{

		$updated_user['usergroup'] = 2;
}

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

$plugins->run_hooks("admin_user_users_coppa_activate_commit");

		$updated_user['usergroup'] = 2;
}

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

$plugins->run_hooks("admin_user_users_coppa_activate_commit");





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


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


	if($user['coppauser'])
{
flash_message($lang->success_coppa_activated, 'success');
}
else
{
flash_message($lang->success_activated, 'success');
}


















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

update_admin_session('flash_message2', array('message' => $message, 'type' => 'success'));
}
else
{
if($user['coppauser'])
{
flash_message($lang->success_coppa_activated, 'success');
}
else
{
flash_message($lang->success_activated, 'success');
}
}


	if($admin_session['data']['last_users_url'])
{
$url = $admin_session['data']['last_users_url'];
update_admin_session('last_users_url', '');

	if($admin_session['data']['last_users_url'])
{
$url = $admin_session['data']['last_users_url'];
update_admin_session('last_users_url', '');

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

	}
else
{

	}
else
{

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

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

	}

	}

 
	

	admin_redirect($url);

	admin_redirect($url);

}


}


if($mybb->input['action'] == "add")
{
$plugins->run_hooks("admin_user_users_add");

if($mybb->input['action'] == "add")
{
$plugins->run_hooks("admin_user_users_add");

	
if($mybb->request_method == "post")
{
// Determine the usergroup stuff
if(is_array($mybb->input['additionalgroups']))
{
foreach($mybb->input['additionalgroups'] as $gid)
{
if($gid == $mybb->input['usergroup'])
{
unset($mybb->input['additionalgroups'][$gid]);
}
}
$additionalgroups = implode(",", $mybb->input['additionalgroups']);
}
else
{
$additionalgroups = '';
}

// Set up user handler.

	
if($mybb->request_method == "post")
{
// Determine the usergroup stuff
if(is_array($mybb->input['additionalgroups']))
{
foreach($mybb->input['additionalgroups'] as $gid)
{
if($gid == $mybb->input['usergroup'])
{
unset($mybb->input['additionalgroups'][$gid]);
}
}
$additionalgroups = implode(",", $mybb->input['additionalgroups']);
}
else
{
$additionalgroups = '';
}

// Set up user handler.

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


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


Zeile 443Zeile 471

// Validate the user and get any errors that might have occurred.
if(!$userhandler->validate_user())


// Validate the user and get any errors that might have occurred.
if(!$userhandler->validate_user())

		{

		{

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

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

Zeile 597Zeile 625
			$updated_user['password'] = $mybb->input['new_password'];
$updated_user['password2'] = $mybb->input['confirm_new_password'];
}

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


$updated_user['birthday'] = array(
"day" => $mybb->input['birthday_day'],
"month" => $mybb->input['birthday_month'],
"year" => $mybb->input['birthday_year']
);

 

$updated_user['options'] = array(
"allownotices" => $mybb->input['allownotices'],


$updated_user['options'] = array(
"allownotices" => $mybb->input['allownotices'],

Zeile 652Zeile 674
					"avatardimensions" => "",
"avatartype" => ""
);

					"avatardimensions" => "",
"avatartype" => ""
);

				remove_avatars($mybb->user['uid']);

				remove_avatars($user['uid']);

			}



			}



Zeile 716Zeile 738
				{
if($width && $height && $mybb->settings['maxavatardims'] != "")
{

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

						list($maxwidth, $maxheight) = explode("x", $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);

						if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight))
{
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);

Zeile 902Zeile 924
	}
else
{

	}
else
{

		$percent_posts = round($memprofile['postnum']*100/$posts, 2);;

		$percent_posts = round($user['postnum']*100/$posts, 2);

	}

$user_permissions = user_permissions($user['uid']);

	}

$user_permissions = user_permissions($user['uid']);

Zeile 932Zeile 954
	{
$age = get_age($user['birthday']);
}

	{
$age = get_age($user['birthday']);
}

 


	else
{
$age = '';
}


	else
{
$age = '';
}


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

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

	$table->construct_cell("<strong>{$lang->email_address}:</strong> <a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>");
$table->construct_cell("<strong>{$lang->last_active}:</strong> {$last_active}");
$table->construct_row();
$table->construct_cell("<strong>{$lang->registration_date}:</strong> {$reg_date}");
$table->construct_cell("<strong>{$lang->local_time}:</strong> {$local_time}");

	$table->construct_cell("<strong>{$lang->email_address}:</strong> <a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>");
$table->construct_cell("<strong>{$lang->last_active}:</strong> {$last_active}");
$table->construct_row();
$table->construct_cell("<strong>{$lang->registration_date}:</strong> {$reg_date}");
$table->construct_cell("<strong>{$lang->local_time}:</strong> {$local_time}");

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<strong>{$lang->posts}:</strong> {$user['postnum']}");
$table->construct_cell("<strong>{$lang->age}:</strong> {$age}");
$table->construct_row();
$table->construct_cell("<strong>{$lang->posts_per_day}:</strong> {$posts_per_day}");
$table->construct_cell("<strong>{$lang->reputation}:</strong> {$reputation}");

	$table->construct_cell("<strong>{$lang->posts}:</strong> {$user['postnum']}");
$table->construct_cell("<strong>{$lang->age}:</strong> {$age}");
$table->construct_row();
$table->construct_cell("<strong>{$lang->posts_per_day}:</strong> {$posts_per_day}");
$table->construct_cell("<strong>{$lang->reputation}:</strong> {$reputation}");

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<strong>{$lang->percent_of_total_posts}:</strong> {$percent_posts}");
$table->construct_cell("<strong>{$lang->warning_level}:</strong> {$warning_level}");
$table->construct_row();

	$table->construct_cell("<strong>{$lang->percent_of_total_posts}:</strong> {$percent_posts}");
$table->construct_cell("<strong>{$lang->warning_level}:</strong> {$warning_level}");
$table->construct_row();

Zeile 982Zeile 1005
	if(!is_array($mybb->input['additionalgroups']))
{
$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']);

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

	}


	}


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

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

Zeile 1022Zeile 1045
		$form->generate_check_box("remember", 1, $lang->remember_login_details, array("checked" => $mybb->input['remember']))
);
$form_container->output_row($lang->login_cookies_privacy, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $login_options)."</div>");

		$form->generate_check_box("remember", 1, $lang->remember_login_details, array("checked" => $mybb->input['remember']))
);
$form_container->output_row($lang->login_cookies_privacy, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $login_options)."</div>");








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


	$messaging_options = array(
$form->generate_check_box("allownotices", 1, $lang->recieve_admin_emails, array("checked" => $mybb->input['allownotices'])),
$form->generate_check_box("hideemail", 1, $lang->hide_email_from_others, array("checked" => $mybb->input['hideemail'])),

	$messaging_options = array(
$form->generate_check_box("allownotices", 1, $lang->recieve_admin_emails, array("checked" => $mybb->input['allownotices'])),
$form->generate_check_box("hideemail", 1, $lang->hide_email_from_others, array("checked" => $mybb->input['hideemail'])),

Zeile 1064Zeile 1092
			{
if($tpp <= 0) continue;
$tpp_options[$tpp] = $tpp;

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

			}
}
}


			}
}
}


	$thread_age_options = array(
0 => $lang->use_default,
1 => $lang->show_threads_last_day,

	$thread_age_options = array(
0 => $lang->use_default,
1 => $lang->show_threads_last_day,

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


	);
$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('0' => $lang->use_default), $lang->get_languages());

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


$other_options = array(
$form->generate_check_box("showredirect", 1, $lang->show_redirect, array("checked" => $mybb->input['showredirect'])),


$other_options = array(
$form->generate_check_box("showredirect", 1, $lang->show_redirect, array("checked" => $mybb->input['showredirect'])),

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


	);
$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();
echo "</div>\n";


	$form_container->end();
echo "</div>\n";


	//
// SIGNATURE EDITOR
//

	//
// SIGNATURE EDITOR
//

Zeile 1170Zeile 1198
	$table = new Table;
$table->construct_header($lang->current_avatar, array('colspan' => 2));


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


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

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


if($user['avatartype'] == "upload" || stristr($user['avatar'], $mybb->settings['avataruploadpath']))
{
$current_avatar_msg = "<br /><strong>{$lang->user_current_using_uploaded_avatar}</strong>";


if($user['avatartype'] == "upload" || stristr($user['avatar'], $mybb->settings['avataruploadpath']))
{
$current_avatar_msg = "<br /><strong>{$lang->user_current_using_uploaded_avatar}</strong>";

	}

	}

	else if($user['avatartype'] == "gallery" || stristr($user['avatar'], $mybb->settings['avatardir']))
{
$current_avatar_msg = "<br /><strong>{$lang->user_current_using_gallery_avatar}</strong>";
}
elseif($user['avatartype'] == "remote" || my_strpos(my_strtolower($user['avatar']), "http://") !== false)

	else if($user['avatartype'] == "gallery" || stristr($user['avatar'], $mybb->settings['avatardir']))
{
$current_avatar_msg = "<br /><strong>{$lang->user_current_using_gallery_avatar}</strong>";
}
elseif($user['avatartype'] == "remote" || my_strpos(my_strtolower($user['avatar']), "http://") !== false)

	{

	{

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

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

	}

	}


if($errors)


if($errors)

	{

	{

		$avatar_url = $mybb->input['avatar_url'];

		$avatar_url = $mybb->input['avatar_url'];

	}


	}


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

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

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

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

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


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


Zeile 1201Zeile 1229
	{
$maximum_size = get_friendly_size($mybb->settings['avatarsize']*1024);
$max_size .= "<br />{$lang->avatar_max_size} {$maximum_size}";

	{
$maximum_size = get_friendly_size($mybb->settings['avatarsize']*1024);
$max_size .= "<br />{$lang->avatar_max_size} {$maximum_size}";

	}


	}


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

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

Zeile 1272Zeile 1300
	{
// Delete the user
$db->update_query("posts", array('uid' => 0), "uid='{$user['uid']}'");

	{
// Delete the user
$db->update_query("posts", array('uid' => 0), "uid='{$user['uid']}'");

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

 
		$db->delete_query("userfields", "ufid='{$user['uid']}'");
$db->delete_query("privatemessages", "uid='{$user['uid']}'");
$db->delete_query("events", "uid='{$user['uid']}'");

		$db->delete_query("userfields", "ufid='{$user['uid']}'");
$db->delete_query("privatemessages", "uid='{$user['uid']}'");
$db->delete_query("events", "uid='{$user['uid']}'");

Zeile 1282Zeile 1309
		$db->delete_query("sessions", "uid='{$user['uid']}'");
$db->delete_query("banned", "uid='{$user['uid']}'");
$db->delete_query("threadratings", "uid='{$user['uid']}'");

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

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


// Update forum stats
update_stats(array('numusers' => '-1'));


// Update forum stats
update_stats(array('numusers' => '-1'));

Zeile 1318Zeile 1348
	
// Fetch default admin view
$default_view = fetch_default_view("user");

	
// Fetch default admin view
$default_view = fetch_default_view("user");

 
	if(!$default_view)
{
$default_view = "0";
}

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


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


Zeile 1395Zeile 1429
	$table->construct_cell($controls, array('class' => "align_center"));
$table->construct_row();


	$table->construct_cell($controls, array('class' => "align_center"));
$table->construct_row();


	$query = $db->simple_select("posts", "DISTINCT ipaddress, pid", "uid='{$mybb->input['uid']}'");



	$counter = 0;

$query = $db->simple_select("posts", "DISTINCT ipaddress", "uid='{$mybb->input['uid']}'");

	while($ip = $db->fetch_array($query))
{

	while($ip = $db->fetch_array($query))
{

		if(!$done_ip[$ip['ipaddress']])
{
$popup = new PopupMenu("post_{$ip['pid']}", $lang->options);
$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user/users&amp;results=1&amp;action=search&amp;conditions=".urlencode(serialize(array("regip" => $ip['ipaddress']))));
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user/users&amp;results=1&amp;action=search&amp;conditions=".urlencode(serialize(array("postip" => $ip['ipaddress']))));
$popup->add_item($lang->ban_ip, "index.php?module=config/banning&amp;filter={$ip['ipaddress']}");
$controls = $popup->fetch();

$table->construct_cell($ip['ipaddress']);
$table->construct_cell($controls, array('class' => "align_center"));
$table->construct_row();
$done_ip[$ip['ipaddres']] = 1;
}

		++$counter;
$popup = new PopupMenu("id_{$counter}", $lang->options);
$popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user/users&amp;results=1&amp;action=search&amp;conditions=".urlencode(serialize(array("regip" => $ip['ipaddress']))));
$popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user/users&amp;results=1&amp;action=search&amp;conditions=".urlencode(serialize(array("postip" => $ip['ipaddress']))));
$popup->add_item($lang->ban_ip, "index.php?module=config/banning&amp;filter={$ip['ipaddress']}");
$controls = $popup->fetch();

$table->construct_cell($ip['ipaddress']);
$table->construct_cell($controls, array('class' => "align_center"));
$table->construct_row();




	}

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

	}

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

Zeile 1451Zeile 1484
			);
$query = $db->simple_select("adminoptions", "uid", "uid='{$destination_user['uid']}'");
$existing_admin_options = $db->fetch_field($query, "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)

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

			}

			}

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

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

Zeile 1467Zeile 1500
			$db->update_query("pollvotes", $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("pollvotes", $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("reputation", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("reputation", array('adduid' => $destination_user['uid']), "adduid='{$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("threadratings", $uid_update, "uid='{$source_user['uid']}'");
$db->update_query("threads", $uid_update, "uid='{$source_user['uid']}'");

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

// Merging Reputation
$query = $db->simple_select("reputation", "rid, uid", "adduid = '{$source_user['uid']}' OR adduid = '{$uid_update['uid']}'", array("order_by" => "dateline", "order_dir" => "DESC"));
while($result = $db->fetch_array($query))
{
// Let's try and remove old one if it's the same uid
if($result['uid'] == $last['uid'])
{
$db->delete_query("reputation", "rid = '".$result['rid']."'");
$db->update_query("reputation", array("adduid" => $uid_update['uid']), "rid = '".$last['rid']."'");
}
$last = array(
"rid" => $result['rid'],
"uid" => $result['uid']
);
}

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

// No reputation?
if(!$total_reputation)
{
$total_reputation = '0';
}





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


			// Additional updates for non-uid fields
$last_poster = array(
"lastposteruid" => $destination_user['uid'],

			// Additional updates for non-uid fields
$last_poster = array(
"lastposteruid" => $destination_user['uid'],

Zeile 1496Zeile 1556
			// Delete the old user
$db->delete_query("users", "uid='{$source_user['uid']}'");
$db->delete_query("banned", "uid='{$source_user['uid']}'");

			// Delete the old user
$db->delete_query("users", "uid='{$source_user['uid']}'");
$db->delete_query("banned", "uid='{$source_user['uid']}'");

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

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

			
// Update user post count

			
// Update user post count

			$query = $db->simple_select("posts", "COUNT(*) AS postnum", "uid='".$destination_user['uid']."'");

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

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

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


			update_stats(array('numusers' => '-1'));

$plugins->run_hooks("admin_user_users_merge_commit");

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

			update_stats(array('numusers' => '-1'));

$plugins->run_hooks("admin_user_users_merge_commit");

// Log admin action
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");
admin_redirect("index.php?module=user/users");
exit;
}

			// Redirect!
flash_message("<strong>{$source_user['username']}</strong> {$lang->success_merged} {$destination_user['username']}", "success");
admin_redirect("index.php?module=user/users");
exit;
}

	}

	}


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

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



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

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


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


	// If we have any error messages, show them
if($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_container->output_row($lang->source_account." <em>*</em>", $lang->source_account_desc, $form->generate_text_box('source_username', $mybb->input['source_username'], array('id' => 'source_username')), 'source_username');
$form_container->output_row($lang->destination_account." <em>*</em>", $lang->destination_account_desc, $form->generate_text_box('destination_username', $mybb->input['destination_username'], array('id' => 'destination_username')), 'destination_username');
$form_container->end();

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

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





	// Autocompletion for usernames
echo '
<script type="text/javascript" src="../jscripts/autocomplete.js?ver=140"></script>

	// Autocompletion for usernames
echo '
<script type="text/javascript" src="../jscripts/autocomplete.js?ver=140"></script>

Zeile 1550Zeile 1630
	$buttons[] = $form->generate_submit_button($lang->merge_user_accounts);
$form->output_submit_wrapper($buttons);
$form->end();

	$buttons[] = $form->generate_submit_button($lang->merge_user_accounts);
$form->output_submit_wrapper($buttons);
$form->end();





	$page->output_footer();
}

if($mybb->input['action'] == "search")
{
$plugins->run_hooks("admin_user_users_search");

	$page->output_footer();
}

if($mybb->input['action'] == "search")
{
$plugins->run_hooks("admin_user_users_search");

	

	

	if($mybb->request_method == "post" || $mybb->input['results'] == 1)
{
// Build view options from incoming search options

	if($mybb->request_method == "post" || $mybb->input['results'] == 1)
{
// Build view options from incoming search options

Zeile 1570Zeile 1650
			{
unset($admin_view);
}

			{
unset($admin_view);
}

		}


		}


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

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

Zeile 1583Zeile 1663
			if(!$admin_view['vid'])
{
$default_view = fetch_default_view("user");

			if(!$admin_view['vid'])
{
$default_view = fetch_default_view("user");

 
				if(!$default_view)
{
$default_view = "0";
}

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

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

			}

			}

		}

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

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

		}

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

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

		{

		{

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

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

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

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

		}

		}

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

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

		{

		{

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


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


Zeile 1612Zeile 1696
		}

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

		}

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

		{

		{

			$admin_view['sortorder'] = $mybb->input['order'];
}

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

			$admin_view['sortorder'] = $mybb->input['order'];
}

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

		}

		}


$results = build_users_view($admin_view);



$results = build_users_view($admin_view);


Zeile 1630Zeile 1714
			$page->output_nav_tabs($sub_tabs, 'find_users');
echo $results;
$page->output_footer();

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

		}

		}

		else
{

		else
{

			$errors[] = $lang->error_no_users_found;










			if($mybb->input['from'] == "home")
{
flash_message($lang->error_no_users_found, 'error');
admin_redirect("index.php");
exit;
}
else
{
$errors[] = $lang->error_no_users_found;
}

		}
}

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

		}
}

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

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

	
$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 1706Zeile 1799
		if(!$admin_view)
{
$default_view = fetch_default_view("user");

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

 
			if(!$default_view)
{
$default_view = "0";
}

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

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

	}


	}


	// Fetch a list of all of the views for this user
$popup = new PopupMenu("views", $lang->views);


	// Fetch a list of all of the views for this user
$popup = new PopupMenu("views", $lang->views);


Zeile 1723Zeile 1820
	$admin_view['popup'] = $popup->fetch();

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

	$admin_view['popup'] = $popup->fetch();

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

	{

	{

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

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

	}

$results = build_users_view($admin_view);

	}

$results = build_users_view($admin_view);


if(!$results)


if(!$results)

	{












	{
// If we came from the home page and clicked on the "Activate Users" link, send them back to here
if($admin_session['data']['from'] == "home")
{
flash_message($admin_session['data']['flash_message2']['message'], $admin_session['data']['flash_message2']['type']);
update_admin_session('flash_message2', '');
update_admin_session('from', '');
admin_redirect("index.php");
exit;
}
else
{

			$errors[] = $lang->error_no_users_found;

			$errors[] = $lang->error_no_users_found;

 
		}

	}

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

	}

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

 
		echo "<div style=\"display: inline; float: right;\">{$admin_view['popup']}</div><br />\n";

		$page->output_inline_error($errors);
}


		$page->output_inline_error($errors);
}


Zeile 1744Zeile 1854

$page->output_footer();
}


$page->output_footer();
}





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

if($view['title'])

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

if($view['title'])

	{

	{

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

if($lang->$title_string)

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

if($lang->$title_string)

Zeile 1804Zeile 1914
	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']));

	}

$table = new Table;







	}

// Do we not have any views?
if(empty($view))
{
return false;
}

$table = new Table;


// Build header for table based view
if($view['view_type'] != "card")


// Build header for table based view
if($view['view_type'] != "card")

Zeile 1884Zeile 2000
	{
if($view['conditions'][$search_field])
{

	{
if($view['conditions'][$search_field])
{

			$view['conditions'][$search_field] = str_replace("*", "%", $view['conditions'][$search_field]);


 
			// IPv6 IP
if(strpos($view['conditions'][$search_field], ":") !== false)
{

			// IPv6 IP
if(strpos($view['conditions'][$search_field], ":") !== false)
{

 
				$view['conditions'][$search_field] = str_replace("*", "%", $view['conditions'][$search_field]);

				$ip_sql = "{$search_field} LIKE '".$db->escape_string($view['conditions'][$search_field])."'";

				$ip_sql = "{$search_field} LIKE '".$db->escape_string($view['conditions'][$search_field])."'";

			}
else
{

			}
else
{

				$ip_range = fetch_longipv4_range($view['conditions'][$search_field]);
if(!is_array($ip_range))

				$ip_range = fetch_longipv4_range($view['conditions'][$search_field]);
if(!is_array($ip_range))

				{

				{

					$ip_sql = "long{$search_field}='{$ip_range}'";

					$ip_sql = "long{$search_field}='{$ip_range}'";

				}

				}

				else
{
$ip_sql = "long{$search_field} > '{$ip_range[0]}' AND long{$search_field} < '{$ip_range[1]}'";
}

				else
{
$ip_sql = "long{$search_field} > '{$ip_range[0]}' AND long{$search_field} < '{$ip_range[1]}'";
}

			}

			}

			$search_sql .= " AND {$ip_sql}";
}

			$search_sql .= " AND {$ip_sql}";
}

 
	}

// Post IP searching
if($view['conditions']['postip'])
{
// IPv6 IP
if(strpos($view['conditions']['postip'], ":") !== false)
{
$view['conditions']['postip'] = str_replace("*", "%", $view['conditions']['postip']);
$ip_sql = "ipaddress LIKE '".$db->escape_string($view['conditions']['postip'])."'";
}
else
{
$ip_range = fetch_longipv4_range($view['conditions']['postip']);
if(!is_array($ip_range))
{
$ip_sql = "longipaddress='{$ip_range}'";
}
else
{
$ip_sql = "longipaddress > '{$ip_range[0]}' AND longipaddress < '{$ip_range[1]}'";
}
}
$ip_uids = array(0);
$query = $db->simple_select("posts", "uid", $ip_sql);
while($uid = $db->fetch_field($query, "uid"))
{
$ip_uids[] = $uid;
}
$search_sql .= " AND u.uid IN(".implode(',', $ip_uids).")";
unset($ip_uids);

	}

// Usergroup based searching

	}

// Usergroup based searching

Zeile 1923Zeile 2069
				case "sqlite3":
case "sqlite2":
$additional_sql .= " OR ','||additionalgroups||',' LIKE '%,{$usergroup},%'";

				case "sqlite3":
case "sqlite2":
$additional_sql .= " OR ','||additionalgroups||',' LIKE '%,{$usergroup},%'";

 
					break;

				default:
$additional_sql .= "OR CONCAT(',',additionalgroups,',') LIKE '%,{$usergroup},%'";
}

				default:
$additional_sql .= "OR CONCAT(',',additionalgroups,',') LIKE '%,{$usergroup},%'";
}

Zeile 1974Zeile 2121
		{
$start = 0;
$mybb->input['page'] = 1;

		{
$start = 0;
$mybb->input['page'] = 1;

 
		}

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

		}

switch($view['sortby'])

		}

switch($view['sortby'])

Zeile 2032Zeile 2185
			{
if($user['coppauser'])
{

			{
if($user['coppauser'])
{

					$popup->add_item($lang->approve_coppa_user, "index.php?module=user/users&amp;action=activate_user&amp;uid={$user['uid']}");

					$popup->add_item($lang->approve_coppa_user, "index.php?module=user/users&amp;action=activate_user&amp;uid={$user['uid']}{$from_bit}");

				}
else
{

				}
else
{

					$popup->add_item($lang->approve_user, "index.php?module=user/users&amp;action=activate_user&amp;uid={$user['uid']}");

					$popup->add_item($lang->approve_user, "index.php?module=user/users&amp;action=activate_user&amp;uid={$user['uid']}{$from_bit}");

				}
}


				}
}


Zeile 2082Zeile 2235
			{
$user['avatar'] = "styles/{$page->style}/images/default_avatar.gif";
}

			{
$user['avatar'] = "styles/{$page->style}/images/default_avatar.gif";
}

			$user['view']['avatar'] = "<img src=\"{$user['avatar']}\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";

			$user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";


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


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

Zeile 2416Zeile 2569
				foreach($select_options as $val)
{
$val = trim($val);

				foreach($select_options as $val)
{
$val = trim($val);

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

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

				}
break;
case "textarea":

				}
break;
case "textarea":