Zeile 243 | Zeile 243 |
---|
{ $updated_user['usergroup'] = 2; }
|
{ $updated_user['usergroup'] = 2; }
|
| $plugins->run_hooks("admin_user_users_coppa_activate_commit");
|
$db->update_query("users", $updated_user, "uid='{$user['uid']}'");
$cache->update_awaitingactivation();
|
$db->update_query("users", $updated_user, "uid='{$user['uid']}'");
$cache->update_awaitingactivation();
|
$plugins->run_hooks("admin_user_users_coppa_activate_commit");
| |
$message = $lang->sprintf($lang->email_adminactivateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);
// Log admin action
|
$message = $lang->sprintf($lang->email_adminactivateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);
// Log admin action
|
log_admin_action($user['uid'], $user['username']);
| log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
|
if($mybb->input['from'] == "home")
|
if($mybb->input['from'] == "home")
|
{
| {
|
if($user['coppauser'])
|
if($user['coppauser'])
|
{
| {
|
$message = $lang->success_coppa_activated;
|
$message = $lang->success_coppa_activated;
|
} else {
| } else {
|
$message = $lang->success_activated; }
update_admin_session('flash_message2', array('message' => $message, 'type' => 'success'));
|
$message = $lang->success_activated; }
update_admin_session('flash_message2', array('message' => $message, 'type' => 'success'));
|
} else
| } else
|
{ if($user['coppauser']) {
| { if($user['coppauser']) {
|
Zeile 294 | Zeile 294 |
---|
else { $url = "index.php?module=user-users&action=edit&uid={$user['uid']}";
|
else { $url = "index.php?module=user-users&action=edit&uid={$user['uid']}";
|
}
| }
|
$plugins->run_hooks("admin_user_users_coppa_end");
| $plugins->run_hooks("admin_user_users_coppa_end");
|
Zeile 318 | Zeile 318 |
---|
} } $additionalgroups = implode(",", $mybb->input['additionalgroups']);
|
} } $additionalgroups = implode(",", $mybb->input['additionalgroups']);
|
}
| }
|
else { $additionalgroups = ''; }
|
else { $additionalgroups = ''; }
|
|
|
// Set up user handler. require_once MYBB_ROOT."inc/datahandlers/user.php"; $userhandler = new UserDataHandler('insert');
| // Set up user handler. require_once MYBB_ROOT."inc/datahandlers/user.php"; $userhandler = new UserDataHandler('insert');
|
Zeile 334 | Zeile 334 |
---|
"username" => $mybb->input['username'], "password" => $mybb->input['password'], "password2" => $mybb->input['confirm_password'],
|
"username" => $mybb->input['username'], "password" => $mybb->input['password'], "password2" => $mybb->input['confirm_password'],
|
"email" => $mybb->input['email'], "email2" => $mybb->input['email'], "usergroup" => $mybb->input['usergroup'], "additionalgroups" => $additionalgroups, "displaygroup" => $mybb->input['displaygroup'], "profile_fields" => $mybb->input['profile_fields'], "profile_fields_editable" => true, );
// Set the data of the user in the datahandler.
| "email" => $mybb->input['email'], "email2" => $mybb->input['email'], "usergroup" => $mybb->input['usergroup'], "additionalgroups" => $additionalgroups, "displaygroup" => $mybb->input['displaygroup'], "profile_fields" => $mybb->input['profile_fields'], "profile_fields_editable" => true, );
// Set the data of the user in the datahandler.
|
$userhandler->set_data($new_user); $errors = '';
// Validate the user and get any errors that might have occurred. if(!$userhandler->validate_user())
|
$userhandler->set_data($new_user); $errors = '';
// Validate the user and get any errors that might have occurred. if(!$userhandler->validate_user())
|
{
| {
|
$errors = $userhandler->get_friendly_errors(); } else { $user_info = $userhandler->insert_user();
|
$errors = $userhandler->get_friendly_errors(); } else { $user_info = $userhandler->insert_user();
|
|
|
$plugins->run_hooks("admin_user_users_add_commit");
// Log admin action
|
$plugins->run_hooks("admin_user_users_add_commit");
// Log admin action
|
log_admin_action($user_info['uid'], $user_info['username']);
| log_admin_action($user_info['uid'], htmlspecialchars_uni($user_info['username']));
|
flash_message($lang->success_user_created, 'success'); admin_redirect("index.php?module=user-users&action=edit&uid={$user_info['uid']}");
| flash_message($lang->success_user_created, 'success'); admin_redirect("index.php?module=user-users&action=edit&uid={$user_info['uid']}");
|
Zeile 368 | Zeile 368 |
---|
// Fetch custom profile fields - only need required profile fields here $query = $db->simple_select("profilefields", "*", "required=1", array('order_by' => 'disporder'));
|
// Fetch custom profile fields - only need required profile fields here $query = $db->simple_select("profilefields", "*", "required=1", array('order_by' => 'disporder'));
|
|
|
$profile_fields = array(); while($profile_field = $db->fetch_array($query)) { $profile_fields['required'][] = $profile_field;
|
$profile_fields = array(); while($profile_field = $db->fetch_array($query)) { $profile_fields['required'][] = $profile_field;
|
}
| }
|
$page->add_breadcrumb_item($lang->create_user); $page->output_header($lang->create_user);
| $page->add_breadcrumb_item($lang->create_user); $page->output_header($lang->create_user);
|
Zeile 386 | Zeile 386 |
---|
if($errors) { $page->output_inline_error($errors);
|
if($errors) { $page->output_inline_error($errors);
|
}
| }
|
else { $mybb->input = array_merge($mybb->input, array('usergroup' => 2)); }
$form_container = new FormContainer($lang->required_profile_info);
|
else { $mybb->input = array_merge($mybb->input, array('usergroup' => 2)); }
$form_container = new FormContainer($lang->required_profile_info);
|
$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->username." <em>*</em>", "", $form->generate_text_box('username', htmlspecialchars_uni($mybb->get_input('username')), array('id' => 'username')), 'username');
|
$form_container->output_row($lang->password." <em>*</em>", "", $form->generate_password_box('password', $mybb->input['password'], array('id' => 'password', 'autocomplete' => 'off')), 'password'); $form_container->output_row($lang->confirm_password." <em>*</em>", "", $form->generate_password_box('confirm_password', $mybb->input['confirm_password'], array('id' => 'confirm_new_password')), 'confirm_new_password'); $form_container->output_row($lang->email_address." <em>*</em>", "", $form->generate_text_box('email', $mybb->input['email'], array('id' => 'email')), 'email');
| $form_container->output_row($lang->password." <em>*</em>", "", $form->generate_password_box('password', $mybb->input['password'], array('id' => 'password', 'autocomplete' => 'off')), 'password'); $form_container->output_row($lang->confirm_password." <em>*</em>", "", $form->generate_password_box('confirm_password', $mybb->input['confirm_password'], array('id' => 'confirm_new_password')), 'confirm_new_password'); $form_container->output_row($lang->email_address." <em>*</em>", "", $form->generate_text_box('email', $mybb->input['email'], array('id' => 'email')), 'email');
|
Zeile 403 | Zeile 403 |
---|
$query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$options[$usergroup['gid']] = $usergroup['title']; $display_group_options[$usergroup['gid']] = $usergroup['title'];
| $options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']); $display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
|
}
$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->primary_user_group." <em>*</em>", "", $form->generate_select_box('usergroup', $options, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup');
|
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 476 | Zeile 477 |
---|
$return_month = (int)substr($mybb->input['away_month'], 0, 2); $return_day = (int)substr($mybb->input['away_day'], 0, 2);
|
$return_month = (int)substr($mybb->input['away_month'], 0, 2); $return_day = (int)substr($mybb->input['away_day'], 0, 2);
|
$return_year = min((int)$mybb->input['away_year'], 9999);
| $return_year = min($mybb->get_input('away_year', MyBB::INPUT_INT), 9999);
|
// Check if return date is after the away date. $returntimestamp = gmmktime(0, 0, 0, $return_month, $return_day, $return_year);
| // Check if return date is after the away date. $returntimestamp = gmmktime(0, 0, 0, $return_month, $return_day, $return_year);
|
Zeile 522 | Zeile 523 |
---|
), "style" => $mybb->input['style'], "signature" => $mybb->input['signature'],
|
), "style" => $mybb->input['style'], "signature" => $mybb->input['signature'],
|
"dateformat" => (int)$mybb->input['dateformat'], "timeformat" => (int)$mybb->input['timeformat'], "language" => $mybb->input['language'],
| "dateformat" => $mybb->get_input('dateformat', MyBB::INPUT_INT), "timeformat" => $mybb->get_input('timeformat', MyBB::INPUT_INT),
|
"usernotes" => $mybb->input['usernotes'], "away" => array( "away" => $mybb->input['away'],
| "usernotes" => $mybb->input['usernotes'], "away" => array( "away" => $mybb->input['away'],
|
Zeile 567 | Zeile 567 |
---|
"showcodebuttons" => $mybb->input['showcodebuttons'], "sourceeditor" => $mybb->input['sourceeditor'], "pmnotify" => $mybb->input['pmnotify'],
|
"showcodebuttons" => $mybb->input['showcodebuttons'], "sourceeditor" => $mybb->input['sourceeditor'], "pmnotify" => $mybb->input['pmnotify'],
|
| "buddyrequestspm" => $mybb->input['buddyrequestspm'], "buddyrequestsauto" => $mybb->input['buddyrequestsauto'],
|
"showredirect" => $mybb->input['showredirect'] );
if($mybb->settings['usertppoptions']) {
|
"showredirect" => $mybb->input['showredirect'] );
if($mybb->settings['usertppoptions']) {
|
$updated_user['options']['tpp'] = (int)$mybb->input['tpp'];
| $updated_user['options']['tpp'] = $mybb->get_input('tpp', MyBB::INPUT_INT);
|
}
if($mybb->settings['userpppoptions']) {
|
}
if($mybb->settings['userpppoptions']) {
|
$updated_user['options']['ppp'] = (int)$mybb->input['ppp'];
| $updated_user['options']['ppp'] = $mybb->get_input('ppp', MyBB::INPUT_INT);
|
}
// Set the data of the user in the datahandler.
| }
// Set the data of the user in the datahandler.
|
Zeile 600 | Zeile 602 |
---|
"avatartype" => "" ); remove_avatars($user['uid']);
|
"avatartype" => "" ); remove_avatars($user['uid']);
|
}
| }
|
// Are we uploading a new avatar? if($_FILES['avatar_upload']['name']) { $avatar = upload_avatar($_FILES['avatar_upload'], $user['uid']); if($avatar['error'])
|
// Are we uploading a new avatar? if($_FILES['avatar_upload']['name']) { $avatar = upload_avatar($_FILES['avatar_upload'], $user['uid']); if($avatar['error'])
|
{
| {
|
$errors = array($avatar['error']); } else { if($avatar['width'] > 0 && $avatar['height'] > 0)
|
$errors = array($avatar['error']); } else { if($avatar['width'] > 0 && $avatar['height'] > 0)
|
{
| {
|
$avatar_dimensions = $avatar['width']."|".$avatar['height']; } $extra_user_updates = array(
| $avatar_dimensions = $avatar['width']."|".$avatar['height']; } $extra_user_updates = array(
|
Zeile 626 | 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" => "http://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']); $mybb->input['avatar_url'] = htmlspecialchars($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']));
|
|
|
// 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) { $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; } } }
| $s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
|
|
|
if(empty($avatar_error)) { if($width > 0 && $height > 0) { $avatar_dimensions = (int)$width."|".(int)$height; }
| |
$extra_user_updates = array(
|
$extra_user_updates = array(
|
"avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW), "avatardimensions" => $avatar_dimensions, "avatartype" => "remote"
| "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar"
|
);
|
);
|
remove_avatars($user['uid']);
| |
} else {
|
} else {
|
$errors = array($avatar_error); } } }
| $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 { $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 > 0 && $height > 0) { $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']); } else { $errors = array($avatar_error); } } } }
|
// Moderator "Options" (suspend signature, suspend/moderate posting) $moderator_options = array(
| // Moderator "Options" (suspend signature, suspend/moderate posting) $moderator_options = array(
|
Zeile 755 | Zeile 763 |
---|
// Skip this option if we haven't selected it continue;
|
// Skip this option if we haven't selected it continue;
|
}
| }
|
if($mybb->input[$option['action']]) { if((int)$mybb->input[$option['time']] == 0 && $mybb->input[$option['period']] != "never" && $user[$option['update_field']] != 1)
| if($mybb->input[$option['action']]) { if((int)$mybb->input[$option['time']] == 0 && $mybb->input[$option['period']] != "never" && $user[$option['update_field']] != 1)
|
Zeile 829 | Zeile 837 |
---|
}
$plugins->run_hooks("admin_user_users_edit_commit");
|
}
$plugins->run_hooks("admin_user_users_edit_commit");
|
| if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5) { $cache->update_awaitingactivation(); }
|
// Log admin action
|
// Log admin action
|
log_admin_action($user['uid'], $mybb->input['username']);
| log_admin_action($user['uid'], htmlspecialchars_uni($mybb->input['username']));
|
flash_message($lang->success_user_updated, 'success'); admin_redirect("index.php?module=user-users"); }
|
flash_message($lang->success_user_updated, 'success'); admin_redirect("index.php?module=user-users"); }
|
| $plugins->run_hooks("admin_user_users_edit_end");
|
} }
| } }
|
Zeile 868 | Zeile 882 |
---|
{ $mybb->input['bday'][0] = $mybb->input['bday1']; $mybb->input['bday'][1] = $mybb->input['bday2'];
|
{ $mybb->input['bday'][0] = $mybb->input['bday1']; $mybb->input['bday'][1] = $mybb->input['bday2'];
|
$mybb->input['bday'][2] = (int)$mybb->input['bday3'];
| $mybb->input['bday'][2] = $mybb->get_input('bday3', MyBB::INPUT_INT);
|
} else {
| } else {
|
Zeile 882 | Zeile 896 |
---|
if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) {
|
if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) {
|
$mybb->input['away_year'] = (int)$mybb->input['away_year'];
| $mybb->input['away_year'] = $mybb->get_input('away_year', MyBB::INPUT_INT);
|
} else {
| } else {
|
Zeile 917 | Zeile 931 |
---|
$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" />
|
<script type="text/javascript" src="../jscripts/sceditor/jquery.sceditor.bbcode.min.js"></script> <script type="text/javascript" src="../jscripts/bbcodes_sceditor.js"></script>
| <script type="text/javascript" src="../jscripts/sceditor/jquery.sceditor.bbcode.min.js?ver=1805"></script> <script type="text/javascript" src="../jscripts/bbcodes_sceditor.js?ver=1808"></script> <script type="text/javascript" src="../jscripts/sceditor/editor_plugins/undo.js?ver=1805"></script>
|
EOF; $page->output_header($lang->edit_user);
| EOF; $page->output_header($lang->edit_user);
|
Zeile 964 | 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']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = explode("|", $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, 120, 120);
|
if($user['avatardimensions']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = explode("|", $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, 120, 120);
|
} else {
| } else {
|
$scaled_dimensions = array( "width" => 120, "height" => 120 ); }
|
$scaled_dimensions = array( "width" => 120, "height" => 120 ); }
|
if(my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://')
| if(!my_validate_url($user['avatar']))
|
{ $user['avatar'] = "../{$user['avatar']}\n"; } } else {
|
{ $user['avatar'] = "../{$user['avatar']}\n"; } } else {
|
$user['avatar'] = "../".$mybb->settings['useravatar'];
| 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']); }
|
$scaled_dimensions = array( "width" => 120, "height" => 120
| $scaled_dimensions = array( "width" => 120, "height" => 120
|
Zeile 1004 | 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 1051 | Zeile 1073 |
---|
if($mybb->settings['enablewarningsystem'] != 0 && $user_permissions['canreceivewarnings'] != 0) {
|
if($mybb->settings['enablewarningsystem'] != 0 && $user_permissions['canreceivewarnings'] != 0) {
|
| if($mybb->settings['maxwarningpoints'] < 1) { $mybb->settings['maxwarningpoints'] = 10; }
|
$warning_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100); if($warning_level > 100) {
| $warning_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100); if($warning_level > 100) {
|
Zeile 1087 | Zeile 1114 |
---|
$table->construct_cell("<strong>{$lang->last_known_ip}:</strong> ".my_inet_ntop($db->unescape_binary($user['lastip']))); $table->construct_row();
|
$table->construct_cell("<strong>{$lang->last_known_ip}:</strong> ".my_inet_ntop($db->unescape_binary($user['lastip']))); $table->construct_row();
|
$table->output("{$lang->user_overview}: {$user['username']}");
| $username = htmlspecialchars_uni($user['username']); $table->output("{$lang->user_overview}: {$username}"); $plugins->run_hooks("admin_user_users_edit_overview");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1095 | Zeile 1124 |
---|
// echo "<div id=\"tab_profile\">\n";
|
// echo "<div id=\"tab_profile\">\n";
|
$form_container = new FormContainer($lang->required_profile_info.": {$user['username']}");
| $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->output_row($lang->confirm_new_password, $lang->new_password_desc, $form->generate_password_box('confirm_new_password', $mybb->input['confirm_new_password'], array('id' => 'confirm_new_password')), 'confirm_new_password');
| $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->output_row($lang->confirm_new_password, $lang->new_password_desc, $form->generate_password_box('confirm_new_password', $mybb->input['confirm_new_password'], array('id' => 'confirm_new_password')), 'confirm_new_password');
|
Zeile 1106 | Zeile 1135 |
---|
$query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$options[$usergroup['gid']] = $usergroup['title']; $display_group_options[$usergroup['gid']] = $usergroup['title'];
| $options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']); $display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
|
}
if(!is_array($mybb->input['additionalgroups']))
| }
if(!is_array($mybb->input['additionalgroups']))
|
Zeile 1118 | Zeile 1147 |
---|
$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');
|
$form_container->output_row($lang->post_count." <em>*</em>", "", $form->generate_text_box('postnum', $mybb->input['postnum'], array('id' => 'postnum')), 'postnum'); $form_container->output_row($lang->thread_count." <em>*</em>", "", $form->generate_text_box('threadnum', $mybb->input['threadnum'], array('id' => 'threadnum')), 'threadnum');
| $form_container->output_row($lang->post_count." <em>*</em>", "", $form->generate_numeric_field('postnum', $mybb->input['postnum'], array('id' => 'postnum', 'min' => 0)), 'postnum'); $form_container->output_row($lang->thread_count." <em>*</em>", "", $form->generate_numeric_field('threadnum', $mybb->input['threadnum'], array('id' => 'threadnum', 'min' => 0)), 'threadnum');
|
// Output custom profile fields - required if(!isset($profile_fields['required']))
| // Output custom profile fields - required if(!isset($profile_fields['required']))
|
Zeile 1130 | Zeile 1159 |
---|
$form_container->end();
|
$form_container->end();
|
$form_container = new FormContainer($lang->optional_profile_info.": {$user['username']}");
| $form_container = new FormContainer($lang->optional_profile_info.': '.htmlspecialchars_uni($user['username']));
|
$form_container->output_row($lang->custom_user_title, $lang->custom_user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle'); $form_container->output_row($lang->website, "", $form->generate_text_box('website', $mybb->input['website'], array('id' => 'website')), 'website');
|
$form_container->output_row($lang->custom_user_title, $lang->custom_user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle'); $form_container->output_row($lang->website, "", $form->generate_text_box('website', $mybb->input['website'], array('id' => 'website')), 'website');
|
$form_container->output_row($lang->icq_number, "", $form->generate_text_box('icq', $mybb->input['icq'], array('id' => 'icq')), 'icq');
| $form_container->output_row($lang->icq_number, "", $form->generate_numeric_field('icq', $mybb->input['icq'], array('id' => 'icq', 'min' => 0)), 'icq');
|
$form_container->output_row($lang->aim_handle, "", $form->generate_text_box('aim', $mybb->input['aim'], array('id' => 'aim')), 'aim'); $form_container->output_row($lang->yahoo_messanger_handle, "", $form->generate_text_box('yahoo', $mybb->input['yahoo'], array('id' => 'yahoo')), 'yahoo'); $form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->input['skype'], array('id' => 'skype')), 'skype');
| $form_container->output_row($lang->aim_handle, "", $form->generate_text_box('aim', $mybb->input['aim'], array('id' => 'aim')), 'aim'); $form_container->output_row($lang->yahoo_messanger_handle, "", $form->generate_text_box('yahoo', $mybb->input['yahoo'], array('id' => 'yahoo')), 'yahoo'); $form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->input['skype'], array('id' => 'skype')), 'skype');
|
Zeile 1164 | Zeile 1193 |
---|
$birthday_row = $form->generate_select_box('bday1', $birthday_days, $mybb->input['bday'][0], array('id' => 'bday_day')); $birthday_row .= ' '.$form->generate_select_box('bday2', $birthday_months, $mybb->input['bday'][1], array('id' => 'bday_month'));
|
$birthday_row = $form->generate_select_box('bday1', $birthday_days, $mybb->input['bday'][0], array('id' => 'bday_day')); $birthday_row .= ' '.$form->generate_select_box('bday2', $birthday_months, $mybb->input['bday'][1], array('id' => 'bday_month'));
|
$birthday_row .= ' '.$form->generate_text_box('bday3', $mybb->input['bday'][2], array('id' => 'bday_year', 'style' => 'width: 3em;'));
| $birthday_row .= ' '.$form->generate_numeric_field('bday3', $mybb->input['bday'][2], array('id' => 'bday_year', 'style' => 'width: 4em;', 'min' => 0));
|
$form_container->output_row($lang->birthday, "", $birthday_row, 'birthday');
| $form_container->output_row($lang->birthday, "", $birthday_row, 'birthday');
|
Zeile 1176 | Zeile 1205 |
---|
if($mybb->settings['allowaway'] != 0) {
|
if($mybb->settings['allowaway'] != 0) {
|
$form_container = new FormContainer($lang->away_information.": {$user['username']}");
| $form_container = new FormContainer($lang->away_information.': '.htmlspecialchars_uni($user['username']));
|
$awaycheck = array(false, true); if($mybb->input['away'] == 1) {
| $awaycheck = array(false, true); if($mybb->input['away'] == 1) {
|
Zeile 1188 | Zeile 1217 |
---|
//Return date (we can use the arrays from birthday) $return_row = $form->generate_select_box('away_day', $birthday_days, $mybb->input['away_day'], array('id' => 'away_day')); $return_row .= ' '.$form->generate_select_box('away_month', $birthday_months, $mybb->input['away_month'], array('id' => 'away_month'));
|
//Return date (we can use the arrays from birthday) $return_row = $form->generate_select_box('away_day', $birthday_days, $mybb->input['away_day'], array('id' => 'away_day')); $return_row .= ' '.$form->generate_select_box('away_month', $birthday_months, $mybb->input['away_month'], array('id' => 'away_month'));
|
$return_row .= ' '.$form->generate_text_box('away_year', $mybb->input['away_year'], array('id' => 'away_year', 'style' => 'width: 3em;'));
| $return_row .= ' '.$form->generate_numeric_field('away_year', $mybb->input['away_year'], array('id' => 'away_year', 'style' => 'width: 4em;', 'min' => 0));
|
$form_container->output_row($lang->return_date, $lang->return_date_desc, $return_row, 'away_date');
$form_container->end(); }
|
$form_container->output_row($lang->return_date, $lang->return_date_desc, $return_row, 'away_date');
$form_container->end(); }
|
| $plugins->run_hooks("admin_user_users_edit_profile");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1204 | Zeile 1234 |
---|
// Plugin hook note - we should add hooks in above each output_row for the below so users can add their own options to each group :>
echo "<div id=\"tab_settings\">\n";
|
// Plugin hook note - we should add hooks in above each output_row for the below so users can add their own options to each group :>
echo "<div id=\"tab_settings\">\n";
|
$form_container = new FormContainer($lang->account_settings.": {$user['username']}");
| $form_container = new FormContainer($lang->account_settings.': '.htmlspecialchars_uni($user['username']));
|
$login_options = array( $form->generate_check_box("invisible", 1, $lang->hide_from_whos_online, array("checked" => $mybb->input['invisible'])), );
| $login_options = array( $form->generate_check_box("invisible", 1, $lang->hide_from_whos_online, array("checked" => $mybb->input['invisible'])), );
|
Zeile 1222 | Zeile 1252 |
---|
$form->generate_check_box("receivefrombuddy", 1, $lang->recieve_pms_from_buddy, array("checked" => $mybb->input['receivefrombuddy'])), $form->generate_check_box("pmnotice", 1, $lang->alert_new_pms, array("checked" => $mybb->input['pmnotice'])), $form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->input['pmnotify'])),
|
$form->generate_check_box("receivefrombuddy", 1, $lang->recieve_pms_from_buddy, array("checked" => $mybb->input['receivefrombuddy'])), $form->generate_check_box("pmnotice", 1, $lang->alert_new_pms, array("checked" => $mybb->input['pmnotice'])), $form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->input['pmnotify'])),
|
| $form->generate_check_box("buddyrequestspm", 1, $lang->buddy_requests_pm, array("checked" => $mybb->input['buddyrequestspm'])), $form->generate_check_box("buddyrequestsauto", 1, $lang->buddy_requests_auto, array("checked" => $mybb->input['buddyrequestsauto'])),
|
"<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_email_notification, $lang->instant_email_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod')) ); $form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
| "<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_email_notification, $lang->instant_email_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod')) ); $form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
|
Zeile 1306 | Zeile 1338 |
---|
); $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($lang->get_languages(), array('' => $lang->use_default));
| $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 1318 | 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 1346 | Zeile 1379 |
---|
$sig_imgcode = $lang->on; } echo "<div id=\"tab_signature\">\n";
|
$sig_imgcode = $lang->on; } echo "<div id=\"tab_signature\">\n";
|
$form_container = new FormContainer("{$lang->signature}: {$user['username']}");
| $form_container = new FormContainer($lang->signature.': '.htmlspecialchars_uni($user['username']));
|
$form_container->output_row($lang->signature, $lang->sprintf($lang->signature_desc, $sig_mycode, $sig_smilies, $sig_imgcode, $sig_html), $signature_editor, 'signature');
$periods = array(
| $form_container->output_row($lang->signature, $lang->sprintf($lang->signature_desc, $sig_mycode, $sig_smilies, $sig_imgcode, $sig_html), $signature_editor, 'signature');
$periods = array(
|
Zeile 1371 | Zeile 1404 |
---|
else { // There's a limit to the suspension!
|
else { // There's a limit to the suspension!
|
$expired = my_date('relative', $user['suspendsigtime']); $lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired);
| $remaining = $user['suspendsigtime']-TIME_NOW; $expired = nice_time($remaining, array('seconds' => false));
$color = 'inherit'; if($remaining < 3600) { $color = 'red'; } elseif($remaining < 86400) { $color = 'maroon'; } elseif($remaining < 604800) { $color = 'green'; }
$lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired, $color);
|
} $user_suspend_info = ' <tr>
| } $user_suspend_info = ' <tr>
|
Zeile 1410 | Zeile 1459 |
---|
<table cellpadding="4">'.$user_suspend_info.' <tr> <td width="30%"><small>'.$lang->expire_length.'</small></td>
|
<table cellpadding="4">'.$user_suspend_info.' <tr> <td width="30%"><small>'.$lang->expire_length.'</small></td>
|
<td>'.$form->generate_text_box('action_time', $mybb->input['action_time'], array('style' => 'width: 2em;')).' '.$form->generate_select_box('action_period', $periods, $mybb->input['action_period']).'</td>
| <td>'.$form->generate_numeric_field('action_time', $mybb->input['action_time'], array('style' => 'width: 3em;', 'min' => 0)).' '.$form->generate_select_box('action_period', $periods, $mybb->input['action_period']).'</td>
|
</tr> </table> </dd>
| </tr> </table> </dd>
|
Zeile 1436 | 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 1451 | Zeile 1501 |
---|
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>";
|
} elseif($user['avatartype'] == "remote" || my_strpos(my_strtolower($user['avatar']), "http://") !== false)
| } elseif($user['avatartype'] == "remote" || my_validate_url($user['avatar']))
|
{ $current_avatar_msg = "<br /><strong>{$lang->user_current_using_remote_avatar}</strong>"; $avatar_url = $user['avatar']; }
if($errors)
|
{ $current_avatar_msg = "<br /><strong>{$lang->user_current_using_remote_avatar}</strong>"; $avatar_url = $user['avatar']; }
if($errors)
|
{ $avatar_url = $mybb->input['avatar_url']; }
| { $avatar_url = htmlspecialchars_uni($mybb->input['avatar_url']); }
|
if($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}";
|
if($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}";
|
}
| }
|
if($mybb->settings['avatarsize']) { $maximum_size = get_friendly_size($mybb->settings['avatarsize']*1024); $max_size .= "<br />{$lang->avatar_max_size} {$maximum_size}";
|
if($mybb->settings['avatarsize']) { $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>");
|
}
| }
|
$table->construct_cell($lang->avatar_desc."{$remove_avatar}<br /><small>{$max_size}</small>"); $table->construct_row();
|
$table->construct_cell($lang->avatar_desc."{$remove_avatar}<br /><small>{$max_size}</small>"); $table->construct_row();
|
$table->output($lang->avatar.": {$user['username']}");
| $table->output($lang->avatar.': '.htmlspecialchars_uni($user['username']));
|
// Custom avatar if($mybb->settings['avatarresizing'] == "auto") {
| // Custom avatar if($mybb->settings['avatarresizing'] == "auto") {
|
Zeile 1496 | 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";
//
|
Zeile 1512 | Zeile 1566 |
---|
);
echo "<div id=\"tab_modoptions\">\n";
|
);
echo "<div id=\"tab_modoptions\">\n";
|
$form_container = new FormContainer($lang->mod_options.": {$user['username']}");
| $form_container = new FormContainer($lang->mod_options.': '.htmlspecialchars_uni($user['username']));
|
$form_container->output_row($lang->user_notes, '', $form->generate_text_area('usernotes', $mybb->input['usernotes'], array('id' => 'usernotes')), 'usernotes');
// Mod posts
| $form_container->output_row($lang->user_notes, '', $form->generate_text_area('usernotes', $mybb->input['usernotes'], array('id' => 'usernotes')), 'usernotes');
// Mod posts
|
Zeile 1526 | Zeile 1580 |
---|
$mybb->input['moderateposting'] = 1; if($user['moderationtime'] != 0) {
|
$mybb->input['moderateposting'] = 1; if($user['moderationtime'] != 0) {
|
$expired = my_date('relative', $user['moderationtime']); $existing_info = $lang->sprintf($lang->moderate_length, $expired);
| $remaining = $user['moderationtime']-TIME_NOW; $expired = nice_time($remaining, array('seconds' => false));
$color = 'inherit'; if($remaining < 3600) { $color = 'red'; } elseif($remaining < 86400) { $color = 'maroon'; } elseif($remaining < 604800) { $color = 'green'; }
$existing_info = $lang->sprintf($lang->moderate_length, $expired, $color);
|
} else {
| } else {
|
Zeile 1535 | Zeile 1605 |
---|
} }
|
} }
|
$modpost_div = '<div id="modpost">'.$existing_info.''.$lang->moderate_for.' '.$form->generate_text_box("modpost_time", $mybb->input['modpost_time'], array('style' => 'width: 2em;')).' '.$modpost_options.'</div>'; $lang->moderate_posts_info = $lang->sprintf($lang->moderate_posts_info, $user['username']);
| $modpost_div = '<div id="modpost">'.$existing_info.''.$lang->moderate_for.' '.$form->generate_numeric_field("modpost_time", $mybb->input['modpost_time'], array('style' => 'width: 3em;', 'min' => 0)).' '.$modpost_options.'</div>'; $lang->moderate_posts_info = $lang->sprintf($lang->moderate_posts_info, htmlspecialchars_uni($user['username']));
|
$form_container->output_row($form->generate_check_box("moderateposting", 1, $lang->moderate_posts, array("id" => "moderateposting", "onclick" => "toggleBox('modpost');", "checked" => $mybb->input['moderateposting'])), $lang->moderate_posts_info, $modpost_div);
|
$form_container->output_row($form->generate_check_box("moderateposting", 1, $lang->moderate_posts, array("id" => "moderateposting", "onclick" => "toggleBox('modpost');", "checked" => $mybb->input['moderateposting'])), $lang->moderate_posts_info, $modpost_div);
|
|
|
// Suspend posts // Generate check box $suspost_options = $form->generate_select_box('suspost_period', $periods, $mybb->input['suspost_period'], array('id' => 'suspost_period'));
|
// Suspend posts // Generate check box $suspost_options = $form->generate_select_box('suspost_period', $periods, $mybb->input['suspost_period'], array('id' => 'suspost_period'));
|
|
|
// Do we have any existing suspensions here? if($user['suspendposting'] || ($mybb->input['suspendposting'] && !empty($errors))) {
| // Do we have any existing suspensions here? if($user['suspendposting'] || ($mybb->input['suspendposting'] && !empty($errors))) {
|
Zeile 1551 | Zeile 1621 |
---|
if($user['suspensiontime'] == 0 || $mybb->input['suspost_period'] == "never") { $existing_info = $lang->suspended_perm;
|
if($user['suspensiontime'] == 0 || $mybb->input['suspost_period'] == "never") { $existing_info = $lang->suspended_perm;
|
}
| }
|
else {
|
else {
|
$suspost_date = my_date('relative', $user['suspensiontime']); $existing_info = $lang->sprintf($lang->suspend_length, $suspost_date);
| $remaining = $user['suspensiontime']-TIME_NOW; $suspost_date = nice_time($remaining, array('seconds' => false));
$color = 'inherit'; if($remaining < 3600) { $color = 'red'; } elseif($remaining < 86400) { $color = 'maroon'; } elseif($remaining < 604800) { $color = 'green'; }
$existing_info = $lang->sprintf($lang->suspend_length, $suspost_date, $color);
|
} }
|
} }
|
$suspost_div = '<div id="suspost">'.$existing_info.''.$lang->suspend_for.' '.$form->generate_text_box("suspost_time", $mybb->input['suspost_time'], array('style' => 'width: 2em;')).' '.$suspost_options.'</div>'; $lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, $user['username']);
| $suspost_div = '<div id="suspost">'.$existing_info.''.$lang->suspend_for.' '.$form->generate_numeric_field("suspost_time", $mybb->input['suspost_time'], array('style' => 'width: 3em;', 'min' => 0)).' '.$suspost_options.'</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->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");
|
|
|
$buttons[] = $form->generate_submit_button($lang->save_user); $form->output_submit_wrapper($buttons);
| $buttons[] = $form->generate_submit_button($lang->save_user); $form->output_submit_wrapper($buttons);
|
Zeile 1585 | Zeile 1672 |
---|
$("#suspost").hide();
if($("#moderateposting").is(":checked") == true)
|
$("#suspost").hide();
if($("#moderateposting").is(":checked") == true)
|
{
| {
|
$("#modpost").show(); } else if($("#moderateposting").is(":checked") == false)
| $("#modpost").show(); } else if($("#moderateposting").is(":checked") == false)
|
Zeile 1594 | Zeile 1681 |
---|
} } else if(action == "suspost")
|
} } else if(action == "suspost")
|
{
| {
|
$("#moderateposting").attr("checked", false); $("#modpost").hide();
| $("#moderateposting").attr("checked", false); $("#modpost").hide();
|
Zeile 1606 | Zeile 1693 |
---|
{ $("#suspost").hide(); }
|
{ $("#suspost").hide(); }
|
}
| }
|
}
if($("#moderateposting").is(":checked") == false) { $("#modpost").hide();
|
}
if($("#moderateposting").is(":checked") == false) { $("#modpost").hide();
|
}
| }
|
else { $("#modpost").show();
|
else { $("#modpost").show();
|
}
| }
|
if($("#suspendposting").is(":checked") == false) { $("#suspost").hide(); } else
|
if($("#suspendposting").is(":checked") == false) { $("#suspost").hide(); } else
|
{
| {
|
$("#suspost").show(); }
// --> </script>';
|
$("#suspost").show(); }
// --> </script>';
|
|
|
$page->output_footer(); }
| $page->output_footer(); }
|
Zeile 1641 | Zeile 1728 |
---|
if(!$user['uid']) { flash_message($lang->error_invalid_user, 'error');
|
if(!$user['uid']) { flash_message($lang->error_invalid_user, 'error');
|
admin_redirect("index.php?module=user-users"); }
| admin_redirect("index.php?module=user-users"); }
|
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');
|
admin_redirect("index.php?module=user-users");
| admin_redirect("index.php?module=user-users");
|
}
// User clicked no
| }
// User clicked no
|
Zeile 1672 | Zeile 1759 |
---|
flash_message($lang->error_cannot_delete_user, 'error'); admin_redirect("index.php?module=user-users"); }
|
flash_message($lang->error_cannot_delete_user, 'error'); admin_redirect("index.php?module=user-users"); }
|
| $cache->update_awaitingactivation();
|
$plugins->run_hooks("admin_user_users_delete_commit_end");
|
$plugins->run_hooks("admin_user_users_delete_commit_end");
|
log_admin_action($user['uid'], $user['username']);
| log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
|
flash_message($lang->success_user_deleted, 'success'); admin_redirect("index.php?module=user-users");
| flash_message($lang->success_user_deleted, 'success'); admin_redirect("index.php?module=user-users");
|
Zeile 1755 | Zeile 1844 |
---|
$user = $db->fetch_array($query);
// Log admin action
|
$user = $db->fetch_array($query);
// Log admin action
|
log_admin_action($user['uid'], $user['username']);
| log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
|
$table = new Table;
| $table = new Table;
|
Zeile 1772 | Zeile 1861 |
---|
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip'])); $popup = new PopupMenu("user_last", $lang->options); $popup->add_item($lang->show_users_regged_with_ip,
|
$user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip'])); $popup = new PopupMenu("user_last", $lang->options); $popup->add_item($lang->show_users_regged_with_ip,
|
"index.php?module=user-users&action=search&results=1&conditions=".urlencode(serialize(array("regip" => $user['lastip'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(serialize(array("postip" => $user['lastip']))));
| "index.php?module=user-users&action=search&results=1&conditions=".urlencode(my_serialize(array("regip" => $user['lastip'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(my_serialize(array("postip" => $user['lastip']))));
|
$popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$user['lastip']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$user['lastip']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$user['lastip']}"); $controls = $popup->fetch();
| $popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$user['lastip']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$user['lastip']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$user['lastip']}"); $controls = $popup->fetch();
|
Zeile 1791 | Zeile 1880 |
---|
{ $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip'])); $popup = new PopupMenu("user_reg", $lang->options);
|
{ $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip'])); $popup = new PopupMenu("user_reg", $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" => $user['regip'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(serialize(array("postip" => $user['regip']))));
| $popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(my_serialize(array("regip" => $user['regip'])))); $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(my_serialize(array("postip" => $user['regip']))));
|
$popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$user['regip']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$user['regip']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$user['regip']}"); $controls = $popup->fetch();
| $popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$user['regip']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$user['regip']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$user['regip']}"); $controls = $popup->fetch();
|
Zeile 1809 | Zeile 1898 |
---|
++$counter; $ip['ipaddress'] = my_inet_ntop($db->unescape_binary($ip['ipaddress'])); $popup = new PopupMenu("id_{$counter}", $lang->options);
|
++$counter; $ip['ipaddress'] = my_inet_ntop($db->unescape_binary($ip['ipaddress'])); $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->show_users_regged_with_ip, "index.php?module=user-users&results=1&action=search&conditions=".urlencode(my_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(my_serialize(array("postip" => $ip['ipaddress']))));
|
$popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$ip['ipaddress']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$ip['ipaddress']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$ip['ipaddress']}"); $controls = $popup->fetch();
| $popup->add_item($lang->info_on_ip, "index.php?module=user-users&action=iplookup&ipaddress={$ip['ipaddress']}", "MyBB.popupWindow('index.php?module=user-users&action=iplookup&ipaddress={$ip['ipaddress']}', null, true); return false;"); $popup->add_item($lang->ban_ip, "index.php?module=config-banning&filter={$ip['ipaddress']}"); $controls = $popup->fetch();
|
Zeile 1820 | Zeile 1909 |
---|
$table->construct_row(); }
|
$table->construct_row(); }
|
$table->output($lang->ip_address_for." {$user['username']}");
| $table->output($lang->ip_address_for.' '.htmlspecialchars_uni($user['username']));
|
$page->output_footer(); }
| $page->output_footer(); }
|
Zeile 1851 | Zeile 1940 |
---|
}
if($source_user['uid'] == $destination_user['uid'])
|
}
if($source_user['uid'] == $destination_user['uid'])
|
{
| {
|
$errors[] = $lang->error_cannot_merge_same_account; }
| $errors[] = $lang->error_cannot_merge_same_account; }
|
Zeile 1863 | Zeile 1952 |
---|
); $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) {
|
Zeile 1881 | 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 2001 | 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 2047 | Zeile 2131 |
---|
$plugins->run_hooks("admin_user_users_merge_commit");
|
$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']);
| // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete');
// Delete the old user $userhandler->delete_user($source_user['uid']);
$cache->update_awaitingactivation();
// Log admin action log_admin_action($source_user['uid'], htmlspecialchars_uni($source_user['username']), $destination_user['uid'], htmlspecialchars_uni($destination_user['username']));
|
// Redirect!
|
// Redirect!
|
flash_message("<strong>{$source_user['username']}</strong> {$lang->success_merged} {$destination_user['username']}", "success");
| $username = htmlspecialchars_uni($source_user['username']); $destination_username = htmlspecialchars_uni($destination_user['username']); flash_message("<strong>{$username}</strong> {$lang->success_merged} {$destination_username}", "success");
|
admin_redirect("index.php?module=user-users"); exit; }
|
admin_redirect("index.php?module=user-users"); exit; }
|
}
| }
|
$page->add_breadcrumb_item($lang->merge_users); $page->output_header($lang->merge_users);
| $page->add_breadcrumb_item($lang->merge_users); $page->output_header($lang->merge_users);
|
Zeile 2078 | Zeile 2173 |
---|
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css">
|
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css">
|
<script type="text/javascript" src="../jscripts/select2/select2.min.js"></script>
| <script type="text/javascript" src="../jscripts/select2/select2.min.js?ver=1804"></script>
|
<script type="text/javascript"> <!-- $("#source_username").select2({
|
<script type="text/javascript"> <!-- $("#source_username").select2({
|
placeholder: "Search for a user", minimumInputLength: 3, maximumSelectionSize: 3, multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users", dataType: \'json\', data: function (term, page) { return { query: term // search term }; }, results: function (data, page) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to alter remote JSON data return {results: data}; } }, initSelection: function(element, callback) { var query = $(element).val(); if (query !== "") { $.ajax("../xmlhttp.php?action=get_users&getone=1", {
| placeholder: "'.$lang->search_for_a_user.'", minimumInputLength: 2, multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users", dataType: \'json\', data: function (term, page) { return { query: term // search term }; }, results: function (data, page) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to alter remote JSON data return {results: data}; } }, initSelection: function(element, callback) { var query = $(element).val(); if (query !== "") { $.ajax("../xmlhttp.php?action=get_users&getone=1", {
|
data: { query: query },
| data: { query: query },
|
Zeile 2112 | Zeile 2206 |
---|
} }); $("#destination_username").select2({
|
} }); $("#destination_username").select2({
|
placeholder: "Search for a user", minimumInputLength: 3, maximumSelectionSize: 3,
| placeholder: "'.$lang->search_for_a_user.'", minimumInputLength: 2,
|
multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users",
| multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users",
|
Zeile 2160 | Zeile 2253 |
---|
// Build view options from incoming search options if($mybb->input['vid']) {
|
// Build view options from incoming search options if($mybb->input['vid']) {
|
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', 1)."'");
| $query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");
|
$admin_view = $db->fetch_array($query); // View does not exist or this view is private and does not belong to the current user if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
| $admin_view = $db->fetch_array($query); // View does not exist or this view is private and does not belong to the current user if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
|
Zeile 2205 | Zeile 2298 |
---|
if($mybb->input['sortby']) { $admin_view['sortby'] = $mybb->input['sortby'];
|
if($mybb->input['sortby']) { $admin_view['sortby'] = $mybb->input['sortby'];
|
}
if($mybb->get_input('perpage', 1))
| }
if($mybb->get_input('perpage', MyBB::INPUT_INT))
|
{ $admin_view['perpage'] = $mybb->input['perpage']; }
| { $admin_view['perpage'] = $mybb->input['perpage']; }
|
Zeile 2220 | Zeile 2313 |
---|
if($mybb->input['displayas']) { $admin_view['view_type'] = $mybb->input['displayas'];
|
if($mybb->input['displayas']) { $admin_view['view_type'] = $mybb->input['displayas'];
|
}
| }
|
if($mybb->input['profile_fields']) { $admin_view['custom_profile_fields'] = $mybb->input['profile_fields'];
|
if($mybb->input['profile_fields']) { $admin_view['custom_profile_fields'] = $mybb->input['profile_fields'];
|
}
| }
|
$plugins->run_hooks("admin_user_users_search_commit");
|
$plugins->run_hooks("admin_user_users_search_commit");
|
|
|
$results = build_users_view($admin_view);
if($results)
|
$results = build_users_view($admin_view);
if($results)
|
{
| {
|
$page->output_header($lang->find_users); echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>"; $page->output_nav_tabs($sub_tabs, 'find_users'); echo $results; $page->output_footer();
|
$page->output_header($lang->find_users); echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>"; $page->output_nav_tabs($sub_tabs, 'find_users'); echo $results; $page->output_footer();
|
}
| }
|
else { if($mybb->input['from'] == "home")
| else { if($mybb->input['from'] == "home")
|
Zeile 2255 | Zeile 2348 |
---|
}
$page->add_breadcrumb_item($lang->find_users);
|
}
$page->add_breadcrumb_item($lang->find_users);
|
$page->output_header($lang->find_users);
| $page->output_header($lang->find_users);
|
$page->output_nav_tabs($sub_tabs, 'find_users');
// If we have any error messages, show them if($errors) { $page->output_inline_error($errors);
|
$page->output_nav_tabs($sub_tabs, 'find_users');
// If we have any error messages, show them if($errors) { $page->output_inline_error($errors);
|
}
| }
|
if(!$mybb->input['displayas']) { $mybb->input['displayas'] = "card"; }
|
if(!$mybb->input['displayas']) { $mybb->input['displayas'] = "card"; }
|
|
|
$form = new Form("index.php?module=user-users&action=search", "post");
user_search_conditions($mybb->input, $form);
| $form = new Form("index.php?module=user-users&action=search", "post");
user_search_conditions($mybb->input, $form);
|
Zeile 2280 | Zeile 2373 |
---|
"desc" => $lang->descending ); $form_container->output_row($lang->sort_results_by, "", $form->generate_select_box('sortby', $sort_options, $mybb->input['sortby'], array('id' => 'sortby'))." {$lang->in} ".$form->generate_select_box('order', $sort_directions, $mybb->input['order'], array('id' => 'order')), 'sortby');
|
"desc" => $lang->descending ); $form_container->output_row($lang->sort_results_by, "", $form->generate_select_box('sortby', $sort_options, $mybb->input['sortby'], array('id' => 'sortby'))." {$lang->in} ".$form->generate_select_box('order', $sort_directions, $mybb->input['order'], array('id' => 'order')), 'sortby');
|
$form_container->output_row($lang->results_per_page, "", $form->generate_text_box('perpage', $mybb->input['perpage'], array('id' => 'perpage')), 'perpage');
| $form_container->output_row($lang->results_per_page, "", $form->generate_numeric_field('perpage', $mybb->input['perpage'], array('id' => 'perpage', 'min' => 1)), 'perpage');
|
$form_container->output_row($lang->display_results_as, "", $form->generate_radio_button('displayas', 'table', $lang->table, array('checked' => ($mybb->input['displayas'] != "card" ? true : false)))."<br />".$form->generate_radio_button('displayas', 'card', $lang->business_card, array('checked' => ($mybb->input['displayas'] == "card" ? true : false)))); $form_container->end();
| $form_container->output_row($lang->display_results_as, "", $form->generate_radio_button('displayas', 'table', $lang->table, array('checked' => ($mybb->input['displayas'] != "card" ? true : false)))."<br />".$form->generate_radio_button('displayas', 'card', $lang->business_card, array('checked' => ($mybb->input['displayas'] == "card" ? true : false)))); $form_container->end();
|
Zeile 2307 | Zeile 2400 |
---|
{ // We already have a cookie, so let's use it... $mybb->input['vid'] = $mybb->cookies['acp_view'];
|
{ // We already have a cookie, so let's use it... $mybb->input['vid'] = $mybb->cookies['acp_view'];
|
}
| }
|
$vid_url = "&vid=".$mybb->input['vid']; }
| $vid_url = "&vid=".$mybb->input['vid']; }
|
Zeile 2320 | Zeile 2413 |
---|
{ $selected[] = (int)$id; }
|
{ $selected[] = (int)$id; }
|
}
| }
// Verify incoming POST request if(!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=user-user"); } $sub_tabs['manage_users'] = array( "title" => $lang->manage_users, "link" => "./", "description" => $lang->manage_users_desc ); $page->add_breadcrumb_item($lang->manage_users);
|
|
|
// If there isn't anything to select, then output an error
| |
if(!is_array($selected)) {
|
if(!is_array($selected)) {
|
if($mybb->input['inline_action'] != "multilift" && $mybb->request_method != "post") { $errors[] = $lang->error_inline_no_users_selected; }
| // Not selected any users, show error flash_message($lang->error_inline_no_users_selected, 'error'); admin_redirect("index.php?module=user-users".$vid_url);
|
}
|
}
|
if($errors) { // Don't show views, but show the user list if there's errors $inline = true; $mybb->input['action'] = ''; } else
| switch($mybb->input['inline_action'])
|
{
|
{
|
// Let's continue! // Verify incoming POST request if(!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=user-user"); } $sub_tabs['manage_users'] = array( "title" => $lang->manage_users, "link" => "./", "description" => $lang->manage_users_desc ); $page->add_breadcrumb_item($lang->manage_users);
if(!is_array($selected)) { // Not selected any users, show error flash_message($lang->error_inline_no_users_selected, 'error'); admin_redirect("index.php?module=user-users".$vid_url); }
switch($mybb->input['inline_action']) { case 'multiactivate': // Run through the activating users, so that users already registered (but have been selected) aren't affected if(is_array($selected)) { $sql_array = implode(",", $selected); $query = $db->simple_select("users", "uid", "usergroup = '5' AND uid IN (".$sql_array.")"); while($user = $db->fetch_array($query)) { $to_update[] = $user['uid']; } }
| case 'multiactivate': // Run through the activating users, so that users already registered (but have been selected) aren't affected if(is_array($selected)) { $sql_array = implode(",", $selected); $query = $db->simple_select("users", "uid, username, email", "usergroup = '5' AND uid IN (".$sql_array.")"); $user_mail_data = array(); while($user = $db->fetch_array($query)) { $to_update[] = $user['uid']; $user_mail_data[] = array('username' => $user['username'], 'email' => $user['email']); } }
if(is_array($to_update)) { $sql_array = implode(",", $to_update); $db->write_query("UPDATE ".TABLE_PREFIX."users SET usergroup = '2' WHERE uid IN (".$sql_array.")");
$cache->update_awaitingactivation();
// send activation mail foreach($user_mail_data as $mail_data) { $message = $lang->sprintf($lang->email_adminactivateaccount, $mail_data['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); my_mail($mail_data['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message); }
// Action complete, grab stats and show success message - redirect user $to_update_count = count($to_update); $lang->inline_activated = $lang->sprintf($lang->inline_activated, my_number_format($to_update_count));
if($to_update_count != count($selected)) { // The update count is different to how many we selected! $not_updated_count = count($selected) - $to_update_count; $lang->inline_activated_more = $lang->sprintf($lang->inline_activated_more, my_number_format($not_updated_count)); $lang->inline_activated = $lang->inline_activated."<br />".$lang->inline_activated_more; // Add these stats to the message }
$mybb->input['action'] = "inline_activated"; // Force a change to the action so we can add it to the adminlog log_admin_action($to_update_count); // Add to adminlog my_unsetcookie("inlinemod_useracp"); // Unset the cookie, so that the users aren't still selected when we're redirected
flash_message($lang->inline_activated, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } else { // Nothing was updated, show an error flash_message($lang->inline_activated_failed, 'error'); admin_redirect("index.php?module=user-users".$vid_url); } break; case 'multilift': // Get the users that are banned, and check that they have been selected if($mybb->input['no']) { admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No' }
if($mybb->request_method == "post") { $sql_array = implode(",", $selected); $query = $db->simple_select("banned", "*", "uid IN (".$sql_array.")"); $to_be_unbanned = $db->num_rows($query); while($ban = $db->fetch_array($query)) { $updated_group = array( "usergroup" => $ban['oldgroup'], "additionalgroups" => $ban['oldadditionalgroups'], "displaygroup" => $ban['olddisplaygroup'] ); $db->update_query("users", $updated_group, "uid = '".$ban['uid']."'"); $db->delete_query("banned", "uid = '".$ban['uid']."'"); }
$cache->update_banned(); $cache->update_moderators();
$mybb->input['action'] = "inline_lift"; log_admin_action($to_be_unbanned); my_unsetcookie("inlinemod_useracp");
$lang->success_ban_lifted = $lang->sprintf($lang->success_ban_lifted, my_number_format($to_be_unbanned)); flash_message($lang->success_ban_lifted, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } else { $page->output_confirm_action("index.php?module=user-users&action=inline_edit&inline_action=multilift", $lang->confirm_multilift); }
break; case 'multiban': if($mybb->input['processed'] == 1) { // We've posted ban information! // Build an array of users to ban, =D $sql_array = implode(",", $selected); // Build a cache array for this users that have been banned already $query = $db->simple_select("banned", "uid", "uid IN (".$sql_array.")"); while($user = $db->fetch_array($query)) { $bannedcache[] = "u_".$user['uid']; }
// Collect the users $query = $db->simple_select("users", "uid, username, usergroup, additionalgroups, displaygroup", "uid IN (".$sql_array.")");
if($mybb->input['bantime'] == '---') { $lifted = 0; } else { $lifted = ban_date2timestamp($mybb->input['bantime']); }
$reason = my_substr($mybb->input['reason'], 0, 255);
$banned_count = 0; while($user = $db->fetch_array($query)) { if($user['uid'] == $mybb->user['uid'] || is_super_admin($user['uid'])) { // We remove ourselves and Super Admins from the mix continue; }
if(is_array($bannedcache) && in_array("u_".$user['uid'], $bannedcache)) { // User already has a ban, update it! $update_array = array( "admin" => (int)$mybb->user['uid'], "dateline" => TIME_NOW, "bantime" => $db->escape_string($mybb->input['bantime']), "lifted" => $db->escape_string($lifted), "reason" => $db->escape_string($reason) ); $db->update_query("banned", $update_array, "uid = '".$user['uid']."'"); } else { // Not currently banned - insert the ban $insert_array = array( 'uid' => $user['uid'], 'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT), 'oldgroup' => $user['usergroup'], 'oldadditionalgroups' => $user['additionalgroups'], 'olddisplaygroup' => $user['displaygroup'], 'admin' => (int)$mybb->user['uid'], 'dateline' => TIME_NOW, 'bantime' => $db->escape_string($mybb->input['bantime']), 'lifted' => $db->escape_string($lifted), 'reason' => $db->escape_string($reason) ); $db->insert_query('banned', $insert_array); }
// Moved the user to the 'Banned' Group $update_array = array( 'usergroup' => 7, 'displaygroup' => 0, 'additionalgroups' => '', ); $db->update_query('users', $update_array, "uid = '{$user['uid']}'");
$db->delete_query("forumsubscriptions", "uid = '{$user['uid']}'"); $db->delete_query("threadsubscriptions", "uid = '{$user['uid']}'");
$cache->update_banned(); ++$banned_count; } $mybb->input['action'] = "inline_banned"; log_admin_action($banned_count, $lifted); my_unsetcookie("inlinemod_useracp"); // Remove the cookie of selected users as we've finished with them
$lang->users_banned = $lang->sprintf($lang->users_banned, $banned_count); flash_message($lang->users_banned, 'success'); admin_redirect("index.php?module=user-users".$vid_url); }
$page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Provide the user with a warning of what they're about to do $table = new Table; $lang->mass_ban_info = $lang->sprintf($lang->mass_ban_info, count($selected)); $table->construct_cell($lang->mass_ban_info); $table->construct_row(); $table->output($lang->important);
// If there's any errors, display inline if($errors) { $page->output_inline_error($errors); }
$form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiban'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer('<div class="float_right"><a href="index.php?module=user-users&action=inline_edit&inline_action=multilift&my_post_key='.$mybb->post_code.'">'.$lang->lift_bans.'</a></div>'.$lang->mass_ban); $form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); $ban_times = fetch_ban_times(); foreach($ban_times as $time => $period) { if($time != '---') { $friendly_time = my_date("D, jS M Y @ {$mybb->settings['timeformat']}", ban_date2timestamp($time)); $period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period; } $form_container->output_row($lang->ban_time, "", $form->generate_select_box('bantime', $length_list, $mybb->input['bantime'], array('id' => 'bantime')), 'bantime'); $form_container->end();
$buttons[] = $form->generate_submit_button($lang->ban_users); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; case 'multidelete': if($mybb->input['no']) { admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No } else { if($mybb->input['processed'] == 1) { // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete');
// Delete users $deleted = $userhandler->delete_user($selected); $to_be_deleted = $deleted['deleted_users']; // Get the correct number of deleted users
// Update forum stats, remove the cookie and redirect the user my_unsetcookie("inlinemod_useracp"); $mybb->input['action'] = "inline_delete"; log_admin_action($to_be_deleted);
$lang->users_deleted = $lang->sprintf($lang->users_deleted, $to_be_deleted);
$cache->update_awaitingactivation();
flash_message($lang->users_deleted, 'success'); admin_redirect("index.php?module=user-users".$vid_url); }
$to_be_deleted = count($selected); $lang->confirm_multidelete = $lang->sprintf($lang->confirm_multidelete, my_number_format($to_be_deleted)); $page->output_confirm_action("index.php?module=user-users&action=inline_edit&inline_action=multidelete&my_post_key={$mybb->post_code}&processed=1", $lang->confirm_multidelete); } break; case 'multiprune': if($mybb->input['processed'] == 1) { if(($mybb->input['day'] || $mybb->input['month'] || $mybb->input['year']) && $mybb->input['set']) { $errors[] = $lang->multi_selected_dates; }
$day = $mybb->get_input('day', MyBB::INPUT_INT); $month = $mybb->get_input('month', MyBB::INPUT_INT); $year = $mybb->get_input('year', MyBB::INPUT_INT);
// Selected a date - check if the date the user entered is valid if($mybb->input['day'] || $mybb->input['month'] || $mybb->input['year']) { // Is the date sort of valid? if($day < 1 || $day > 31 || $month < 1 || $month > 12 || ($month == 2 && $day > 29)) { $errors[] = $lang->incorrect_date; }
// Check the month $months = get_bdays($year); if($day > $months[$month-1]) { $errors[] = $lang->incorrect_date; }
// Check the year if($year != 0 && ($year < (date("Y")-100)) || $year > date("Y")) { $errors[] = $lang->incorrect_date; }
|
|
|
if(is_array($to_update))
| if(!$errors) { // No errors, so let's continue and set the date to delete from $date = mktime(date('H'), date('i'), date('s'), $month, $day, $year); // Generate a unix time stamp } } elseif($mybb->input['set'] > 0)
|
{
|
{
|
$sql_array = implode(",", $to_update); $db->write_query("UPDATE ".TABLE_PREFIX."users SET usergroup = '2' WHERE uid IN (".$sql_array.")");
$cache->update_awaitingactivation();
| // Set options // For this purpose, 1 month = 31 days $base_time = 24 * 60 * 60;
|
|
|
// Action complete, grab stats and show success message - redirect user $to_update_count = count($to_update); $lang->inline_activated = $lang->sprintf($lang->inline_activated, my_number_format($to_update_count));
| switch($mybb->input['set']) { case '1': $threshold = $base_time * 31; // 1 month = 31 days, in the standard terms break; case '2': $threshold = $base_time * 93; // 3 months = 31 days * 3 break; case '3': $threshold = $base_time * 183; // 6 months = 365 days / 2 break; case '4': $threshold = $base_time * 365; // 1 year = 365 days break; case '5': $threshold = $base_time * 548; // 18 months = 365 + 183 break; case '6': $threshold = $base_time * 730; // 2 years = 365 * 2 break; }
|
|
|
if($to_update_count != count($selected))
| if(!$threshold)
|
{
|
{
|
// The update count is different to how many we selected! $not_updated_count = count($selected) - $to_update_count; $lang->inline_activated_more = $lang->sprintf($lang->inline_activated_more, my_number_format($not_updated_count)); $lang->inline_activated = $lang->inline_activated."<br />".$lang->inline_activated_more; // Add these stats to the message
| // An option was entered that isn't in the dropdown box $errors[] = $lang->no_set_option; } else { $date = TIME_NOW - $threshold;
|
}
|
}
|
$mybb->input['action'] = "inline_activated"; // Force a change to the action so we can add it to the adminlog log_admin_action($to_update_count); // Add to adminlog my_unsetcookie("inlinemod_useracp"); // Unset the cookie, so that the users aren't still selected when we're redirected
flash_message($lang->inline_activated, 'success'); admin_redirect("index.php?module=user-users".$vid_url);
| |
} else {
|
} else {
|
// Nothing was updated, show an error flash_message($lang->inline_activated_failed, 'error'); admin_redirect("index.php?module=user-users".$vid_url); } break; case 'multilift': // Get the users that are banned, and check that they have been selected if($mybb->input['no']) { admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No' }
if($mybb->request_method == "post") { $sql_array = implode(",", $selected); $query = $db->simple_select("banned", "*", "uid IN (".$sql_array.")"); $to_be_unbanned = $db->num_rows($query); while($ban = $db->fetch_array($query)) { $updated_group = array( "usergroup" => $ban['oldgroup'], "additionalgroups" => $ban['oldadditionalgroups'], "displaygroup" => $ban['olddisplaygroup'] ); $db->update_query("users", $updated_group, "uid = '".$ban['uid']."'"); $db->delete_query("banned", "uid = '".$ban['uid']."'"); }
$cache->update_banned(); $cache->update_moderators();
$mybb->input['action'] = "inline_lift"; log_admin_action($to_be_unbanned); my_unsetcookie("inlinemod_useracp");
$lang->success_ban_lifted = $lang->sprintf($lang->success_ban_lifted, my_number_format($to_be_unbanned)); flash_message($lang->success_ban_lifted, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } else { $page->output_confirm_action("index.php?module=user-users&action=inline_edit&inline_action=multilift", $lang->confirm_multilift);
| $errors[] = $lang->no_prune_option;
|
}
|
}
|
break; case 'multiban': if($mybb->input['processed'] == 1)
| if(!$errors)
|
{
|
{
|
// We've posted ban information! // Build an array of users to ban, =D
| |
$sql_array = implode(",", $selected);
|
$sql_array = implode(",", $selected);
|
// Build a cache array for this users that have been banned already $query = $db->simple_select("banned", "uid", "uid IN (".$sql_array.")"); while($user = $db->fetch_array($query)) { $bannedcache[] = "u_".$user['uid']; }
// Collect the users $query = $db->simple_select("users", "uid, username, usergroup, additionalgroups, displaygroup", "uid IN (".$sql_array.")");
if($mybb->input['bantime'] == '---') { $lifted = 0; } else { $lifted = ban_date2timestamp($mybb->input['bantime']); }
$reason = my_substr($mybb->input['reason'], 0, 255);
$banned_count = 0;
| $prune_array = array(); $query = $db->simple_select("users", "uid", "uid IN (".$sql_array.")");
|
while($user = $db->fetch_array($query)) {
|
while($user = $db->fetch_array($query)) {
|
if($user['uid'] == $mybb->user['uid'] || is_super_admin($user['uid'])) { // We remove ourselves and Super Admins from the mix
| // Protect Super Admins if(is_super_admin($user['uid']) && !is_super_admin($mybb->user['uid'])) {
|
continue; }
|
continue; }
|
if(is_array($bannedcache) && in_array("u_".$user['uid'], $bannedcache)) { // User already has a ban, update it! $update_array = array( "admin" => (int)$mybb->user['uid'], "dateline" => TIME_NOW, "bantime" => $db->escape_string($mybb->input['bantime']), "lifted" => $db->escape_string($lifted), "reason" => $db->escape_string($reason) ); $db->update_query("banned", $update_array, "uid = '".$user['uid']."'"); } else { // Not currently banned - insert the ban $insert_array = array( 'uid' => $user['uid'], 'gid' => (int)$mybb->input['usergroup'], 'oldgroup' => $user['usergroup'], 'oldadditionalgroups' => $user['additionalgroups'], 'olddisplaygroup' => $user['displaygroup'], 'admin' => (int)$mybb->user['uid'], 'dateline' => TIME_NOW, 'bantime' => $db->escape_string($mybb->input['bantime']), 'lifted' => $db->escape_string($lifted), 'reason' => $db->escape_string($reason) ); $db->insert_query('banned', $insert_array); }
// Moved the user to the 'Banned' Group $update_array = array( 'usergroup' => 7, 'displaygroup' => 0, 'additionalgroups' => '', ); $db->update_query('users', $update_array, "uid = '{$user['uid']}'");
$db->delete_query("forumsubscriptions", "uid = '{$user['uid']}'"); $db->delete_query("threadsubscriptions", "uid = '{$user['uid']}'");
$cache->update_banned(); ++$banned_count; } $mybb->input['action'] = "inline_banned"; log_admin_action($banned_count, $lifted); my_unsetcookie("inlinemod_useracp"); // Remove the cookie of selected users as we've finished with them
$lang->users_banned = $lang->sprintf($lang->users_banned, $banned_count); flash_message($lang->users_banned, 'success'); admin_redirect("index.php?module=user-users".$vid_url); }
$page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Provide the user with a warning of what they're about to do $table = new Table; $lang->mass_ban_info = $lang->sprintf($lang->mass_ban_info, count($selected)); $table->construct_cell($lang->mass_ban_info); $table->construct_row(); $table->output($lang->important);
// If there's any errors, display inline if($errors) { $page->output_inline_error($errors); }
$form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiban'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer('<div class="float_right"><a href="index.php?module=user-users&action=inline_edit&inline_action=multilift&my_post_key='.$mybb->post_code.'">'.$lang->lift_bans.'</a></div>'.$lang->mass_ban); $form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); $ban_times = fetch_ban_times(); foreach($ban_times as $time => $period) { if($time != '---') { $friendly_time = my_date("D, jS M Y @ g:ia", ban_date2timestamp($time)); $period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period; } $form_container->output_row($lang->ban_time, "", $form->generate_select_box('bantime', $length_list, $mybb->input['bantime'], array('id' => 'bantime')), 'bantime'); $form_container->end();
$buttons[] = $form->generate_submit_button($lang->ban_users); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; case 'multidelete': if($mybb->input['no']) { admin_redirect("index.php?module=user-users".$vid_url); // User clicked on 'No } else { if($mybb->input['processed'] == 1) { // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete');
// Delete users $deleted = $userhandler->delete_user($selected); $to_be_deleted = $deleted['deleted_users']; // Get the correct number of deleted users
// Update forum stats, remove the cookie and redirect the user my_unsetcookie("inlinemod_useracp"); $mybb->input['action'] = "inline_delete"; log_admin_action($to_be_deleted);
$lang->users_deleted = $lang->sprintf($lang->users_deleted, $to_be_deleted); flash_message($lang->users_deleted, 'success'); admin_redirect("index.php?module=user-users".$vid_url); }
$to_be_deleted = count($selected); $lang->confirm_multidelete = $lang->sprintf($lang->confirm_multidelete, my_number_format($to_be_deleted)); $page->output_confirm_action("index.php?module=user-users&action=inline_edit&inline_action=multidelete&my_post_key={$mybb->post_code}&processed=1", $lang->confirm_multidelete); } break; case 'multiprune': if($mybb->input['processed'] == 1) { if(($mybb->input['day'] || $mybb->input['month'] || $mybb->input['year']) && $mybb->input['set']) { $errors[] = $lang->multi_selected_dates; }
$day = (int)$mybb->input['day']; $month = (int)$mybb->input['month']; $year = (int)$mybb->input['year'];
// Selected a date - check if the date the user entered is valid if($mybb->input['day'] || $mybb->input['month'] || $mybb->input['year']) { // Is the date sort of valid? if($day < 1 || $day > 31 || $month < 1 || $month > 12 || ($month == 2 && $day > 29)) { $errors[] = $lang->incorrect_date; }
// Check the month $months = get_bdays($year); if($day > $months[$month]-1) { $errors[] = $lang->incorrect_date; }
// Check the year if($year != 0 && ($year < (date("Y")-100)) || $year > date("Y")) { $errors[] = $lang->incorrect_date; }
if(!$errors) { // No errors, so let's continue and set the date to delete from $date = mktime(date('H'), date('i'), date('s'), $month, $day, $year); // Generate a unix time stamp } } elseif($mybb->input['set'] > 0) { // Set options // For this purpose, 1 month = 31 days $base_time = 24 * 60 * 60;
switch($mybb->input['set']) { case '1': $threshold = $base_time * 31; // 1 month = 31 days, in the standard terms break; case '2': $threshold = $base_time * 93; // 3 months = 31 days * 3 break; case '3': $threshold = $base_time * 183; // 6 months = 365 days / 2 break; case '4': $threshold = $base_time * 365; // 1 year = 365 days break; case '5': $threshold = $base_time * 548; // 18 months = 365 + 183 break; case '6': $threshold = $base_time * 730; // 2 years = 365 * 2 break; }
if(!$threshold) { // An option was entered that isn't in the dropdown box $errors[] = $lang->no_set_option; } else { $date = TIME_NOW - $threshold; } } else { $errors[] = $lang->no_prune_option; }
if(!$errors) { $sql_array = implode(",", $selected); $prune_array = array(); $query = $db->simple_select("users", "uid", "uid IN (".$sql_array.")"); while($user = $db->fetch_array($query)) { // Protect Super Admins if(is_super_admin($user['uid']) && !is_super_admin($mybb->user['uid'])) { continue; }
$return_array = delete_user_posts($user['uid'], $date); // Delete user posts, and grab a list of threads to delete if($return_array && is_array($return_array)) { $prune_array = array_merge_recursive($prune_array, $return_array); } }
// No posts were found for the user, return error if(!is_array($prune_array) || count($prune_array) == 0) { flash_message($lang->prune_fail, 'error'); admin_redirect("index.php?module=user-users".$vid_url); }
// Require the rebuild functions require_once MYBB_ROOT.'/inc/functions.php'; require_once MYBB_ROOT.'/inc/functions_rebuild.php';
// We've finished deleting user's posts, so let's delete the threads if(is_array($prune_array['to_delete']) && count($prune_array['to_delete']) > 0) { foreach($prune_array['to_delete'] as $tid) { $db->delete_query("threads", "tid='$tid'"); $db->delete_query("threads", "closed='moved|$tid'"); $db->delete_query("threadsubscriptions", "tid='$tid'"); $db->delete_query("polls", "tid='$tid'"); $db->delete_query("threadsread", "tid='$tid'"); $db->delete_query("threadratings", "tid='$tid'"); } }
// After deleting threads, rebuild the thread counters for the affected threads if(is_array($prune_array['thread_update']) && count($prune_array['thread_update']) > 0)
| $return_array = delete_user_posts($user['uid'], $date); // Delete user posts, and grab a list of threads to delete if($return_array && is_array($return_array))
|
{
|
{
|
$sql_array = implode(",", $prune_array['thread_update']); $query = $db->simple_select("threads", "tid", "tid IN (".$sql_array.")", array('order_by' => 'tid', 'order_dir' => 'asc')); while($thread = $db->fetch_array($query)) { rebuild_thread_counters($thread['tid']); }
| $prune_array = array_merge_recursive($prune_array, $return_array);
|
}
|
}
|
| }
|
|
|
// After updating thread counters, update the affected forum counters if(is_array($prune_array['forum_update']) && count($prune_array['forum_update']) > 0) { $sql_array = implode(",", $prune_array['forum_update']); $query = $db->simple_select("forums", "fid", "fid IN (".$sql_array.")", array('order_by' => 'fid', 'order_dir' => 'asc')); while($forum = $db->fetch_array($query)) { // Because we have a recursive array merge, check to see if there isn't a duplicated forum to update if($looped_forum == $forum['fid']) { continue; } $looped_forum = $forum['fid']; rebuild_forum_counters($forum['fid']); } }
//log_admin_action(); my_unsetcookie("inlinemod_useracp"); // We've got our users, remove the cookie flash_message($lang->prune_complete, 'success');
| // No posts were found for the user, return error if(!is_array($prune_array) || count($prune_array) == 0) { flash_message($lang->prune_fail, 'error');
|
admin_redirect("index.php?module=user-users".$vid_url); }
|
admin_redirect("index.php?module=user-users".$vid_url); }
|
}
$page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Display a table warning $table = new Table; $lang->mass_prune_info = $lang->sprintf($lang->mass_prune_info, count($selected)); $table->construct_cell($lang->mass_prune_info); $table->construct_row(); $table->output($lang->important);
if($errors) { $page->output_inline_error($errors); }
// Display the prune options $form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiprune'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer($lang->mass_prune_posts);
// Generate a list of days (1 - 31) $day_options = array(); $day_options[] = " "; for($i = 1; $i <= 31; ++$i) { $day_options[] = $i; }
// Generate a list of months (1 - 12) $month_options = array(); $month_options[] = " "; for($i = 1; $i <= 12; ++$i) { $string = "month_{$i}"; $month_options[] = $lang->$string; } $date_box = $form->generate_select_box('day', $day_options, $mybb->input['day']); $month_box = $form->generate_select_box('month', $month_options, $mybb->input['month']); $year_box = $form->generate_text_box('year', $mybb->input['year'], array('id' => 'year', 'style' => 'width: 50px;'));
$prune_select = $date_box.$month_box.$year_box; $form_container->output_row($lang->manual_date, "", $prune_select, 'date');
| |
|
|
// Generate the set date box $set_options = array(); $set_options[] = $lang->set_an_option; for($i = 1; $i <= 6; ++$i) { $string = "option_{$i}"; $set_options[] = $lang->$string; }
$form_container->output_row($lang->relative_date, "", $lang->delete_posts." ".$form->generate_select_box('set', $set_options, $mybb->input['set']), 'set'); $form_container->end();
| // Require the rebuild functions require_once MYBB_ROOT.'/inc/functions.php'; require_once MYBB_ROOT.'/inc/functions_rebuild.php';
// We've finished deleting user's posts, so let's delete the threads if(is_array($prune_array['to_delete']) && count($prune_array['to_delete']) > 0) { foreach($prune_array['to_delete'] as $tid) { $db->delete_query("threads", "tid='$tid'"); $db->delete_query("threads", "closed='moved|$tid'"); $db->delete_query("threadsubscriptions", "tid='$tid'"); $db->delete_query("polls", "tid='$tid'"); $db->delete_query("threadsread", "tid='$tid'"); $db->delete_query("threadratings", "tid='$tid'"); } }
|
|
|
$buttons[] = $form->generate_submit_button($lang->prune_posts); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; case 'multiusergroup': if($mybb->input['processed'] == 1) { // Determine additional usergroups if(is_array($mybb->input['additionalgroups']))
| // After deleting threads, rebuild the thread counters for the affected threads if(is_array($prune_array['thread_update']) && count($prune_array['thread_update']) > 0)
|
{
|
{
|
foreach($mybb->input['additionalgroups'] as $key => $gid)
| $sql_array = implode(",", $prune_array['thread_update']); $query = $db->simple_select("threads", "tid", "tid IN (".$sql_array.")", array('order_by' => 'tid', 'order_dir' => 'asc')); while($thread = $db->fetch_array($query))
|
{
|
{
|
if($gid == $mybb->input['usergroup'])
| rebuild_thread_counters($thread['tid']); } }
// After updating thread counters, update the affected forum counters if(is_array($prune_array['forum_update']) && count($prune_array['forum_update']) > 0) { $sql_array = implode(",", $prune_array['forum_update']); $query = $db->simple_select("forums", "fid", "fid IN (".$sql_array.")", array('order_by' => 'fid', 'order_dir' => 'asc')); while($forum = $db->fetch_array($query)) { // Because we have a recursive array merge, check to see if there isn't a duplicated forum to update if($looped_forum == $forum['fid'])
|
{
|
{
|
unset($mybb->input['additionalgroups'][$key]);
| continue;
|
}
|
}
|
}
$additionalgroups = implode(",", array_map('intval', $mybb->input['additionalgroups'])); } else { $additionalgroups = ''; }
// Create an update array $update_array = array( "usergroup" => (int)$mybb->input['usergroup'], "additionalgroups" => $additionalgroups, "displaygroup" => (int)$mybb->input['displaygroup'] );
| $looped_forum = $forum['fid']; rebuild_forum_counters($forum['fid']); } }
//log_admin_action(); my_unsetcookie("inlinemod_useracp"); // We've got our users, remove the cookie flash_message($lang->prune_complete, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } }
|
|
|
// Do the usergroup update for all those selected // If the a selected user is a super admin, don't update that user foreach($selected as $user)
| $page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Display a table warning $table = new Table; $lang->mass_prune_info = $lang->sprintf($lang->mass_prune_info, count($selected)); $table->construct_cell($lang->mass_prune_info); $table->construct_row(); $table->output($lang->important);
if($errors) { $page->output_inline_error($errors); }
// Display the prune options $form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiprune'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer($lang->mass_prune_posts);
// Generate a list of days (1 - 31) $day_options = array(); $day_options[] = " "; for($i = 1; $i <= 31; ++$i) { $day_options[] = $i; }
// Generate a list of months (1 - 12) $month_options = array(); $month_options[] = " "; for($i = 1; $i <= 12; ++$i) { $string = "month_{$i}"; $month_options[] = $lang->$string; } $date_box = $form->generate_select_box('day', $day_options, $mybb->input['day']); $month_box = $form->generate_select_box('month', $month_options, $mybb->input['month']); $year_box = $form->generate_numeric_field('year', $mybb->input['year'], array('id' => 'year', 'style' => 'width: 50px;', 'min' => 0));
$prune_select = $date_box.$month_box.$year_box; $form_container->output_row($lang->manual_date, "", $prune_select, 'date');
// Generate the set date box $set_options = array(); $set_options[] = $lang->set_an_option; for($i = 1; $i <= 6; ++$i) { $string = "option_{$i}"; $set_options[] = $lang->$string; }
$form_container->output_row($lang->relative_date, "", $lang->delete_posts." ".$form->generate_select_box('set', $set_options, $mybb->input['set']), 'set'); $form_container->end();
$buttons[] = $form->generate_submit_button($lang->prune_posts); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; case 'multiusergroup': if($mybb->input['processed'] == 1) { // Determine additional usergroups if(is_array($mybb->input['additionalgroups'])) { foreach($mybb->input['additionalgroups'] as $key => $gid)
|
{
|
{
|
if(!is_super_admin($user))
| if($gid == $mybb->input['usergroup'])
|
{
|
{
|
$users_to_update[] = $user;
| unset($mybb->input['additionalgroups'][$key]);
|
}
|
}
|
}
$to_update_count = count($users_to_update); if($to_update_count > 0 && is_array($users_to_update)) { // Update the users in the database $sql = implode(",", $users_to_update); $db->update_query("users", $update_array, "uid IN (".$sql.")");
// Redirect the admin... $mybb->input['action'] = "inline_usergroup"; log_admin_action($to_update_count); my_unsetcookie("inlinemod_useracp"); flash_message($lang->success_mass_usergroups, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } else
| }
$additionalgroups = implode(",", array_map('intval', $mybb->input['additionalgroups'])); } else { $additionalgroups = ''; }
// Create an update array $update_array = array( "usergroup" => $mybb->get_input('usergroup', MyBB::INPUT_INT), "additionalgroups" => $additionalgroups, "displaygroup" => $mybb->get_input('displaygroup', MyBB::INPUT_INT) );
// Do the usergroup update for all those selected // If the a selected user is a super admin, don't update that user foreach($selected as $user) { if(!is_super_admin($user))
|
{
|
{
|
// They tried to edit super admins! Uh-oh! $errors[] = $lang->no_usergroup_changed;
| $users_to_update[] = $user;
|
} }
|
} }
|
$page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Display a table warning $table = new Table; $lang->usergroup_info = $lang->sprintf($lang->usergroup_info, count($selected)); $table->construct_cell($lang->usergroup_info); $table->construct_row(); $table->output($lang->important);
if($errors) { $page->output_inline_error($errors); }
// Display the usergroup options $form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiusergroup'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer($lang->mass_usergroups);
// Usergroups $display_group_options[0] = $lang->use_primary_user_group; $options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) { $options[$usergroup['gid']] = $usergroup['title']; $display_group_options[$usergroup['gid']] = $usergroup['title']; }
if(!is_array($mybb->input['additionalgroups']))
| $to_update_count = count($users_to_update); if($to_update_count > 0 && is_array($users_to_update)) { // Update the users in the database $sql = implode(",", $users_to_update); $db->update_query("users", $update_array, "uid IN (".$sql.")");
// Redirect the admin... $mybb->input['action'] = "inline_usergroup"; log_admin_action($to_update_count); my_unsetcookie("inlinemod_useracp"); flash_message($lang->success_mass_usergroups, 'success'); admin_redirect("index.php?module=user-users".$vid_url); } else
|
{
|
{
|
$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']);
| // They tried to edit super admins! Uh-oh! $errors[] = $lang->no_usergroup_changed;
|
}
|
}
|
$form_container->output_row($lang->primary_user_group, "", $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, "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');
$form_container->end();
$buttons[] = $form->generate_submit_button($lang->alter_usergroups); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; } } }
| }
$page->output_header($lang->manage_users); $page->output_nav_tabs($sub_tabs, 'manage_users');
// Display a table warning $table = new Table; $lang->usergroup_info = $lang->sprintf($lang->usergroup_info, count($selected)); $table->construct_cell($lang->usergroup_info); $table->construct_row(); $table->output($lang->important);
if($errors) { $page->output_inline_error($errors); }
// Display the usergroup options $form = new Form("index.php?module=user-users", "post"); echo $form->generate_hidden_field('action', 'inline_edit'); echo $form->generate_hidden_field('inline_action', 'multiusergroup'); echo $form->generate_hidden_field('processed', '1');
$form_container = new FormContainer($lang->mass_usergroups);
// Usergroups $display_group_options[0] = $lang->use_primary_user_group; $options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) { $options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']); $display_group_options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']); }
if(!is_array($mybb->input['additionalgroups'])) { $mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']); }
$form_container->output_row($lang->primary_user_group, "", $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, "", $form->generate_select_box('displaygroup', $display_group_options, $mybb->input['displaygroup'], array('id' => 'displaygroup')), 'displaygroup');
$form_container->end();
$buttons[] = $form->generate_submit_button($lang->alter_usergroups); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); break; } }
|
if(!$mybb->input['action']) { $plugins->run_hooks("admin_user_users_start");
|
if(!$mybb->input['action']) { $plugins->run_hooks("admin_user_users_start");
|
|
|
$page->output_header($lang->browse_users); echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>";
|
$page->output_header($lang->browse_users); echo "<script type=\"text/javascript\" src=\"jscripts/users.js\"></script>";
|
|
|
$page->output_nav_tabs($sub_tabs, 'browse_users');
if(isset($mybb->input['search_id']) && $admin_session['data']['user_views'][$mybb->input['search_id']])
|
$page->output_nav_tabs($sub_tabs, 'browse_users');
if(isset($mybb->input['search_id']) && $admin_session['data']['user_views'][$mybb->input['search_id']])
|
{
| {
|
$admin_view = $admin_session['data']['user_views'][$mybb->input['search_id']]; unset($admin_view['extra_sql']); }
| $admin_view = $admin_session['data']['user_views'][$mybb->input['search_id']]; unset($admin_view['extra_sql']); }
|
Zeile 2966 | Zeile 3052 |
---|
// Showing a specific view if(isset($mybb->input['vid'])) {
|
// Showing a specific view if(isset($mybb->input['vid'])) {
|
$query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', 1)."'");
| $query = $db->simple_select("adminviews", "*", "vid='".$mybb->get_input('vid', MyBB::INPUT_INT)."'");
|
$admin_view = $db->fetch_array($query); // View does not exist or this view is private and does not belong to the current user if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
|
$admin_view = $db->fetch_array($query); // View does not exist or this view is private and does not belong to the current user if(!$admin_view['vid'] || ($admin_view['visibility'] == 1 && $admin_view['uid'] != $mybb->user['uid']))
|
{
| {
|
unset($admin_view);
|
unset($admin_view);
|
} }
| } }
|
// Don't have a view? Fetch the default if(!isset($admin_view))
| // Don't have a view? Fetch the default if(!isset($admin_view))
|
Zeile 2993 | Zeile 3079 |
---|
$query = $db->simple_select("adminviews", "*", "type='user' AND (visibility=2 OR uid={$mybb->user['uid']})", array("order_by" => "title")); while($view = $db->fetch_array($query))
|
$query = $db->simple_select("adminviews", "*", "type='user' AND (visibility=2 OR uid={$mybb->user['uid']})", array("order_by" => "title")); while($view = $db->fetch_array($query))
|
{
| {
|
$popup->add_item(htmlspecialchars_uni($view['title']), "index.php?module=user-users&vid={$view['vid']}"); } $popup->add_item("<em>{$lang->manage_views}</em>", "index.php?module=user-users&action=views");
| $popup->add_item(htmlspecialchars_uni($view['title']), "index.php?module=user-users&vid={$view['vid']}"); } $popup->add_item("<em>{$lang->manage_views}</em>", "index.php?module=user-users&action=views");
|
Zeile 3002 | Zeile 3088 |
---|
if(isset($mybb->input['type'])) { $admin_view['view_type'] = $mybb->input['type'];
|
if(isset($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 we came from the home page and clicked on the "Activate Users" link, send them back to here
| if(!$results) { // If we came from the home page and clicked on the "Activate Users" link, send them back to here
|
Zeile 3016 | Zeile 3102 |
---|
update_admin_session('from', ''); admin_redirect("index.php"); exit;
|
update_admin_session('from', ''); admin_redirect("index.php"); exit;
|
}
| }
|
else { $errors[] = $lang->error_no_users_found;
|
else { $errors[] = $lang->error_no_users_found;
|
}
| }
|
}
// If we have any error messages, show them
| }
// If we have any error messages, show them
|
Zeile 3031 | Zeile 3117 |
---|
echo "<div style=\"display: inline; float: right;\">{$admin_view['popup']}</div><br />\n"; } $page->output_inline_error($errors);
|
echo "<div style=\"display: inline; float: right;\">{$admin_view['popup']}</div><br />\n"; } $page->output_inline_error($errors);
|
}
echo $results;
| }
echo $results;
|
$page->output_footer(); }
|
$page->output_footer(); }
|
| /** * @param array $view * * @return string */
|
function build_users_view($view) { global $mybb, $db, $cache, $lang, $user_view_fields, $page;
|
function build_users_view($view) { global $mybb, $db, $cache, $lang, $user_view_fields, $page;
|
| if($view['view_type'] != 'card') { $view['view_type'] = 'table'; }
|
$view_title = ''; if($view['title'])
| $view_title = ''; if($view['title'])
|
Zeile 3053 | Zeile 3149 |
---|
}
$view_title .= " (".htmlspecialchars_uni($view['title']).")";
|
}
$view_title .= " (".htmlspecialchars_uni($view['title']).")";
|
}
| }
|
// Build the URL to this view if(!isset($view['url']))
|
// Build the URL to this view if(!isset($view['url']))
|
{
| {
|
$view['url'] = "index.php?module=user-users"; } if(!is_array($view['conditions']))
|
$view['url'] = "index.php?module=user-users"; } if(!is_array($view['conditions']))
|
{
| {
|
$view['conditions'] = my_unserialize($view['conditions']); } if(!is_array($view['fields']))
|
$view['conditions'] = my_unserialize($view['conditions']); } if(!is_array($view['fields']))
|
{
| {
|
$view['fields'] = my_unserialize($view['fields']); } if(!is_array($view['custom_profile_fields']))
|
$view['fields'] = my_unserialize($view['fields']); } if(!is_array($view['custom_profile_fields']))
|
{
| {
|
$view['custom_profile_fields'] = my_unserialize($view['custom_profile_fields']);
|
$view['custom_profile_fields'] = my_unserialize($view['custom_profile_fields']);
|
} if(isset($mybb->input['username'])) {
| } if(isset($mybb->input['username'])) {
|
$view['conditions']['username'] = $mybb->input['username'];
|
$view['conditions']['username'] = $mybb->input['username'];
|
} if($view['vid'])
| $view['url'] .= "&username=".urlencode(htmlspecialchars_uni($mybb->input['username'])); } if($view['vid'])
|
{ $view['url'] .= "&vid={$view['vid']}"; }
| { $view['url'] .= "&vid={$view['vid']}"; }
|
Zeile 3092 | Zeile 3189 |
---|
$mybb->input['search_id'] = $search_id; } $view['url'] .= "&search_id=".htmlspecialchars_uni($mybb->input['search_id']);
|
$mybb->input['search_id'] = $search_id; } $view['url'] .= "&search_id=".htmlspecialchars_uni($mybb->input['search_id']);
|
}
if(isset($mybb->input['username'])) { $view['url'] .= "&username=".urlencode(htmlspecialchars_uni($mybb->input['username']));
| |
}
if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&", "&", $view['url']))
| }
if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&", "&", $view['url']))
|
Zeile 3288 | Zeile 3380 |
---|
} else {
|
} else {
|
$userfield_sql .= ' AND '.$db->escape_string($column)." LIKE '%".$db->escape_string($input)."%'";
| $userfield_sql .= ' AND '.$db->escape_string($column)." LIKE '%".$db->escape_string_like($input)."%'";
|
} } }
| } } }
|
Zeile 3380 | Zeile 3472 |
---|
} else {
|
} else {
|
$mybb->input['page'] = $mybb->get_input('page', 1);
| $mybb->input['page'] = $mybb->get_input('page', MyBB::INPUT_INT);
|
}
if($mybb->input['page'])
| }
if($mybb->input['page'])
|
Zeile 3439 | Zeile 3531 |
---|
while($user = $db->fetch_array($query)) { $comma = $groups_list = '';
|
while($user = $db->fetch_array($query)) { $comma = $groups_list = '';
|
| $user['username'] = htmlspecialchars_uni($user['username']);
|
$user['view']['username'] = "<a href=\"index.php?module=user-users&action=edit&uid={$user['uid']}\">".format_name($user['username'], $user['usergroup'], $user['displaygroup'])."</a>";
|
$user['view']['username'] = "<a href=\"index.php?module=user-users&action=edit&uid={$user['uid']}\">".format_name($user['username'], $user['usergroup'], $user['displaygroup'])."</a>";
|
$user['view']['usergroup'] = $usergroups[$user['usergroup']]['title'];
| $user['view']['usergroup'] = htmlspecialchars_uni($usergroups[$user['usergroup']]['title']);
|
if($user['additionalgroups']) { $additional_groups = explode(",", $user['additionalgroups']);
foreach($additional_groups as $group) {
|
if($user['additionalgroups']) { $additional_groups = explode(",", $user['additionalgroups']);
foreach($additional_groups as $group) {
|
$groups_list .= "{$comma}{$usergroups[$group]['title']}";
| $groups_list .= $comma.htmlspecialchars_uni($usergroups[$group]['title']);
|
$comma = $lang->comma; } }
| $comma = $lang->comma; } }
|
Zeile 3493 | Zeile 3586 |
---|
$popup->add_item($lang->delete_user, "index.php?module=user-users&action=delete&uid={$user['uid']}&my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->user_deletion_confirmation}')"); $popup->add_item($lang->show_referred_users, "index.php?module=user-users&action=referrers&uid={$user['uid']}"); $popup->add_item($lang->show_ip_addresses, "index.php?module=user-users&action=ipaddresses&uid={$user['uid']}");
|
$popup->add_item($lang->delete_user, "index.php?module=user-users&action=delete&uid={$user['uid']}&my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->user_deletion_confirmation}')"); $popup->add_item($lang->show_referred_users, "index.php?module=user-users&action=referrers&uid={$user['uid']}"); $popup->add_item($lang->show_ip_addresses, "index.php?module=user-users&action=ipaddresses&uid={$user['uid']}");
|
$popup->add_item($lang->show_attachments, "index.php?module=forum-attachments&results=1&username=".urlencode(htmlspecialchars_uni($user['username'])));
| $popup->add_item($lang->show_attachments, "index.php?module=forum-attachments&results=1&username=".urlencode($user['username']));
|
$user['view']['controls'] = $popup->fetch();
// Fetch the reputation for this user
| $user['view']['controls'] = $popup->fetch();
// Fetch the reputation for this user
|
Zeile 3508 | Zeile 3601 |
---|
if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0) {
|
if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0) {
|
| if($mybb->settings['maxwarningpoints'] < 1) { $mybb->settings['maxwarningpoints'] = 10; }
|
$warning_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100); if($warning_level > 100) {
| $warning_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100); if($warning_level > 100) {
|
Zeile 3515 | Zeile 3613 |
---|
} $user['view']['warninglevel'] = get_colored_warning_level($warning_level); }
|
} $user['view']['warninglevel'] = get_colored_warning_level($warning_level); }
|
if($user['avatar'] && my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://') { $user['avatar'] = "../{$user['avatar']}"; } if($view['view_type'] == "card") { $scaled_avatar = fetch_scaled_avatar($user, 80, 80); } else { $scaled_avatar = fetch_scaled_avatar($user, 34, 34); } if(!$user['avatar']) { $user['avatar'] = "../".$mybb->settings['useravatar']; } $user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";
| if($view['view_type'] == "card") { $max_dimensions = '80x80'; } else { $max_dimensions = '34x34'; }
$avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);
$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";
// Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip'])); $user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));
|
if($view['view_type'] == "card") {
| if($view['view_type'] == "card") {
|
Zeile 3542 | Zeile 3639 |
---|
{ build_user_view_table($user, $view, $table); }
|
{ build_user_view_table($user, $view, $table); }
|
}
| }
|
// If card view, we need to output the results if($view['view_type'] == "card")
| // If card view, we need to output the results if($view['view_type'] == "card")
|
Zeile 3553 | Zeile 3650 |
---|
}
if(!isset($view['table_id']))
|
}
if(!isset($view['table_id']))
|
{
| {
|
$view['table_id'] = "users_list"; }
| $view['table_id'] = "users_list"; }
|
Zeile 3561 | Zeile 3658 |
---|
$switch_url = $view['url']; if($mybb->input['page'] > 0) {
|
$switch_url = $view['url']; if($mybb->input['page'] > 0) {
|
$switch_url .= "&page=".$mybb->get_input('page', 1);
| $switch_url .= "&page=".$mybb->get_input('page', MyBB::INPUT_INT);
|
} if($view['view_type'] != "card") {
| } if($view['view_type'] != "card") {
|
Zeile 3576 | Zeile 3673 |
---|
// Do we need to construct the pagination? if($num_results > $view['perpage']) {
|
// Do we need to construct the pagination? if($num_results > $view['perpage']) {
|
$pagination = draw_admin_pagination($mybb->input['page'], $view['perpage'], $num_results, $view['url']."&type={$view['view_type']}");
| $view_type = htmlspecialchars_uni($view['view_type']); $pagination = draw_admin_pagination($mybb->input['page'], $view['perpage'], $num_results, $view['url']."&type={$view_type}");
|
$search_class = "float_right"; $search_style = ""; }
| $search_class = "float_right"; $search_style = ""; }
|
Zeile 3607 | Zeile 3705 |
---|
$default_class = "search_default"; $value = $lang->search_for_user; }
|
$default_class = "search_default"; $value = $lang->search_for_user; }
|
$built_view .= $search->generate_text_box('username', $value, array('id' => 'search_keywords', 'class' => "{$default_class} field150 field_small"))."\n";
| $built_view .= $search->generate_text_box('username', htmlspecialchars_uni($value), array('id' => 'search_keywords', 'class' => "{$default_class} field150 field_small"))."\n";
|
$built_view .= "<input type=\"submit\" class=\"search_button\" value=\"{$lang->search}\" />\n"; if($view['popup']) {
| $built_view .= "<input type=\"submit\" class=\"search_button\" value=\"{$lang->search}\" />\n"; if($view['popup']) {
|
Zeile 3632 | Zeile 3730 |
---|
{ searched_focus.removeClass(\"search_default\"); searched_focus.val(\"\");
|
{ searched_focus.removeClass(\"search_default\"); searched_focus.val(\"\");
|
} });
| } });
|
search.blur(function() { var searched_blur = $(this);
| search.blur(function() { var searched_blur = $(this);
|
Zeile 3672 | Zeile 3770 |
---|
} $built_view .= $table->construct_html("{$switch_view}<div>{$checkbox}{$lang->users}{$view_title}</div>", 1, "", $view['table_id']); if(isset($pagination))
|
} $built_view .= $table->construct_html("{$switch_view}<div>{$checkbox}{$lang->users}{$view_title}</div>", 1, "", $view['table_id']); if(isset($pagination))
|
{
| {
|
$built_view .= $pagination; }
| $built_view .= $pagination; }
|
Zeile 3705 | Zeile 3803 |
---|
return $built_view; }
|
return $built_view; }
|
| /** * @param array $user * @param array $view * @param int $i * * @return string */
|
function build_user_view_card($user, $view, &$i) { global $user_view_fields;
| function build_user_view_card($user, $view, &$i) { global $user_view_fields;
|
Zeile 3717 | Zeile 3822 |
---|
}
// Loop through fields user wants to show
|
}
// Loop through fields user wants to show
|
foreach($view['fields'] as $field) { if(!$user_view_fields[$field]) { continue; }
$view_field = $user_view_fields[$field];
| foreach($view['fields'] as $field) { if(!$user_view_fields[$field]) { continue; }
$view_field = $user_view_fields[$field];
|
// Special conditions for avatar if($field == "avatar") {
| // Special conditions for avatar if($field == "avatar") {
|
Zeile 3786 | Zeile 3891 |
---|
}
|
}
|
| /** * @param array $user * @param array $view * @param DefaultTable $table */
|
function build_user_view_table($user, $view, &$table) { global $user_view_fields;
| function build_user_view_table($user, $view, &$table) { global $user_view_fields;
|
Zeile 3823 | Zeile 3933 |
---|
$table->construct_row(); }
|
$table->construct_row(); }
|
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']); }
| /** * @param array $fields * @param array $values * @param DefaultFormContainer $form_container * @param DefaultForm $form * @param bool $search */
|
function output_custom_profile_fields($fields, $values, &$form_container, &$form, $search=false) { global $lang;
| function output_custom_profile_fields($fields, $values, &$form_container, &$form, $search=false) { global $lang;
|
Zeile 3853 | Zeile 3950 |
---|
} foreach($fields as $profile_field) {
|
} foreach($fields as $profile_field) {
|
$profile_field['type'] = htmlspecialchars_uni($profile_field['type']);
| $profile_field['name'] = htmlspecialchars_uni($profile_field['name']); $profile_field['description'] = htmlspecialchars_uni($profile_field['description']);
|
list($type, $options) = explode("\n", $profile_field['type'], 2); $type = trim($type); $field_name = "fid{$profile_field['fid']}";
| list($type, $options) = explode("\n", $profile_field['type'], 2); $type = trim($type); $field_name = "fid{$profile_field['fid']}";
|
Zeile 3861 | Zeile 3959 |
---|
switch($type) { case "multiselect":
|
switch($type) { case "multiselect":
|
| $selected_options = array();
|
if(!is_array($values[$field_name]))
|
if(!is_array($values[$field_name]))
|
{
| {
|
$user_options = explode("\n", $values[$field_name]); } else
|
$user_options = explode("\n", $values[$field_name]); } else
|
{
| {
|
$user_options = $values[$field_name]; }
|
$user_options = $values[$field_name]; }
|
$selected_options = array();
|
|
foreach($user_options as $val) {
|
foreach($user_options as $val) {
|
$selected_options[$val] = $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 = trim($val); $options[$val] = $val; } if(!$profile_field['length']) {
| $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; case "select":
|
$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; case "select":
|
$select_options = array(); if($search == true)
| $select_options = array(); if($search == true)
|
{ $select_options[''] = $lang->na; }
| { $select_options[''] = $lang->na; }
|
Zeile 3904 | Zeile 4003 |
---|
$options = array(); foreach($select_options as $val) {
|
$options = array(); foreach($select_options as $val) {
|
$val = trim($val);
| $val = htmlspecialchars_uni(trim($val));
|
$options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 1; }
|
$options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 1; }
|
if($search == true) { $code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, $values[$field_name], array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length'])); } else { $code = $form->generate_select_box("profile_fields[{$field_name}]", $options, $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'])); }
|
break; case "radio": $radio_options = array();
| break; case "radio": $radio_options = array();
|
Zeile 3931 | Zeile 4030 |
---|
foreach($radio_options as $val) { $val = trim($val);
|
foreach($radio_options as $val) { $val = trim($val);
|
$code .= $form->generate_radio_button("profile_fields[{$field_name}]", $val, $val, array('id' => "profile_field_{$field_name}", 'checked' => ($val == $values[$field_name] ? true : false)))."<br />";
| $code .= $form->generate_radio_button("profile_fields[{$field_name}]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $values[$field_name] ? true : false)))."<br />";
|
} break; 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]);
|
}
| }
|
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] = $val;
|
$selected_options[$val] = $val;
|
} $select_options = array();
| }
|
if($search == true) { $select_options[''] = $lang->na;
|
if($search == true) { $select_options[''] = $lang->na;
|
}
| }
|
$select_options += explode("\n", $options); $code = ''; foreach($select_options as $val) { $val = trim($val);
|
$select_options += explode("\n", $options); $code = ''; foreach($select_options as $val) { $val = trim($val);
|
$code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, $val, array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />"; }
| $code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />"; }
|
break; case "textarea":
|
break; case "textarea":
|
$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 = ''; 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'])); }
|
$code = $form->generate_text_area("profile_fields[{$field_name}]", $values[$field_name], array('id' => "profile_field_{$field_name}", 'rows' => 6, 'cols' => 50)).$extra; break;
| $code = $form->generate_text_area("profile_fields[{$field_name}]", $values[$field_name], array('id' => "profile_field_{$field_name}", 'rows' => 6, 'cols' => 50)).$extra; break;
|
Zeile 3984 | Zeile 4086 |
---|
$code = $user_options = $selected_options = $radio_options = $val = $options = ''; } }
|
$code = $user_options = $selected_options = $radio_options = $val = $options = ''; } }
|
| /** * @param array $input * @param DefaultForm $form */
|
function user_search_conditions($input=array(), &$form) { global $mybb, $db, $lang;
if(!$input)
|
function user_search_conditions($input=array(), &$form) { global $mybb, $db, $lang;
if(!$input)
|
{
| {
|
$input = $mybb->input;
|
$input = $mybb->input;
|
}
| }
|
if(!is_array($input['conditions'])) { $input['conditions'] = my_unserialize($input['conditions']);
|
if(!is_array($input['conditions'])) { $input['conditions'] = my_unserialize($input['conditions']);
|
}
| }
|
if(!is_array($input['profile_fields'])) { $input['profile_fields'] = my_unserialize($input['profile_fields']);
| if(!is_array($input['profile_fields'])) { $input['profile_fields'] = my_unserialize($input['profile_fields']);
|
Zeile 4010 | Zeile 4116 |
---|
}
$form_container = new FormContainer($lang->find_users_where);
|
}
$form_container = new FormContainer($lang->find_users_where);
|
$form_container->output_row($lang->username_contains, "", $form->generate_text_box('conditions[username]', $input['conditions']['username'], array('id' => 'username')), 'username');
| $form_container->output_row($lang->username_contains, "", $form->generate_text_box('conditions[username]', htmlspecialchars_uni($input['conditions']['username']), array('id' => 'username')), 'username');
|
$form_container->output_row($lang->email_address_contains, "", $form->generate_text_box('conditions[email]', $input['conditions']['email'], array('id' => 'email')), 'email');
$options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$form_container->output_row($lang->email_address_contains, "", $form->generate_text_box('conditions[email]', $input['conditions']['email'], array('id' => 'email')), 'email');
$options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) {
|
$options[$usergroup['gid']] = $usergroup['title'];
| $options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']);
|
}
$form_container->output_row($lang->is_member_of_groups, $lang->additional_user_groups_desc, $form->generate_select_box('conditions[usergroup][]', $options, $input['conditions']['usergroup'], array('id' => 'usergroups', 'multiple' => true, 'size' => 5)), 'usergroups');
| }
$form_container->output_row($lang->is_member_of_groups, $lang->additional_user_groups_desc, $form->generate_select_box('conditions[usergroup][]', $options, $input['conditions']['usergroup'], array('id' => 'usergroups', 'multiple' => true, 'size' => 5)), 'usergroups');
|
Zeile 4072 | Zeile 4178 |
---|
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css">
|
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css">
|
<script type="text/javascript" src="../jscripts/select2/select2.min.js"></script>
| <script type="text/javascript" src="../jscripts/select2/select2.min.js?ver=1804"></script>
|
<script type="text/javascript"> <!-- $("#username").select2({
|
<script type="text/javascript"> <!-- $("#username").select2({
|
placeholder: "Search for a user", minimumInputLength: 3, maximumSelectionSize: 3,
| placeholder: "'.$lang->search_for_a_user.'", minimumInputLength: 2,
|
multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users",
| multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users",
|
Zeile 4109 | Zeile 4214 |
---|
</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); } } }
|