Zeile 437 | Zeile 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 627 | Zeile 628 |
---|
// Are we setting a new avatar from a URL? else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar']) {
|
// Are we setting a new avatar from a URL? else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar']) {
|
if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false)
| if(!$mybb->settings['allowremoteavatars'])
|
{
|
{
|
// Gravatar $email = md5(strtolower(trim($mybb->input['avatar_url'])));
$s = ''; if(!$mybb->settings['maxavatardims']) { $mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits }
// Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
$s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
$extra_user_updates = array( "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar" );
| $errors = array($lang->error_remote_avatar_not_allowed);
|
} else {
|
} else {
|
$mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']); $ext = get_extension($mybb->input['avatar_url']);
| if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false) { // Gravatar $email = md5(strtolower(trim($mybb->input['avatar_url'])));
$s = ''; if(!$mybb->settings['maxavatardims']) { $mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits }
// Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
$s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
|
|
|
// Copy the avatar to the local server (work around remote URL access disabled for getimagesize) $file = fetch_remote_file($mybb->input['avatar_url']); if(!$file) { $avatar_error = $lang->error_invalidavatarurl; } else { $tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp)
| $extra_user_updates = array( "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar" ); } else { $mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']); $ext = get_extension($mybb->input['avatar_url']);
// Copy the avatar to the local server (work around remote URL access disabled for getimagesize) $file = fetch_remote_file($mybb->input['avatar_url']); if(!$file)
|
{ $avatar_error = $lang->error_invalidavatarurl; } else
|
{ $avatar_error = $lang->error_invalidavatarurl; } else
|
{ fwrite($fp, $file); fclose($fp); list($width, $height, $type) = @getimagesize($tmp_name); @unlink($tmp_name); echo $type; if(!$type) { $avatar_error = $lang->error_invalidavatarurl;
| { $tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp) { $avatar_error = $lang->error_invalidavatarurl; } else { fwrite($fp, $file); fclose($fp); list($width, $height, $type) = @getimagesize($tmp_name); @unlink($tmp_name); echo $type; if(!$type) { $avatar_error = $lang->error_invalidavatarurl; } } }
if(empty($avatar_error)) { if($width && $height && $mybb->settings['maxavatardims'] != "") { list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims'])); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)) { $lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight); $avatar_error = $lang->error_avatartoobig; }
|
} }
|
} }
|
}
| |
|
|
if(empty($avatar_error)) { if($width && $height && $mybb->settings['maxavatardims'] != "")
| if(empty($avatar_error))
|
{
|
{
|
list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims'])); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight))
| if($width > 0 && $height > 0)
|
{
|
{
|
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight); $avatar_error = $lang->error_avatartoobig;
| $avatar_dimensions = (int)$width."|".(int)$height;
|
}
|
}
|
| $extra_user_updates = array( "avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW), "avatardimensions" => $avatar_dimensions, "avatartype" => "remote" ); remove_avatars($user['uid']);
|
}
|
}
|
}
if(empty($avatar_error)) { if($width > 0 && $height > 0)
| else
|
{
|
{
|
$avatar_dimensions = (int)$width."|".(int)$height;
| $errors = array($avatar_error);
|
}
|
}
|
$extra_user_updates = array( "avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW), "avatardimensions" => $avatar_dimensions, "avatartype" => "remote" ); remove_avatars($user['uid']); } else { $errors = array($avatar_error);
| |
} } }
| } } }
|
Zeile 841 | Zeile 849 |
---|
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 888 | Zeile 897 |
---|
if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) { $mybb->input['away_year'] = $mybb->get_input('away_year', MyBB::INPUT_INT);
|
if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) { $mybb->input['away_year'] = $mybb->get_input('away_year', MyBB::INPUT_INT);
|
} else {
| } else {
|
$mybb->input['away_day'] = 0; $mybb->input['away_month'] = 0; $mybb->input['away_year'] = '';
| $mybb->input['away_day'] = 0; $mybb->input['away_month'] = 0; $mybb->input['away_year'] = '';
|
Zeile 915 | Zeile 924 |
---|
{ $profile_fields['optional'][] = $profile_field; }
|
{ $profile_fields['optional'][] = $profile_field; }
|
}
$page->add_breadcrumb_item($lang->edit_user.": ".htmlspecialchars_uni($user['username']));
| }
$page->add_breadcrumb_item($lang->edit_user.": ".htmlspecialchars_uni($user['username']));
|
$page->extra_header .= <<<EOF
<link rel="stylesheet" href="../jscripts/sceditor/editor_themes/mybb.css" type="text/css" media="all" />
| $page->extra_header .= <<<EOF
<link rel="stylesheet" href="../jscripts/sceditor/editor_themes/mybb.css" type="text/css" media="all" />
|
Zeile 932 | Zeile 941 |
---|
'title' => $lang->edit_user, 'description' => $lang->edit_user_desc );
|
'title' => $lang->edit_user, 'description' => $lang->edit_user_desc );
|
|
|
$form = new Form("index.php?module=user-users&action=edit&uid={$user['uid']}", "post", "", 1);
$page->output_nav_tabs($sub_tabs, 'edit_user');
| $form = new Form("index.php?module=user-users&action=edit&uid={$user['uid']}", "post", "", 1);
$page->output_nav_tabs($sub_tabs, 'edit_user');
|
Zeile 945 | Zeile 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']); }
|
|
|
$tabs = array( "overview" => $lang->overview, "profile" => $lang->profile,
| $tabs = array( "overview" => $lang->overview, "profile" => $lang->profile,
|
Zeile 959 | Zeile 968 |
---|
); $tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs); $page->output_tab_control($tabs);
|
); $tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs); $page->output_tab_control($tabs);
|
//
| //
|
// OVERVIEW // echo "<div id=\"tab_overview\">\n";
| // OVERVIEW // echo "<div id=\"tab_overview\">\n";
|
Zeile 970 | Zeile 979 |
---|
// Avatar $avatar_dimensions = explode("|", $user['avatardimensions']);
|
// Avatar $avatar_dimensions = explode("|", $user['avatardimensions']);
|
if($user['avatar'])
| if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars']))
|
{ if($user['avatardimensions']) {
| { if($user['avatardimensions']) {
|
Zeile 1017 | Zeile 1026 |
---|
$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 1058 | Zeile 1067 |
---|
$reputation = get_reputation($user['reputation']); } else
|
$reputation = get_reputation($user['reputation']); } else
|
{
| {
|
$reputation = "-"; }
if($mybb->settings['enablewarningsystem'] != 0 && $user_permissions['canreceivewarnings'] != 0) { if($mybb->settings['maxwarningpoints'] < 1)
|
$reputation = "-"; }
if($mybb->settings['enablewarningsystem'] != 0 && $user_permissions['canreceivewarnings'] != 0) { if($mybb->settings['maxwarningpoints'] < 1)
|
{
| {
|
$mybb->settings['maxwarningpoints'] = 10; }
| $mybb->settings['maxwarningpoints'] = 10; }
|
Zeile 1107 | Zeile 1116 |
---|
$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";
// // PROFILE // echo "<div id=\"tab_profile\">\n";
|
echo "</div>\n";
// // PROFILE // echo "<div id=\"tab_profile\">\n";
|
|
|
$form_container = new FormContainer($lang->required_profile_info.": ".htmlspecialchars_uni($user['username'])); $form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username'); $form_container->output_row($lang->new_password, $lang->new_password_desc, $form->generate_password_box('new_password', $mybb->input['new_password'], array('id' => 'new_password', 'autocomplete' => 'off')), 'new_password');
| $form_container = new FormContainer($lang->required_profile_info.": ".htmlspecialchars_uni($user['username'])); $form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username'); $form_container->output_row($lang->new_password, $lang->new_password_desc, $form->generate_password_box('new_password', $mybb->input['new_password'], array('id' => 'new_password', 'autocomplete' => 'off')), 'new_password');
|
Zeile 1214 | Zeile 1224 |
---|
$form_container->end(); }
|
$form_container->end(); }
|
| $plugins->run_hooks("admin_user_users_edit_profile");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1278 | Zeile 1289 |
---|
{ if($tpp <= 0) continue; $tpp_options[$tpp] = $tpp;
|
{ if($tpp <= 0) continue; $tpp_options[$tpp] = $tpp;
|
} }
| } }
|
}
$thread_age_options = array(
| }
$thread_age_options = array(
|
Zeile 1339 | Zeile 1350 |
---|
$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 1390 | Zeile 1402 |
---|
$lang->suspend_expire_info = $lang->suspend_sig_perm; } else
|
$lang->suspend_expire_info = $lang->suspend_sig_perm; } else
|
{
| {
|
// There's a limit to the suspension! $remaining = $user['suspendsigtime']-TIME_NOW; $expired = nice_time($remaining, array('seconds' => false));
| // There's a limit to the suspension! $remaining = $user['suspendsigtime']-TIME_NOW; $expired = nice_time($remaining, array('seconds' => false));
|
Zeile 1473 | Zeile 1485 |
---|
$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 1533 | Zeile 1546 |
---|
} $form_container = new FormContainer($lang->specify_custom_avatar); $form_container->output_row($lang->upload_avatar, $auto_resize, $form->generate_file_upload_box('avatar_upload', array('id' => 'avatar_upload')), 'avatar_upload');
|
} $form_container = new FormContainer($lang->specify_custom_avatar); $form_container->output_row($lang->upload_avatar, $auto_resize, $form->generate_file_upload_box('avatar_upload', array('id' => 'avatar_upload')), 'avatar_upload');
|
$form_container->output_row($lang->or_specify_avatar_url, "", $form->generate_text_box('avatar_url', $avatar_url, array('id' => 'avatar_url')), 'avatar_url');
| if($mybb->settings['allowremoteavatars']) { $form_container->output_row($lang->or_specify_avatar_url, "", $form->generate_text_box('avatar_url', $avatar_url, array('id' => 'avatar_url')), 'avatar_url'); }
|
$form_container->end();
|
$form_container->end();
|
| $plugins->run_hooks("admin_user_users_edit_avatar");
|
echo "</div>\n";
|
echo "</div>\n";
|
|
|
// // MODERATOR OPTIONS //
| // // MODERATOR OPTIONS //
|
Zeile 1555 | Zeile 1572 |
---|
// Mod posts // Generate check box $modpost_options = $form->generate_select_box('modpost_period', $periods, $mybb->input['modpost_period'], array('id' => 'modpost_period'));
|
// Mod posts // Generate check box $modpost_options = $form->generate_select_box('modpost_period', $periods, $mybb->input['modpost_period'], array('id' => 'modpost_period'));
|
// Do we have any existing suspensions here?
| // Do we have any existing suspensions here?
|
$existing_info = ''; if($user['moderateposts'] || ($mybb->input['moderateposting'] && !empty($errors))) {
| $existing_info = ''; if($user['moderateposts'] || ($mybb->input['moderateposting'] && !empty($errors))) {
|
Zeile 1581 | Zeile 1598 |
---|
}
$existing_info = $lang->sprintf($lang->moderate_length, $expired, $color);
|
}
$existing_info = $lang->sprintf($lang->moderate_length, $expired, $color);
|
}
| }
|
else { $existing_info = $lang->moderated_perm;
| else { $existing_info = $lang->moderated_perm;
|
Zeile 1606 | Zeile 1623 |
---|
$existing_info = $lang->suspended_perm; } else
|
$existing_info = $lang->suspended_perm; } else
|
{
| {
|
$remaining = $user['suspensiontime']-TIME_NOW; $suspost_date = nice_time($remaining, array('seconds' => false));
| $remaining = $user['suspensiontime']-TIME_NOW; $suspost_date = nice_time($remaining, array('seconds' => false));
|
Zeile 1632 | Zeile 1649 |
---|
$lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, htmlspecialchars_uni($user['username'])); $form_container->output_row($form->generate_check_box("suspendposting", 1, $lang->suspend_posts, array("id" => "suspendposting", "onclick" => "toggleBox('suspost');", "checked" => $mybb->input['suspendposting'])), $lang->suspend_posts_info, $suspost_div);
|
$lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, htmlspecialchars_uni($user['username'])); $form_container->output_row($form->generate_check_box("suspendposting", 1, $lang->suspend_posts, array("id" => "suspendposting", "onclick" => "toggleBox('suspost');", "checked" => $mybb->input['suspendposting'])), $lang->suspend_posts_info, $suspost_div);
|
|
|
$form_container->end();
|
$form_container->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 1656 | Zeile 1674 |
---|
if($("#moderateposting").is(":checked") == true) { $("#modpost").show();
|
if($("#moderateposting").is(":checked") == true) { $("#modpost").show();
|
}
| }
|
else if($("#moderateposting").is(":checked") == false) { $("#modpost").hide();
| else if($("#moderateposting").is(":checked") == false) { $("#modpost").hide();
|
Zeile 1754 | Zeile 1772 |
---|
else { $page->output_confirm_action("index.php?module=user-users&action=delete&uid={$user['uid']}", $lang->user_deletion_confirmation);
|
else { $page->output_confirm_action("index.php?module=user-users&action=delete&uid={$user['uid']}", $lang->user_deletion_confirmation);
|
} }
| } }
|
if($mybb->input['action'] == "referrers") { $page->add_breadcrumb_item($lang->show_referrers);
| if($mybb->input['action'] == "referrers") { $page->add_breadcrumb_item($lang->show_referrers);
|
Zeile 1771 | Zeile 1789 |
---|
$plugins->run_hooks("admin_user_users_referrers");
$page->output_nav_tabs($sub_tabs, 'referrers');
|
$plugins->run_hooks("admin_user_users_referrers");
$page->output_nav_tabs($sub_tabs, 'referrers');
|
|
|
// Fetch default admin view $default_view = fetch_default_view("user"); if(!$default_view) { $default_view = "0";
|
// 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 1802 | Zeile 1820 |
---|
else { echo $view;
|
else { echo $view;
|
}
$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 1906 | Zeile 1924 |
---|
if(!$source_user['uid']) { $errors[] = $lang->error_invalid_user_source;
|
if(!$source_user['uid']) { $errors[] = $lang->error_invalid_user_source;
|
}
| }
|
$destination_user = get_user_by_username($mybb->input['destination_username'], array('fields' => '*')); if(!$destination_user['uid']) { $errors[] = $lang->error_invalid_user_destination;
|
$destination_user = get_user_by_username($mybb->input['destination_username'], array('fields' => '*')); if(!$destination_user['uid']) { $errors[] = $lang->error_invalid_user_destination;
|
}
| }
|
// 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']) { $errors[] = $lang->error_cannot_merge_same_account; }
|
if($source_user['uid'] == $destination_user['uid']) { $errors[] = $lang->error_cannot_merge_same_account; }
|
|
|
if(empty($errors)) { // Begin to merge the accounts
| if(empty($errors)) { // Begin to merge the accounts
|
Zeile 1952 | Zeile 1970 |
---|
$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 2072 | Zeile 2092 |
---|
"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 2099 | Zeile 2112 |
---|
$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 2117 | Zeile 2130 |
---|
}
$plugins->run_hooks("admin_user_users_merge_commit");
|
}
$plugins->run_hooks("admin_user_users_merge_commit");
|
| // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete');
// Delete the old user $userhandler->delete_user($source_user['uid']);
|
$cache->update_awaitingactivation();
| $cache->update_awaitingactivation();
|
Zeile 3594 | Zeile 3614 |
---|
$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")
|
if($view['view_type'] == "card")
|
{ $scaled_avatar = fetch_scaled_avatar($user, 80, 80); }
| { $max_dimensions = '80x80'; }
|
else {
|
else {
|
$scaled_avatar = fetch_scaled_avatar($user, 34, 34); } if(!$user['avatar']) { 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']); }
| $max_dimensions = '34x34';
|
}
|
}
|
$user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";
| $avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);
$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";
|
// Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
| // Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
|
Zeile 3923 | Zeile 3931 |
---|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
}
/** * @param array $user * @param int $max_width * @param int $max_height * * @return array */ function fetch_scaled_avatar($user, $max_width=80, $max_height=80) { $scaled_dimensions = array( "width" => $max_width, "height" => $max_height, );
if($user['avatar']) { if($user['avatardimensions']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = explode("|", $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, $max_width, $max_height); } }
return array("width" => $scaled_dimensions['width'], "height" => $scaled_dimensions['height']);
| |
}
/**
| }
/**
|
Zeile 3978 | Zeile 3959 |
---|
switch($type) { case "multiselect":
|
switch($type) { case "multiselect":
|
| $selected_options = array();
|
if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
| if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
|
Zeile 3985 | Zeile 3967 |
---|
else { $user_options = $values[$field_name];
|
else { $user_options = $values[$field_name];
|
}
$selected_options = array();
| }
|
foreach($user_options as $val)
|
foreach($user_options as $val)
|
{
| {
|
$selected_options[$val] = htmlspecialchars_uni($val);
|
$selected_options[$val] = htmlspecialchars_uni($val);
|
}
| }
|
$select_options = explode("\n", $options);
|
$select_options = explode("\n", $options);
|
$options = array(); if($search == true) { $select_options[''] = $lang->na; }
foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 3;
| $options = array(); if($search == true) { $select_options[''] = $lang->na; }
foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 3;
|
} $code = $form->generate_select_box("profile_fields[{$field_name}][]", $options, $selected_options, array('id' => "profile_field_{$field_name}", 'multiple' => true, 'size' => $profile_field['length'])); break;
| } $code = $form->generate_select_box("profile_fields[{$field_name}][]", $options, $selected_options, array('id' => "profile_field_{$field_name}", 'multiple' => true, 'size' => $profile_field['length'])); break;
|
Zeile 4031 | Zeile 4013 |
---|
if($search == true) { $code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
if($search == true) { $code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
}
| }
|
else { $code = $form->generate_select_box("profile_fields[{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
else { $code = $form->generate_select_box("profile_fields[{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
}
| }
|
break; case "radio": $radio_options = array();
| break; case "radio": $radio_options = array();
|
Zeile 4044 | Zeile 4026 |
---|
$radio_options[''] = $lang->na; } $radio_options += explode("\n", $options);
|
$radio_options[''] = $lang->na; } $radio_options += explode("\n", $options);
|
$code = '';
| $code = '';
|
foreach($radio_options as $val) { $val = trim($val);
| foreach($radio_options as $val) { $val = trim($val);
|
Zeile 4052 | Zeile 4034 |
---|
} break; case "checkbox":
|
} break; 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]);
|
Zeile 4059 | Zeile 4042 |
---|
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;
|
Zeile 4078 | Zeile 4063 |
---|
} break; case "textarea":
|
} break; case "textarea":
|
$extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search") {
| $extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search") {
|
$extra = " {$lang->or} ".$form->generate_check_box("profile_fields[{$field_name}_blank]", 1, $lang->is_not_blank, array('id' => "{$field_name}_blank", 'checked' => $values[$field_name.'_blank'])); }
| $extra = " {$lang->or} ".$form->generate_check_box("profile_fields[{$field_name}_blank]", 1, $lang->is_not_blank, array('id' => "{$field_name}_blank", 'checked' => $values[$field_name.'_blank'])); }
|
Zeile 4227 | Zeile 4212 |
---|
}); // --> </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); } }
|
}
| }
|