Zeile 1 | Zeile 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 165 | Zeile 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 175 | Zeile 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 199 | Zeile 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 222 | Zeile 228 |
---|
else { $breadcrumb .= " » {$gallery_name}";
|
else { $breadcrumb .= " » {$gallery_name}";
|
} }
| } }
|
} else {
| } else {
|
Zeile 363 | Zeile 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&action=edit&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 443 | Zeile 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 597 | Zeile 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 652 | Zeile 674 |
---|
"avatardimensions" => "", "avatartype" => "" );
|
"avatardimensions" => "", "avatartype" => "" );
|
remove_avatars($mybb->user['uid']);
| remove_avatars($user['uid']);
|
}
| }
|
Zeile 716 | Zeile 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 902 | Zeile 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 932 | Zeile 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 982 | Zeile 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 1022 | Zeile 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 1064 | Zeile 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 1110 | Zeile 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 1120 | Zeile 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 1170 | Zeile 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 1201 | Zeile 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 1272 | Zeile 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 1282 | Zeile 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 1318 | Zeile 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 1395 | Zeile 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&results=1&action=search&conditions=".urlencode(serialize(array("regip" => $ip['ipaddress'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user/users&results=1&action=search&conditions=".urlencode(serialize(array("postip" => $ip['ipaddress'])))); $popup->add_item($lang->ban_ip, "index.php?module=config/banning&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&results=1&action=search&conditions=".urlencode(serialize(array("regip" => $ip['ipaddress'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user/users&results=1&action=search&conditions=".urlencode(serialize(array("postip" => $ip['ipaddress'])))); $popup->add_item($lang->ban_ip, "index.php?module=config/banning&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 1451 | Zeile 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 1467 | Zeile 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 1496 | Zeile 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&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&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 1550 | Zeile 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 1570 | Zeile 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 1583 | Zeile 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 1612 | Zeile 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 1630 | Zeile 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 1706 | Zeile 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 1723 | Zeile 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 1744 | Zeile 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 1804 | Zeile 1914 |
---|
if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&", "&", $view['url'])) { update_admin_session('last_users_url', str_replace("&", "&", $view['url']));
|
if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&", "&", $view['url'])) { update_admin_session('last_users_url', str_replace("&", "&", $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 1884 | Zeile 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 1923 | Zeile 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 1974 | Zeile 2121 |
---|
{ $start = 0; $mybb->input['page'] = 1;
|
{ $start = 0; $mybb->input['page'] = 1;
|
| } $from_bit = ""; if($mybb->input['from'] == "home") { $from_bit = "&from=home";
|
} switch($view['sortby'])
| } switch($view['sortby'])
|
Zeile 2032 | Zeile 2185 |
---|
{ if($user['coppauser']) {
|
{ if($user['coppauser']) {
|
$popup->add_item($lang->approve_coppa_user, "index.php?module=user/users&action=activate_user&uid={$user['uid']}");
| $popup->add_item($lang->approve_coppa_user, "index.php?module=user/users&action=activate_user&uid={$user['uid']}{$from_bit}");
|
} else {
|
} else {
|
$popup->add_item($lang->approve_user, "index.php?module=user/users&action=activate_user&uid={$user['uid']}");
| $popup->add_item($lang->approve_user, "index.php?module=user/users&action=activate_user&uid={$user['uid']}{$from_bit}");
|
} }
| } }
|
Zeile 2082 | Zeile 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 2416 | Zeile 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":
|