Zeile 393 | Zeile 393 |
---|
}
$form_container = new FormContainer($lang->required_profile_info);
|
}
$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');
|
|
|
$display_group_options[0] = $lang->use_primary_user_group; $options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title'));
| $display_group_options[0] = $lang->use_primary_user_group; $options = array(); $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title'));
|
Zeile 406 | Zeile 406 |
---|
$options[$usergroup['gid']] = htmlspecialchars_uni($usergroup['title']); $display_group_options[$usergroup['gid']] = htmlspecialchars_uni($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->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');
|
|
|
// Output custom profile fields - required output_custom_profile_fields($profile_fields['required'], $mybb->input['profile_fields'], $form_container, $form);
| // Output custom profile fields - required output_custom_profile_fields($profile_fields['required'], $mybb->input['profile_fields'], $form_container, $form);
|
Zeile 428 | Zeile 428 |
---|
// Does the user not exist? if(!$user['uid'])
|
// Does the user not exist? if(!$user['uid'])
|
{
| {
|
flash_message($lang->error_invalid_user, 'error'); admin_redirect("index.php?module=user-users"); }
|
flash_message($lang->error_invalid_user, 'error'); admin_redirect("index.php?module=user-users"); }
|
|
|
$plugins->run_hooks("admin_user_users_edit");
if($mybb->request_method == "post") {
|
$plugins->run_hooks("admin_user_users_edit");
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 462 | Zeile 463 |
---|
$returndate = ""; if(!empty($mybb->input['away_day']))
|
$returndate = ""; if(!empty($mybb->input['away_day']))
|
{
| {
|
$awaydate = TIME_NOW; // If the user has indicated that they will return on a specific day, but not month or year, assume it is current month and year if(!$mybb->input['away_month'])
| $awaydate = TIME_NOW; // If the user has indicated that they will return on a specific day, but not month or year, assume it is current month and year if(!$mybb->input['away_month'])
|
Zeile 511 | Zeile 512 |
---|
"profile_fields_editable" => true, "website" => $mybb->input['website'], "icq" => $mybb->input['icq'],
|
"profile_fields_editable" => true, "website" => $mybb->input['website'], "icq" => $mybb->input['icq'],
|
"aim" => $mybb->input['aim'],
| |
"yahoo" => $mybb->input['yahoo'], "skype" => $mybb->input['skype'], "google" => $mybb->input['google'],
| "yahoo" => $mybb->input['yahoo'], "skype" => $mybb->input['skype'], "google" => $mybb->input['google'],
|
Zeile 531 | Zeile 531 |
---|
"returndate" => $returndate, "awayreason" => $mybb->input['awayreason'] )
|
"returndate" => $returndate, "awayreason" => $mybb->input['awayreason'] )
|
);
| );
|
if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5) {
| if($user['usergroup'] == 5 && $mybb->input['usergroup'] != 5) {
|
Zeile 627 | Zeile 627 |
---|
// Are we setting a new avatar from a URL? else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar']) {
|
// Are we setting a new avatar from a URL? else if($mybb->input['avatar_url'] && $mybb->input['avatar_url'] != $user['avatar']) {
|
if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false)
| if(!$mybb->settings['allowremoteavatars'])
|
{
|
{
|
// Gravatar $email = md5(strtolower(trim($mybb->input['avatar_url'])));
$s = ''; if(!$mybb->settings['maxavatardims']) { $mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits }
// Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
$s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
$extra_user_updates = array( "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar" );
| $errors = array($lang->error_remote_avatar_not_allowed);
|
} else {
|
} else {
|
$mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']); $ext = get_extension($mybb->input['avatar_url']);
| if(filter_var($mybb->input['avatar_url'], FILTER_VALIDATE_EMAIL) !== false) { // Gravatar $email = md5(strtolower(trim($mybb->input['avatar_url'])));
$s = ''; if(!$mybb->settings['maxavatardims']) { $mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits }
|
|
|
// 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;
| // Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims']));
$s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
$extra_user_updates = array( "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar" );
|
} else {
|
} else {
|
$tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp)
| $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;
|
{ $avatar_error = $lang->error_invalidavatarurl;
|
} else
| } else
|
{
|
{
|
fwrite($fp, $file); fclose($fp); list($width, $height, $type) = @getimagesize($tmp_name); @unlink($tmp_name); echo $type; if(!$type)
| $tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp)
|
{ $avatar_error = $lang->error_invalidavatarurl;
|
{ $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) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims'])); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)) { $lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight); $avatar_error = $lang->error_avatartoobig; } }
|
}
|
}
|
}
| |
|
|
if(empty($avatar_error)) { if($width && $height && $mybb->settings['maxavatardims'] != "")
| if(empty($avatar_error))
|
{
|
{
|
list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims'])); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight))
| if($width > 0 && $height > 0)
|
{
|
{
|
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight); $avatar_error = $lang->error_avatartoobig;
| $avatar_dimensions = (int)$width."|".(int)$height;
|
}
|
}
|
} }
if(empty($avatar_error)) { if($width > 0 && $height > 0)
| $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
|
{
|
{
|
$avatar_dimensions = (int)$width."|".(int)$height;
| $errors = array($avatar_error);
|
}
|
}
|
$extra_user_updates = array( "avatar" => $db->escape_string($mybb->input['avatar_url'].'?dateline='.TIME_NOW), "avatardimensions" => $avatar_dimensions, "avatartype" => "remote" ); remove_avatars($user['uid']); } else { $errors = array($avatar_error);
| |
} } }
| } } }
|
Zeile 841 | Zeile 848 |
---|
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 921 | Zeile 929 |
---|
$page->extra_header .= <<<EOF
|
$page->extra_header .= <<<EOF
|
<link rel="stylesheet" href="../jscripts/sceditor/editor_themes/mybb.css" type="text/css" media="all" />
| <link rel="stylesheet" href="../jscripts/sceditor/themes/mybb.css" type="text/css" media="all" />
|
<script type="text/javascript" src="../jscripts/sceditor/jquery.sceditor.bbcode.min.js?ver=1805"></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=1804"></script> <script type="text/javascript" src="../jscripts/sceditor/editor_plugins/undo.js?ver=1805"></script>
| <script type="text/javascript" src="../jscripts/bbcodes_sceditor.js?ver=1821"></script> <script type="text/javascript" src="../jscripts/sceditor/plugins/undo.js?ver=1805"></script>
|
EOF; $page->output_header($lang->edit_user);
| EOF; $page->output_header($lang->edit_user);
|
Zeile 946 | Zeile 954 |
---|
// Is this user a COPPA user? We show a warning & activate link if($user['coppauser']) {
|
// Is this user a COPPA user? We show a warning & activate link if($user['coppauser']) {
|
echo $lang->sprintf($lang->warning_coppa_user, $user['uid']);
| echo $lang->sprintf($lang->warning_coppa_user, $user['uid'], $mybb->post_code);
|
}
$tabs = array(
| }
$tabs = array(
|
Zeile 969 | Zeile 977 |
---|
$table->construct_header($lang->general_account_stats, array('colspan' => '2', 'class' => 'align_center'));
// Avatar
|
$table->construct_header($lang->general_account_stats, array('colspan' => '2', 'class' => 'align_center'));
// Avatar
|
$avatar_dimensions = explode("|", $user['avatardimensions']); 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, 120, 120); } else { $scaled_dimensions = array( "width" => 120, "height" => 120 ); } if(my_substr($user['avatar'], 0, 7) !== 'http://' && my_substr($user['avatar'], 0, 8) !== 'https://') { $user['avatar'] = "../{$user['avatar']}\n"; } } else { $user['avatar'] = "../".$mybb->settings['useravatar'];
| $avatar_dimensions = preg_split('/[|x]/', $user['avatardimensions']); if($user['avatardimensions']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = preg_split('/[|x]/', $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, 120, 120); } else {
|
$scaled_dimensions = array( "width" => 120, "height" => 120 );
|
$scaled_dimensions = array( "width" => 120, "height" => 120 );
|
| } if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars'])) { if(!my_validate_url($user['avatar'])) { $avatar = format_avatar($user['avatar'], $user['avatardimensions']); $user['avatar'] = $avatar['image']; } } else { 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']); }
|
} $avatar_top = ceil((126-$scaled_dimensions['height'])/2); if($user['lastactive']) { $last_active = my_date('relative', $user['lastactive']);
|
} $avatar_top = ceil((126-$scaled_dimensions['height'])/2); if($user['lastactive']) { $last_active = my_date('relative', $user['lastactive']);
|
} else {
| } else {
|
$last_active = $lang->never; } $reg_date = my_date('relative', $user['regdate']); if($user['dst'] == 1) {
|
$last_active = $lang->never; } $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 1031 | Zeile 1043 |
---|
} } $posts_per_day = my_number_format($posts_per_day);
|
} } $posts_per_day = my_number_format($posts_per_day);
|
|
|
$stats = $cache->read("stats"); $posts = $stats['numposts']; if($posts == 0)
| $stats = $cache->read("stats"); $posts = $stats['numposts']; if($posts == 0)
|
Zeile 1098 | Zeile 1110 |
---|
$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 1106 | Zeile 1120 |
---|
// 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 1141 | Zeile 1155 |
---|
$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->icq_number, "", $form->generate_numeric_field('icq', $mybb->input['icq'], array('id' => 'icq', 'min' => 0)), 'icq');
|
$form_container->output_row($lang->custom_user_title, $lang->custom_user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle'); $form_container->output_row($lang->website, "", $form->generate_text_box('website', $mybb->input['website'], array('id' => 'website')), 'website'); $form_container->output_row($lang->icq_number, "", $form->generate_numeric_field('icq', $mybb->input['icq'], array('id' => 'icq', 'min' => 0)), 'icq');
|
$form_container->output_row($lang->aim_handle, "", $form->generate_text_box('aim', $mybb->input['aim'], array('id' => 'aim')), 'aim');
| |
$form_container->output_row($lang->yahoo_messanger_handle, "", $form->generate_text_box('yahoo', $mybb->input['yahoo'], array('id' => 'yahoo')), 'yahoo'); $form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->input['skype'], array('id' => 'skype')), 'skype'); $form_container->output_row($lang->google_handle, "", $form->generate_text_box('google', $mybb->input['google'], array('id' => 'google')), 'google');
| $form_container->output_row($lang->yahoo_messanger_handle, "", $form->generate_text_box('yahoo', $mybb->input['yahoo'], array('id' => 'yahoo')), 'yahoo'); $form_container->output_row($lang->skype_handle, "", $form->generate_text_box('skype', $mybb->input['skype'], array('id' => 'skype')), 'skype'); $form_container->output_row($lang->google_handle, "", $form->generate_text_box('google', $mybb->input['google'], array('id' => 'google')), 'google');
|
Zeile 1182 | Zeile 1195 |
---|
// Output custom profile fields - optional output_custom_profile_fields($profile_fields['optional'], $mybb->input['profile_fields'], $form_container, $form);
|
// Output custom profile fields - optional output_custom_profile_fields($profile_fields['optional'], $mybb->input['profile_fields'], $form_container, $form);
|
$form_container->end();
| $form_container->end();
|
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 1206 | Zeile 1219 |
---|
$form_container->end(); }
|
$form_container->end(); }
|
| $plugins->run_hooks("admin_user_users_edit_profile");
|
echo "</div>\n";
// // ACCOUNT SETTINGS //
|
echo "</div>\n";
// // ACCOUNT SETTINGS //
|
// 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";
|
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 1235 | Zeile 1247 |
---|
$form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->input['pmnotify'])), $form->generate_check_box("buddyrequestspm", 1, $lang->buddy_requests_pm, array("checked" => $mybb->input['buddyrequestspm'])), $form->generate_check_box("buddyrequestsauto", 1, $lang->buddy_requests_auto, array("checked" => $mybb->input['buddyrequestsauto'])),
|
$form->generate_check_box("pmnotify", 1, $lang->email_notify_new_pms, array("checked" => $mybb->input['pmnotify'])), $form->generate_check_box("buddyrequestspm", 1, $lang->buddy_requests_pm, array("checked" => $mybb->input['buddyrequestspm'])), $form->generate_check_box("buddyrequestsauto", 1, $lang->buddy_requests_auto, array("checked" => $mybb->input['buddyrequestsauto'])),
|
"<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_email_notification, $lang->instant_email_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod')) );
| "<label for=\"subscriptionmethod\">{$lang->default_thread_subscription_mode}:</label><br />".$form->generate_select_box("subscriptionmethod", array($lang->do_not_subscribe, $lang->no_notification, $lang->instant_email_notification, $lang->instant_pm_notification), $mybb->input['subscriptionmethod'], array('id' => 'subscriptionmethod')) );
// Allow plugins to add messaging options $messaging_options = $plugins->run_hooks('admin_user_users_edit_messaging_options', $messaging_options);
// Output messaging options
|
$form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
$date_format_options = array($lang->use_default); foreach($date_formats as $key => $format) { $date_format_options[$key] = my_date($format, TIME_NOW, "", 0);
|
$form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
$date_format_options = array($lang->use_default); foreach($date_formats as $key => $format) { $date_format_options[$key] = my_date($format, TIME_NOW, "", 0);
|
}
| }
|
$time_format_options = array($lang->use_default); foreach($time_formats as $key => $format) { $time_format_options[$key] = my_date($format, TIME_NOW, "", 0);
|
$time_format_options = array($lang->use_default); foreach($time_formats as $key => $format) { $time_format_options[$key] = my_date($format, TIME_NOW, "", 0);
|
}
| }
|
$date_options = array( "<label for=\"dateformat\">{$lang->date_format}:</label><br />".$form->generate_select_box("dateformat", $date_format_options, $mybb->input['dateformat'], array('id' => 'dateformat')),
| $date_options = array( "<label for=\"dateformat\">{$lang->date_format}:</label><br />".$form->generate_select_box("dateformat", $date_format_options, $mybb->input['dateformat'], array('id' => 'dateformat')),
|
Zeile 1257 | Zeile 1274 |
---|
"<label for=\"timezone\">{$lang->time_zone}:</label><br />".build_timezone_select("timezone", $mybb->input['timezone']), "<label for=\"dstcorrection\">{$lang->daylight_savings_time_correction}:</label><br />".$form->generate_select_box("dstcorrection", array(2 => $lang->automatically_detect, 1 => $lang->always_use_dst_correction, 0 => $lang->never_use_dst_correction), $mybb->input['dstcorrection'], array('id' => 'dstcorrection')) );
|
"<label for=\"timezone\">{$lang->time_zone}:</label><br />".build_timezone_select("timezone", $mybb->input['timezone']), "<label for=\"dstcorrection\">{$lang->daylight_savings_time_correction}:</label><br />".$form->generate_select_box("dstcorrection", array(2 => $lang->automatically_detect, 1 => $lang->always_use_dst_correction, 0 => $lang->never_use_dst_correction), $mybb->input['dstcorrection'], array('id' => 'dstcorrection')) );
|
| // Allow plugins to add date options $date_options = $plugins->run_hooks('admin_user_users_edit_date_options', $date_options);
// Output date options
|
$form_container->output_row($lang->date_and_time_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $date_options)."</div>");
| $form_container->output_row($lang->date_and_time_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $date_options)."</div>");
|
Zeile 1285 | Zeile 1307 |
---|
100 => $lang->show_threads_last_100_days, 365 => $lang->show_threads_last_year, 9999 => $lang->show_all_threads
|
100 => $lang->show_threads_last_100_days, 365 => $lang->show_threads_last_year, 9999 => $lang->show_all_threads
|
);
| );
|
$forum_options = array( "<label for=\"tpp\">{$lang->threads_per_page}:</label><br />".$form->generate_select_box("tpp", $tpp_options, $mybb->input['tpp'], array('id' => 'tpp')), "<label for=\"daysprune\">{$lang->default_thread_age_view}:</label><br />".$form->generate_select_box("daysprune", $thread_age_options, $mybb->input['daysprune'], array('id' => 'daysprune')) );
|
$forum_options = array( "<label for=\"tpp\">{$lang->threads_per_page}:</label><br />".$form->generate_select_box("tpp", $tpp_options, $mybb->input['tpp'], array('id' => 'tpp')), "<label for=\"daysprune\">{$lang->default_thread_age_view}:</label><br />".$form->generate_select_box("daysprune", $thread_age_options, $mybb->input['daysprune'], array('id' => 'daysprune')) );
|
$form_container->output_row($lang->forum_display_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $forum_options)."</div>");
| // Allow plugins to add forum options $forum_options = $plugins->run_hooks('admin_user_users_edit_forum_options', $forum_options);
// Output forum options $form_container->output_row($lang->forum_display_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $forum_options)."</div>");
|
$ppp_options = array($lang->use_default); if($mybb->settings['userpppoptions'])
| $ppp_options = array($lang->use_default); if($mybb->settings['userpppoptions'])
|
Zeile 1317 | Zeile 1344 |
---|
"<label for=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->input['ppp'], array('id' => 'ppp')), "<label for=\"threadmode\">{$lang->default_thread_view_mode}:</label><br />".$form->generate_select_box("threadmode", array("" => $lang->use_default, "linear" => $lang->linear_mode, "threaded" => $lang->threaded_mode), $mybb->input['threadmode'], array('id' => 'threadmode')) );
|
"<label for=\"ppp\">{$lang->posts_per_page}:</label><br />".$form->generate_select_box("ppp", $ppp_options, $mybb->input['ppp'], array('id' => 'ppp')), "<label for=\"threadmode\">{$lang->default_thread_view_mode}:</label><br />".$form->generate_select_box("threadmode", array("" => $lang->use_default, "linear" => $lang->linear_mode, "threaded" => $lang->threaded_mode), $mybb->input['threadmode'], array('id' => 'threadmode')) );
|
| // Allow plugins to add thread options $thread_options = $plugins->run_hooks('admin_user_users_edit_thread_options', $thread_options);
// Output thread options
|
$form_container->output_row($lang->thread_view_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $thread_options)."</div>");
$languages = array_merge(array('' => $lang->use_default), $lang->get_languages());
| $form_container->output_row($lang->thread_view_options, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $thread_options)."</div>");
$languages = array_merge(array('' => $lang->use_default), $lang->get_languages());
|
Zeile 1328 | Zeile 1360 |
---|
"<label for=\"style\">{$lang->theme}:</label><br />".build_theme_select("style", $mybb->input['style'], 0, "", true, false, true), "<label for=\"language\">{$lang->board_language}:</label><br />".$form->generate_select_box("language", $languages, $mybb->input['language'], array('id' => 'language')) );
|
"<label for=\"style\">{$lang->theme}:</label><br />".build_theme_select("style", $mybb->input['style'], 0, "", true, false, true), "<label for=\"language\">{$lang->board_language}:</label><br />".$form->generate_select_box("language", $languages, $mybb->input['language'], array('id' => 'language')) );
|
| // Allow plugins to add other options $other_options = $plugins->run_hooks('admin_user_users_edit_other_options', $other_options);
// Output other options
|
$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 1359 | Zeile 1397 |
---|
$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 1385 | Zeile 1423 |
---|
{ // There's a limit to the suspension! $remaining = $user['suspendsigtime']-TIME_NOW;
|
{ // There's a limit to the suspension! $remaining = $user['suspendsigtime']-TIME_NOW;
|
$expired = nice_time($remaining, array('seconds' => false));
| $expired = nice_time($remaining, array('seconds' => false));
|
$color = 'inherit'; if($remaining < 3600)
| $color = 'inherit'; if($remaining < 3600)
|
Zeile 1402 | Zeile 1440 |
---|
}
$lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired, $color);
|
}
$lang->suspend_expire_info = $lang->sprintf($lang->suspend_expire_info, $expired, $color);
|
}
| }
|
$user_suspend_info = ' <tr> <td colspan="2">'.$lang->suspend_expire_info.'<br />'.$lang->suspend_sig_extend.'</td>
| $user_suspend_info = ' <tr> <td colspan="2">'.$lang->suspend_expire_info.'<br />'.$lang->suspend_sig_extend.'</td>
|
Zeile 1453 | Zeile 1491 |
---|
} // --> </script>';
|
} // --> </script>';
|
|
|
$form_container->output_row($lang->suspend_sig, $lang->suspend_sig_info, $actions);
$signature_options = array(
| $form_container->output_row($lang->suspend_sig, $lang->suspend_sig_info, $actions);
$signature_options = array(
|
Zeile 1465 | Zeile 1503 |
---|
$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 1481 | Zeile 1520 |
---|
{ $current_avatar_msg = "<br /><strong>{$lang->user_current_using_uploaded_avatar}</strong>"; }
|
{ $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 = htmlspecialchars_uni($mybb->input['avatar_url']); }
if($mybb->settings['maxavatardims'] != "") {
|
$avatar_url = htmlspecialchars_uni($mybb->input['avatar_url']); }
if($mybb->settings['maxavatardims'] != "") {
|
list($max_width, $max_height) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
| list($max_width, $max_height) = preg_split('/[|x]/', my_strtolower($mybb->settings['maxavatardims']));
|
$max_size = "<br />{$lang->max_dimensions_are} {$max_width}x{$max_height}"; }
| $max_size = "<br />{$lang->max_dimensions_are} {$max_width}x{$max_height}"; }
|
Zeile 1512 | Zeile 1551 |
---|
$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 1525 | Zeile 1564 |
---|
} $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 1541 | Zeile 1584 |
---|
);
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 1581 | Zeile 1624 |
---|
}
$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>';
|
}
$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, $user['username']);
| $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);
// Suspend posts
| $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
|
Zeile 1621 | Zeile 1664 |
---|
}
$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>';
|
}
$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, $user['username']);
| $lang->suspend_posts_info = $lang->sprintf($lang->suspend_posts_info, htmlspecialchars_uni($user['username']));
|
$form_container->output_row($form->generate_check_box("suspendposting", 1, $lang->suspend_posts, array("id" => "suspendposting", "onclick" => "toggleBox('suspost');", "checked" => $mybb->input['suspendposting'])), $lang->suspend_posts_info, $suspost_div);
$form_container->end();
|
$form_container->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();
|
| $plugins->run_hooks("admin_user_users_edit_moderator_options");
|
echo "</div>\n";
$plugins->run_hooks("admin_user_users_edit_graph");
| echo "</div>\n";
$plugins->run_hooks("admin_user_users_edit_graph");
|
Zeile 1883 | Zeile 1927 |
---|
$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 1894 | Zeile 1938 |
---|
if($mybb->request_method == "post") {
|
if($mybb->request_method == "post") {
|
$source_user = get_user_by_username($mybb->input['source_username'], array('fields' => '*')); if(!$source_user['uid'])
| foreach(array('source', 'destination') as $target)
|
{
|
{
|
$errors[] = $lang->error_invalid_user_source; }
$destination_user = get_user_by_username($mybb->input['destination_username'], array('fields' => '*')); if(!$destination_user['uid']) { $errors[] = $lang->error_invalid_user_destination;
| ${$target.'_user'} = get_user_by_username($mybb->input[$target.'_username'], array('fields' => '*')); if(!${$target.'_user'}['uid']) { $errors[] = $lang->{'error_invalid_user_'.$target}; }
|
}
// If we're not a super admin and we're merging a source super admin or a destination super admin then dissallow this action
| }
// If we're not a super admin and we're merging a source super admin or a destination super admin then dissallow this action
|
Zeile 1911 | Zeile 1952 |
---|
{ flash_message($lang->error_no_perms_super_admin, 'error'); admin_redirect("index.php?module=user-users");
|
{ flash_message($lang->error_no_perms_super_admin, 'error'); admin_redirect("index.php?module=user-users");
|
}
if($source_user['uid'] == $destination_user['uid']) {
| }
if($source_user['uid'] == $destination_user['uid'] && !empty($source_user['uid'])) {
|
$errors[] = $lang->error_cannot_merge_same_account; }
| $errors[] = $lang->error_cannot_merge_same_account; }
|
Zeile 1926 | Zeile 1967 |
---|
); $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) { $db->update_query("adminoptions", $uid_update, "uid='{$source_user['uid']}'"); }
|
// Only carry over admin options/permissions if we don't already have them if(!$existing_admin_options) { $db->update_query("adminoptions", $uid_update, "uid='{$source_user['uid']}'"); }
|
|
|
$db->update_query("adminlog", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("announcements", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("events", $uid_update, "uid='{$source_user['uid']}'");
| $db->update_query("adminlog", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("announcements", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("events", $uid_update, "uid='{$source_user['uid']}'");
|
Zeile 1944 | Zeile 1985 |
---|
$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']}'");
|
| // Carry over referrals $db->update_query("users", array("referrer" => ((int)$source_user['referrer'] + (int)$destination_user['referrer'])), "uid='{$destination_user['uid']}'"); $db->update_query("users", array("referrals" => ((int)$source_user['referrals'] + (int)$destination_user['referrals'])), "uid='{$destination_user['uid']}'");
|
// Merging Reputation // First, let's change all the details over to our new user...
| // Merging Reputation // First, let's change all the details over to our new user...
|
Zeile 2004 | Zeile 2051 |
---|
$db->update_query("users", array('reputation' => (int)$total_reputation), "uid='{$destination_user['uid']}'");
// Calculate warning points
|
$db->update_query("users", array('reputation' => (int)$total_reputation), "uid='{$destination_user['uid']}'");
// Calculate warning points
|
$query = $db->query(" SELECT SUM(points) as warn_lev FROM ".TABLE_PREFIX."warnings
| $query = $db->query(" SELECT SUM(points) as warn_lev FROM ".TABLE_PREFIX."warnings
|
WHERE uid='{$source_user['uid']}' AND expired='0' "); $original_warn_level = $db->fetch_field($query, "warn_lev");
| WHERE uid='{$source_user['uid']}' AND expired='0' "); $original_warn_level = $db->fetch_field($query, "warn_lev");
|
Zeile 2039 | Zeile 2086 |
---|
"toid" => $destination_user['uid'] ); $db->update_query("privatemessages", $to_uid, "toid='{$source_user['uid']}'");
|
"toid" => $destination_user['uid'] ); $db->update_query("privatemessages", $to_uid, "toid='{$source_user['uid']}'");
|
|
|
// Buddy/ignore lists $destination_buddies = explode(',', $destination_user['buddylist']); $source_buddies = explode(',', $source_user['buddylist']);
| // Buddy/ignore lists $destination_buddies = explode(',', $destination_user['buddylist']); $source_buddies = explode(',', $source_user['buddylist']);
|
Zeile 2058 | Zeile 2105 |
---|
// implode the arrays so we get a nice neat list for each $buddies = trim(implode(',', $buddies), ','); $ignored = trim(implode(',', $ignored_array), ',');
|
// implode the arrays so we get a nice neat list for each $buddies = trim(implode(',', $buddies), ','); $ignored = trim(implode(',', $ignored_array), ',');
|
|
|
$lists = array( "buddylist" => $buddies, "ignorelist" => $ignored ); $db->update_query("users", $lists, "uid='{$destination_user['uid']}'");
|
$lists = array( "buddylist" => $buddies, "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 2078 | Zeile 2118 |
---|
while($fid = $db->fetch_field($query, "fid")) { $fids[] = $fid;
|
while($fid = $db->fetch_field($query, "fid")) { $fids[] = $fid;
|
}
| }
|
$fids_not_in = ''; if(!empty($fids)) { $fids_not_in = "AND fid NOT IN(".implode(',', $fids).")";
|
$fids_not_in = ''; if(!empty($fids)) { $fids_not_in = "AND fid NOT IN(".implode(',', $fids).")";
|
}
| }
|
// Update user post count $query = $db->simple_select("posts", "COUNT(*) AS postnum", "uid='".$destination_user['uid']."' {$fids_not_in}");
| // Update user post count $query = $db->simple_select("posts", "COUNT(*) AS postnum", "uid='".$destination_user['uid']."' {$fids_not_in}");
|
Zeile 2109 | Zeile 2149 |
---|
}
$plugins->run_hooks("admin_user_users_merge_commit");
|
}
$plugins->run_hooks("admin_user_users_merge_commit");
|
| // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete');
// Delete the old user $userhandler->delete_user($source_user['uid']);
|
$cache->update_awaitingactivation();
| $cache->update_awaitingactivation();
|
Zeile 2116 | Zeile 2163 |
---|
log_admin_action($source_user['uid'], $source_user['username'], $destination_user['uid'], $destination_user['username']);
// Redirect!
|
log_admin_action($source_user['uid'], $source_user['username'], $destination_user['uid'], $destination_user['username']);
// Redirect!
|
flash_message("<strong>{$source_user['username']}</strong> {$lang->success_merged} {$destination_user['username']}", "success");
| $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; }
|
Zeile 2147 | Zeile 2196 |
---|
<script type="text/javascript"> <!-- $("#source_username").select2({
|
<script type="text/javascript"> <!-- $("#source_username").select2({
|
placeholder: "'.$lang->search_for_a_user.'", minimumInputLength: 2, multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users", dataType: \'json\', data: function (term, page) { 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();
| 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: {
| if (query !== "") { $.ajax("../xmlhttp.php?action=get_users&getone=1", { data: {
|
Zeile 2268 | Zeile 2317 |
---|
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', MyBB::INPUT_INT)) {
| if($mybb->get_input('perpage', MyBB::INPUT_INT)) {
|
Zeile 2281 | Zeile 2330 |
---|
}
if($mybb->input['displayas'])
|
}
if($mybb->input['displayas'])
|
{
| {
|
$admin_view['view_type'] = $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");
|
Zeile 2301 | Zeile 2350 |
---|
$page->output_nav_tabs($sub_tabs, 'find_users'); echo $results; $page->output_footer();
|
$page->output_nav_tabs($sub_tabs, 'find_users'); echo $results; $page->output_footer();
|
}
| }
|
else { if($mybb->input['from'] == "home")
| else { if($mybb->input['from'] == "home")
|
Zeile 2322 | Zeile 2371 |
---|
$page->output_nav_tabs($sub_tabs, 'find_users');
|
$page->output_nav_tabs($sub_tabs, 'find_users');
|
// If we have any error messages, show them if($errors) { $page->output_inline_error($errors); }
| // 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";
|
Zeile 2439 | Zeile 2488 |
---|
$to_update_count = count($to_update); $lang->inline_activated = $lang->sprintf($lang->inline_activated, my_number_format($to_update_count));
|
$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))
| if(is_array($selected) && $to_update_count != count($selected))
|
{ // The update count is different to how many we selected! $not_updated_count = count($selected) - $to_update_count;
| { // The update count is different to how many we selected! $not_updated_count = count($selected) - $to_update_count;
|
Zeile 2618 | Zeile 2667 |
---|
{ if($time != '---') {
|
{ if($time != '---') {
|
$friendly_time = my_date("D, jS M Y @ g:ia", ban_date2timestamp($time));
| $friendly_time = my_date("D, jS M Y @ {$mybb->settings['timeformat']}", ban_date2timestamp($time));
|
$period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period;
| $period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period;
|
Zeile 2922 | Zeile 2971 |
---|
// Do the usergroup update for all those selected // If the a selected user is a super admin, don't update that user
|
// Do the usergroup update for all those selected // If the a selected user is a super admin, don't update that user
|
| $users_to_update = array();
|
foreach($selected as $user) { if(!is_super_admin($user))
| foreach($selected as $user) { if(!is_super_admin($user))
|
Zeile 2931 | Zeile 2981 |
---|
}
$to_update_count = count($users_to_update);
|
}
$to_update_count = count($users_to_update);
|
if($to_update_count > 0 && is_array($users_to_update))
| if($to_update_count > 0)
|
{ // Update the users in the database $sql = implode(",", $users_to_update);
| { // Update the users in the database $sql = implode(",", $users_to_update);
|
Zeile 3102 | Zeile 3152 |
---|
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 3112 | Zeile 3167 |
---|
{ $view['title'] = $lang->$title_string; }
|
{ $view['title'] = $lang->$title_string; }
|
|
|
$view_title .= " (".htmlspecialchars_uni($view['title']).")"; }
// Build the URL to this view if(!isset($view['url']))
|
$view_title .= " (".htmlspecialchars_uni($view['title']).")"; }
// Build the URL to this view if(!isset($view['url']))
|
{
| {
|
$view['url'] = "index.php?module=user-users";
|
$view['url'] = "index.php?module=user-users";
|
}
| }
|
if(!is_array($view['conditions']))
|
if(!is_array($view['conditions']))
|
{
| {
|
$view['conditions'] = my_unserialize($view['conditions']);
|
$view['conditions'] = my_unserialize($view['conditions']);
|
}
| }
|
if(!is_array($view['fields']))
|
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']))
|
Zeile 3136 | Zeile 3191 |
---|
if(isset($mybb->input['username'])) { $view['conditions']['username'] = $mybb->input['username'];
|
if(isset($mybb->input['username'])) { $view['conditions']['username'] = $mybb->input['username'];
|
}
| $view['url'] .= "&username=".urlencode(htmlspecialchars_uni($mybb->input['username'])); }
|
if($view['vid'])
|
if($view['vid'])
|
{
| {
|
$view['url'] .= "&vid={$view['vid']}";
|
$view['url'] .= "&vid={$view['vid']}";
|
}
| }
|
else { // If this is a custom view we need to save everything ready to pass it on from page to page
| else { // If this is a custom view we need to save everything ready to pass it on from page to page
|
Zeile 3153 | Zeile 3209 |
---|
$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'])) { update_admin_session('last_users_url', str_replace("&", "&", $view['url']));
| if(!isset($admin_session['data']['last_users_view']) || $admin_session['data']['last_users_view'] != str_replace("&", "&", $view['url'])) { update_admin_session('last_users_url', str_replace("&", "&", $view['url']));
|
Zeile 3197 | Zeile 3248 |
---|
$field_options['class'] = "align_".$view_field['align']; } $table->construct_header($view_field['title'], $field_options);
|
$field_options['class'] = "align_".$view_field['align']; } $table->construct_header($view_field['title'], $field_options);
|
}
| }
|
$table->construct_header("<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this);\" />"); // Create a header for the "select" boxes }
| $table->construct_header("<input type=\"checkbox\" name=\"allbox\" onclick=\"inlineModeration.checkAll(this);\" />"); // Create a header for the "select" boxes }
|
Zeile 3206 | Zeile 3257 |
---|
// Build the search SQL for users
// List of valid LIKE search fields
|
// Build the search SQL for users
// List of valid LIKE search fields
|
$user_like_fields = array("username", "email", "website", "icq", "aim", "yahoo", "skype", "google", "signature", "usertitle");
| $user_like_fields = array("username", "email", "website", "icq", "yahoo", "skype", "google", "signature", "usertitle");
|
foreach($user_like_fields as $search_field) { if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank'])
| foreach($user_like_fields as $search_field) { if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank'])
|
Zeile 3216 | Zeile 3267 |
---|
else if(!empty($view['conditions'][$search_field.'_blank'])) { $search_sql .= " AND u.{$search_field} != ''";
|
else if(!empty($view['conditions'][$search_field.'_blank'])) { $search_sql .= " AND u.{$search_field} != ''";
|
}
| }
|
}
// EXACT matching fields
| }
// EXACT matching fields
|
Zeile 3254 | Zeile 3305 |
---|
// Registration searching $reg_fields = array("regdate"); foreach($reg_fields as $search_field)
|
// Registration searching $reg_fields = array("regdate"); foreach($reg_fields as $search_field)
|
{
| {
|
if(!empty($view['conditions'][$search_field]) && (int)$view['conditions'][$search_field]) { $threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);
$search_sql .= " AND u.{$search_field} >= '{$threshold}'";
|
if(!empty($view['conditions'][$search_field]) && (int)$view['conditions'][$search_field]) { $threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);
$search_sql .= " AND u.{$search_field} >= '{$threshold}'";
|
} }
| } }
|
// IP searching $ip_fields = array("regip", "lastip"); foreach($ip_fields as $search_field) { if(!empty($view['conditions'][$search_field]))
|
// IP searching $ip_fields = array("regip", "lastip"); foreach($ip_fields as $search_field) { if(!empty($view['conditions'][$search_field]))
|
{
| {
|
$ip_range = fetch_ip_range($view['conditions'][$search_field]); if(!is_array($ip_range)) { $ip_sql = "{$search_field}=".$db->escape_binary($ip_range); } else
|
$ip_range = fetch_ip_range($view['conditions'][$search_field]); if(!is_array($ip_range)) { $ip_sql = "{$search_field}=".$db->escape_binary($ip_range); } else
|
{
| {
|
$ip_sql = "{$search_field} BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]); } $search_sql .= " AND {$ip_sql}";
| $ip_sql = "{$search_field} BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]); } $search_sql .= " AND {$ip_sql}";
|
Zeile 3289 | Zeile 3340 |
---|
if(!is_array($ip_range)) { $ip_sql = "ipaddress=".$db->escape_binary($ip_range);
|
if(!is_array($ip_range)) { $ip_sql = "ipaddress=".$db->escape_binary($ip_range);
|
}
| }
|
else { $ip_sql = "ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);
| else { $ip_sql = "ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);
|
Zeile 3311 | Zeile 3362 |
---|
foreach($view['custom_profile_fields'] as $column => $input) { if(is_array($input))
|
foreach($view['custom_profile_fields'] as $column => $input) { if(is_array($input))
|
{
| {
|
foreach($input as $value => $text) { if($value == $column)
| foreach($input as $value => $text) { if($value == $column)
|
Zeile 3447 | Zeile 3498 |
---|
if($mybb->input['page']) { $start = ($mybb->input['page'] - 1) * $view['perpage'];
|
if($mybb->input['page']) { $start = ($mybb->input['page'] - 1) * $view['perpage'];
|
| $pages = ceil($num_results / $view['perpage']); if($mybb->input['page'] > $pages) { $start = 0; $mybb->input['page'] = 1; }
|
} else {
| } else {
|
Zeile 3458 | Zeile 3515 |
---|
if(isset($mybb->input['from']) && $mybb->input['from'] == "home") { $from_bit = "&from=home";
|
if(isset($mybb->input['from']) && $mybb->input['from'] == "home") { $from_bit = "&from=home";
|
}
| }
|
switch($view['sortby']) {
| switch($view['sortby']) {
|
Zeile 3470 | Zeile 3527 |
---|
break; case "numposts": $view['sortby'] = "postnum";
|
break; case "numposts": $view['sortby'] = "postnum";
|
break;
| break;
|
case "numthreads": $view['sortby'] = "threadnum"; break;
| case "numthreads": $view['sortby'] = "threadnum"; break;
|
Zeile 3479 | Zeile 3536 |
---|
break; default: $view['sortby'] = "username";
|
break; default: $view['sortby'] = "username";
|
}
| }
|
if($view['sortorder'] != "desc") { $view['sortorder'] = "asc";
| if($view['sortorder'] != "desc") { $view['sortorder'] = "asc";
|
Zeile 3500 | Zeile 3557 |
---|
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']['usergroup'] = htmlspecialchars_uni($usergroups[$user['usergroup']]['title']); if($user['additionalgroups'])
| $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'] = htmlspecialchars_uni($usergroups[$user['usergroup']]['title']); if($user['additionalgroups'])
|
Zeile 3537 | Zeile 3595 |
---|
{ // Not banned... but soon maybe! $popup->add_item($lang->ban_user, "index.php?module=user-banning&uid={$user['uid']}#username");
|
{ // Not banned... but soon maybe! $popup->add_item($lang->ban_user, "index.php?module=user-banning&uid={$user['uid']}#username");
|
}
| }
|
if($user['usergroup'] == 5) { if($user['coppauser']) { $popup->add_item($lang->approve_coppa_user, "index.php?module=user-users&action=activate_user&uid={$user['uid']}&my_post_key={$mybb->post_code}{$from_bit}");
|
if($user['usergroup'] == 5) { if($user['coppauser']) { $popup->add_item($lang->approve_coppa_user, "index.php?module=user-users&action=activate_user&uid={$user['uid']}&my_post_key={$mybb->post_code}{$from_bit}");
|
}
| }
|
else { $popup->add_item($lang->approve_user, "index.php?module=user-users&action=activate_user&uid={$user['uid']}&my_post_key={$mybb->post_code}{$from_bit}");
|
else { $popup->add_item($lang->approve_user, "index.php?module=user-users&action=activate_user&uid={$user['uid']}&my_post_key={$mybb->post_code}{$from_bit}");
|
} }
| } }
|
$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 3570 | Zeile 3628 |
---|
if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0) { if($mybb->settings['maxwarningpoints'] < 1)
|
if($mybb->settings['enablewarningsystem'] != 0 && $usergroups[$user['usergroup']]['canreceivewarnings'] != 0) { if($mybb->settings['maxwarningpoints'] < 1)
|
{
| {
|
$mybb->settings['maxwarningpoints'] = 10; }
| $mybb->settings['maxwarningpoints'] = 10; }
|
Zeile 3582 | Zeile 3640 |
---|
$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://')
| if($view['view_type'] == "card")
|
{
|
{
|
$user['avatar'] = "../{$user['avatar']}"; } if($view['view_type'] == "card") { $scaled_avatar = fetch_scaled_avatar($user, 80, 80); }
| $max_dimensions = '80x80'; }
|
else {
|
else {
|
$scaled_avatar = fetch_scaled_avatar($user, 34, 34); } if(!$user['avatar']) { $user['avatar'] = "../".$mybb->settings['useravatar'];
| $max_dimensions = '34x34';
|
}
|
}
|
$user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";
| $avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);
$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";
|
// Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
| // Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
|
Zeile 3646 | Zeile 3699 |
---|
// 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 3677 | Zeile 3731 |
---|
$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 3685 | Zeile 3739 |
---|
} $built_view .= "<script type=\"text/javascript\"> var form = $(\"#search_form\");
|
} $built_view .= "<script type=\"text/javascript\"> var form = $(\"#search_form\");
|
form.submit(function() {
| form.on('submit', function() {
|
var search = $('#search_keywords'); if(search.val() == '' || search.val() == '".addcslashes($lang->search_for_user, "'")."') {
|
var search = $('#search_keywords'); if(search.val() == '' || search.val() == '".addcslashes($lang->search_for_user, "'")."') {
|
search.focus();
| search.trigger('focus');
|
return false; } });
var search = $(\"#search_keywords\");
|
return false; } });
var search = $(\"#search_keywords\");
|
search.focus(function()
| search.on('focus', function()
|
{ var searched_focus = $(this); if(searched_focus.val() == '".addcslashes($lang->search_for_user, "'")."')
| { var searched_focus = $(this); if(searched_focus.val() == '".addcslashes($lang->search_for_user, "'")."')
|
Zeile 3703 | Zeile 3757 |
---|
searched_focus.removeClass(\"search_default\"); searched_focus.val(\"\"); }
|
searched_focus.removeClass(\"search_default\"); searched_focus.val(\"\"); }
|
});
search.blur(function()
| }).on('blur', function()
|
{ var searched_blur = $(this); if(searched_blur.val() == \"\")
| { var searched_blur = $(this); if(searched_blur.val() == \"\")
|
Zeile 3727 | Zeile 3779 |
---|
// TODO Select2
$built_view .= $search->end();
|
// TODO Select2
$built_view .= $search->end();
|
if(isset($pagination)) { $built_view .= $pagination;
| if(isset($pagination)) { $built_view .= $pagination;
|
} if($view['view_type'] != "card") {
| } if($view['view_type'] != "card") {
|
Zeile 3745 | Zeile 3797 |
---|
{ $built_view .= $pagination; }
|
{ $built_view .= $pagination; }
|
|
|
$built_view .= '
|
$built_view .= '
|
<script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1800"></script>
| <script type="text/javascript" src="'.$mybb->settings['bburl'].'/jscripts/inline_moderation.js?ver=1821"></script>
|
<form action="index.php?module=user-users" method="post"> <input type="hidden" name="my_post_key" value="'.$mybb->post_code.'" /> <input type="hidden" name="action" value="inline_edit" />
| <form action="index.php?module=user-users" method="post"> <input type="hidden" name="my_post_key" value="'.$mybb->post_code.'" /> <input type="hidden" name="action" value="inline_edit" />
|
Zeile 3775 | Zeile 3827 |
---|
return $built_view; }
|
return $built_view; }
|
|
|
/** * @param array $user * @param array $view
| /** * @param array $user * @param array $view
|
Zeile 3789 | Zeile 3841 |
---|
++$i; if($i == 3)
|
++$i; if($i == 3)
|
{
| {
|
$i = 1; }
| $i = 1; }
|
Zeile 3797 | Zeile 3849 |
---|
foreach($view['fields'] as $field) { if(!$user_view_fields[$field])
|
foreach($view['fields'] as $field) { if(!$user_view_fields[$field])
|
{
| {
|
continue; }
| continue; }
|
Zeile 3811 | Zeile 3863 |
---|
else if($field == "controls") { $controls = $user['view']['controls'];
|
else if($field == "controls") { $controls = $user['view']['controls'];
|
}
| }
|
// Otherwise, just user data else if($field != "username") { if(isset($user['view'][$field])) { $value = $user['view'][$field];
|
// Otherwise, just user data else if($field != "username") { if(isset($user['view'][$field])) { $value = $user['view'][$field];
|
}
| }
|
else { $value = $user[$field];
| else { $value = $user[$field];
|
Zeile 3847 | Zeile 3899 |
---|
$card = "<fieldset id=\"uid_{$user['uid']}\" style=\"width: 47%; float: {$float};\">\n"; $card .= "<legend><input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" /> {$user['view']['username']}</legend>\n"; if($avatar)
|
$card = "<fieldset id=\"uid_{$user['uid']}\" style=\"width: 47%; float: {$float};\">\n"; $card .= "<legend><input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" /> {$user['view']['username']}</legend>\n"; if($avatar)
|
{
| {
|
$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";
|
$card .= "<div class=\"user_avatar\">{$avatar}</div>\n";
|
}
| }
|
if($user_details) { $card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";
|
if($user_details) { $card .= "<div class=\"user_details\">".implode("<br />", $user_details)."</div>\n";
|
}
| }
|
if($controls) { $card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n"; } $card .= "</fieldset>"; return $card;
|
if($controls) { $card .= "<div class=\"float_right\" style=\"padding: 4px;\">{$controls}</div>\n"; } $card .= "</fieldset>"; return $card;
|
|
|
}
/**
| }
/**
|
Zeile 3881 | Zeile 3933 |
---|
$view_field = $user_view_fields[$field]; $field_options = array(); if($view_field['align'])
|
$view_field = $user_view_fields[$field]; $field_options = array(); if($view_field['align'])
|
{
| {
|
$field_options['class'] = "align_".$view_field['align']; } if($user['view'][$field])
| $field_options['class'] = "align_".$view_field['align']; } if($user['view'][$field])
|
Zeile 3903 | Zeile 3955 |
---|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
}
/** * @param array $user * @param int $max_width * @param int $max_height * * @return array */ function fetch_scaled_avatar($user, $max_width=80, $max_height=80) { $scaled_dimensions = array( "width" => $max_width, "height" => $max_height, );
if($user['avatar']) { if($user['avatardimensions']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = explode("|", $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, $max_width, $max_height); } }
return array("width" => $scaled_dimensions['width'], "height" => $scaled_dimensions['height']);
| |
}
/**
| }
/**
|
Zeile 3958 | Zeile 3983 |
---|
switch($type) { case "multiselect":
|
switch($type) { case "multiselect":
|
| $selected_options = array();
|
if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
| if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
|
Zeile 3967 | Zeile 3993 |
---|
$user_options = $values[$field_name]; }
|
$user_options = $values[$field_name]; }
|
$selected_options = array();
|
|
foreach($user_options as $val) { $selected_options[$val] = htmlspecialchars_uni($val); }
$select_options = explode("\n", $options);
|
foreach($user_options as $val) { $selected_options[$val] = htmlspecialchars_uni($val); }
$select_options = explode("\n", $options);
|
$options = array();
| $options = array();
|
if($search == true)
|
if($search == true)
|
{
| {
|
$select_options[''] = $lang->na; }
|
$select_options[''] = $lang->na; }
|
foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val));
| foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val));
|
$options[$val] = $val; } if(!$profile_field['length'])
| $options[$val] = $val; } if(!$profile_field['length'])
|
Zeile 3996 | Zeile 4022 |
---|
if($search == true) { $select_options[''] = $lang->na;
|
if($search == true) { $select_options[''] = $lang->na;
|
}
| }
|
$select_options += explode("\n", $options); $options = array(); foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val;
|
$select_options += explode("\n", $options); $options = array(); foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val;
|
}
| }
|
if(!$profile_field['length']) { $profile_field['length'] = 1;
| if(!$profile_field['length']) { $profile_field['length'] = 1;
|
Zeile 4032 | Zeile 4058 |
---|
} break; case "checkbox":
|
} break; case "checkbox":
|
| $select_options = array();
|
if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
| if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
|
Zeile 4040 | Zeile 4067 |
---|
{ $user_options = $values[$field_name]; }
|
{ $user_options = $values[$field_name]; }
|
| $selected_options = array();
|
foreach($user_options as $val) { $selected_options[$val] = $val; }
|
foreach($user_options as $val) { $selected_options[$val] = $val; }
|
$select_options = array();
|
|
if($search == true)
|
if($search == true)
|
{
| {
|
$select_options[''] = $lang->na; } $select_options += explode("\n", $options); $code = ''; foreach($select_options as $val)
|
$select_options[''] = $lang->na; } $select_options += explode("\n", $options); $code = ''; foreach($select_options as $val)
|
{
| {
|
$val = trim($val); $code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />"; } break; case "textarea":
|
$val = trim($val); $code .= $form->generate_check_box("profile_fields[{$field_name}][]", $val, htmlspecialchars_uni($val), array('id' => "profile_field_{$field_name}", 'checked' => ($val == $selected_options[$val] ? true : false)))."<br />"; } break; case "textarea":
|
$extra = '';
| $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']));
| 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']));
|
Zeile 4089 | Zeile 4118 |
---|
function user_search_conditions($input=array(), &$form) { global $mybb, $db, $lang;
|
function user_search_conditions($input=array(), &$form) { global $mybb, $db, $lang;
|
|
|
if(!$input) { $input = $mybb->input;
| if(!$input) { $input = $mybb->input;
|
Zeile 4111 | Zeile 4140 |
---|
}
$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();
| $form_container->output_row($lang->email_address_contains, "", $form->generate_text_box('conditions[email]', $input['conditions']['email'], array('id' => 'email')), 'email');
$options = array();
|
Zeile 4125 | Zeile 4154 |
---|
$form_container->output_row($lang->website_contains, "", $form->generate_text_box('conditions[website]', $input['conditions']['website'], array('id' => 'website'))." {$lang->or} ".$form->generate_check_box('conditions[website_blank]', 1, $lang->is_not_blank, array('id' => 'website_blank', 'checked' => $input['conditions']['website_blank'])), 'website'); $form_container->output_row($lang->icq_number_contains, "", $form->generate_text_box('conditions[icq]', $input['conditions']['icq'], array('id' => 'icq'))." {$lang->or} ".$form->generate_check_box('conditions[icq_blank]', 1, $lang->is_not_blank, array('id' => 'icq_blank', 'checked' => $input['conditions']['icq_blank'])), 'icq');
|
$form_container->output_row($lang->website_contains, "", $form->generate_text_box('conditions[website]', $input['conditions']['website'], array('id' => 'website'))." {$lang->or} ".$form->generate_check_box('conditions[website_blank]', 1, $lang->is_not_blank, array('id' => 'website_blank', 'checked' => $input['conditions']['website_blank'])), 'website'); $form_container->output_row($lang->icq_number_contains, "", $form->generate_text_box('conditions[icq]', $input['conditions']['icq'], array('id' => 'icq'))." {$lang->or} ".$form->generate_check_box('conditions[icq_blank]', 1, $lang->is_not_blank, array('id' => 'icq_blank', 'checked' => $input['conditions']['icq_blank'])), 'icq');
|
$form_container->output_row($lang->aim_handle_contains, "", $form->generate_text_box('conditions[aim]', $input['conditions']['aim'], array('id' => 'aim'))." {$lang->or} ".$form->generate_check_box('conditions[aim_blank]', 1, $lang->is_not_blank, array('id' => 'aim_blank', 'checked' => $input['conditions']['aim_blank'])), 'aim');
| |
$form_container->output_row($lang->yahoo_contains, "", $form->generate_text_box('conditions[yahoo]', $input['conditions']['yahoo'], array('id' => 'yahoo'))." {$lang->or} ".$form->generate_check_box('conditions[yahoo_blank]', 1, $lang->is_not_blank, array('id' => 'yahoo_blank', 'checked' => $input['conditions']['yahoo_blank'])), 'yahoo'); $form_container->output_row($lang->skype_contains, "", $form->generate_text_box('conditions[skype]', $input['conditions']['skype'], array('id' => 'skype'))." {$lang->or} ".$form->generate_check_box('conditions[skype_blank]', 1, $lang->is_not_blank, array('id' => 'skype_blank', 'checked' => $input['conditions']['skype_blank'])), 'skype'); $form_container->output_row($lang->google_contains, "", $form->generate_text_box('conditions[google]', $input['conditions']['google'], array('id' => 'google'))." {$lang->or} ".$form->generate_check_box('conditions[google_blank]', 1, $lang->is_not_blank, array('id' => 'google_blank', 'checked' => $input['conditions']['google_blank'])), 'google');
| $form_container->output_row($lang->yahoo_contains, "", $form->generate_text_box('conditions[yahoo]', $input['conditions']['yahoo'], array('id' => 'yahoo'))." {$lang->or} ".$form->generate_check_box('conditions[yahoo_blank]', 1, $lang->is_not_blank, array('id' => 'yahoo_blank', 'checked' => $input['conditions']['yahoo_blank'])), 'yahoo'); $form_container->output_row($lang->skype_contains, "", $form->generate_text_box('conditions[skype]', $input['conditions']['skype'], array('id' => 'skype'))." {$lang->or} ".$form->generate_check_box('conditions[skype_blank]', 1, $lang->is_not_blank, array('id' => 'skype_blank', 'checked' => $input['conditions']['skype_blank'])), 'skype'); $form_container->output_row($lang->google_contains, "", $form->generate_text_box('conditions[google]', $input['conditions']['google'], array('id' => 'google'))." {$lang->or} ".$form->generate_check_box('conditions[google_blank]', 1, $lang->is_not_blank, array('id' => 'google_blank', 'checked' => $input['conditions']['google_blank'])), 'google');
|
Zeile 4207 | Zeile 4235 |
---|
}); // --> </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) { if(is_array($ratings)) { $db->update_query('threads', array('numratings' => 'numratings-'.count($ratings), 'totalratings' => 'totalratings-'.array_sum($ratings)), "tid='{$tid}'", 1, true); } } }
|
}
| }
|