Zeile 254 | Zeile 254 |
---|
my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);
// Log admin action
|
my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message);
// Log admin action
|
log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
| log_admin_action($user['uid'], $user['username']);
|
if($mybb->input['from'] == "home") {
| if($mybb->input['from'] == "home") {
|
Zeile 359 | Zeile 359 |
---|
$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'], htmlspecialchars_uni($user_info['username']));
| log_admin_action($user_info['uid'], $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 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 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 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 }
// Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
$s = "?s={$maxwidth}"; $maxheight = (int)$maxwidth;
|
|
|
// Copy the avatar to the local server (work around remote URL access disabled for getimagesize) $file = fetch_remote_file($mybb->input['avatar_url']); if(!$file) { $avatar_error = $lang->error_invalidavatarurl; } else { $tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp)
| $extra_user_updates = array( "avatar" => "https://www.gravatar.com/avatar/{$email}{$s}", "avatardimensions" => "{$maxheight}|{$maxheight}", "avatartype" => "gravatar" ); } else { $mybb->input['avatar_url'] = preg_replace("#script:#i", "", $mybb->input['avatar_url']); $ext = get_extension($mybb->input['avatar_url']);
// Copy the avatar to the local server (work around remote URL access disabled for getimagesize) $file = fetch_remote_file($mybb->input['avatar_url']); if(!$file)
|
{ $avatar_error = $lang->error_invalidavatarurl;
|
{ $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) { $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))
| $tmp_name = "../".$mybb->settings['avataruploadpath']."/remote_".md5(random_str()); $fp = @fopen($tmp_name, "wb"); if(!$fp)
|
{
|
{
|
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight); $avatar_error = $lang->error_avatartoobig;
| $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 > 0 && $height > 0)
| if(empty($avatar_error))
|
{
|
{
|
$avatar_dimensions = (int)$width."|".(int)$height;
| 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);
|
}
|
}
|
$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( 1 => array(
| // Moderator "Options" (suspend signature, suspend/moderate posting) $moderator_options = array( 1 => array(
|
Zeile 745 | Zeile 752 |
---|
foreach($moderator_options as $option) { if(!$mybb->input[$option['action']])
|
foreach($moderator_options as $option) { if(!$mybb->input[$option['action']])
|
{
| {
|
if($user[$option['update_field']] == 1) { // We're revoking the suspension
| if($user[$option['update_field']] == 1) { // We're revoking the suspension
|
Zeile 781 | Zeile 788 |
---|
elseif($suspend_length && $suspend_length != "-1") { // Temporary ban on action
|
elseif($suspend_length && $suspend_length != "-1") { // Temporary ban on action
|
$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length; }
| $extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length; }
|
} elseif(!$user[$option['update_field']]) {
| } elseif(!$user[$option['update_field']]) {
|
Zeile 836 | Zeile 843 |
---|
}
// Log admin action
|
}
// Log admin action
|
log_admin_action($user['uid'], htmlspecialchars_uni($mybb->input['username']));
| log_admin_action($user['uid'], $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 857 | Zeile 865 |
---|
);
foreach($options as $option)
|
);
foreach($options as $option)
|
{
| {
|
if(!isset($input_user[$option])) { $mybb->input[$option] = '';
| if(!isset($input_user[$option])) { $mybb->input[$option] = '';
|
Zeile 870 | Zeile 878 |
---|
}
if($mybb->input['bday1'] || $mybb->input['bday2'] || $mybb->input['bday3'])
|
}
if($mybb->input['bday1'] || $mybb->input['bday2'] || $mybb->input['bday3'])
|
{
| {
|
$mybb->input['bday'][0] = $mybb->input['bday1']; $mybb->input['bday'][1] = $mybb->input['bday2']; $mybb->input['bday'][2] = $mybb->get_input('bday3', MyBB::INPUT_INT);
|
$mybb->input['bday'][0] = $mybb->input['bday1']; $mybb->input['bday'][1] = $mybb->input['bday2']; $mybb->input['bday'][2] = $mybb->get_input('bday3', MyBB::INPUT_INT);
|
} else
| } else
|
{ $mybb->input['bday'] = array(0, 0, '');
| { $mybb->input['bday'] = array(0, 0, '');
|
Zeile 883 | Zeile 891 |
---|
{ $mybb->input['bday'] = explode('-', $user['birthday']); }
|
{ $mybb->input['bday'] = explode('-', $user['birthday']); }
|
}
| }
|
if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) { $mybb->input['away_year'] = $mybb->get_input('away_year', MyBB::INPUT_INT);
| if($mybb->input['away_day'] || $mybb->input['away_month'] || $mybb->input['away_year']) { $mybb->input['away_year'] = $mybb->get_input('away_year', MyBB::INPUT_INT);
|
Zeile 894 | Zeile 902 |
---|
$mybb->input['away_day'] = 0; $mybb->input['away_month'] = 0; $mybb->input['away_year'] = '';
|
$mybb->input['away_day'] = 0; $mybb->input['away_month'] = 0; $mybb->input['away_year'] = '';
|
|
|
if($user['returndate']) { list($mybb->input['away_day'], $mybb->input['away_month'], $mybb->input['away_year']) = explode('-', $user['returndate']);
|
if($user['returndate']) { list($mybb->input['away_day'], $mybb->input['away_month'], $mybb->input['away_year']) = explode('-', $user['returndate']);
|
}
| }
|
}
|
}
|
|
|
// Fetch custom profile fields
|
// Fetch custom profile fields
|
$query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));
| $query = $db->simple_select("profilefields", "*", "", array('order_by' => 'disporder'));
|
$profile_fields = array(); while($profile_field = $db->fetch_array($query)) {
| $profile_fields = array(); while($profile_field = $db->fetch_array($query)) {
|
Zeile 931 | Zeile 939 |
---|
$sub_tabs['edit_user'] = array( 'title' => $lang->edit_user, 'description' => $lang->edit_user_desc
|
$sub_tabs['edit_user'] = array( 'title' => $lang->edit_user, 'description' => $lang->edit_user_desc
|
);
| );
|
$form = new Form("index.php?module=user-users&action=edit&uid={$user['uid']}", "post", "", 1);
|
$form = new Form("index.php?module=user-users&action=edit&uid={$user['uid']}", "post", "", 1);
|
|
|
$page->output_nav_tabs($sub_tabs, 'edit_user');
|
$page->output_nav_tabs($sub_tabs, 'edit_user');
|
|
|
// 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);
|
}
| }
|
// 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 959 | Zeile 967 |
---|
); $tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs); $page->output_tab_control($tabs);
|
); $tabs = $plugins->run_hooks("admin_user_users_edit_graph_tabs", $tabs); $page->output_tab_control($tabs);
|
//
| //
|
// OVERVIEW // echo "<div id=\"tab_overview\">\n";
| // OVERVIEW // echo "<div id=\"tab_overview\">\n";
|
Zeile 970 | Zeile 978 |
---|
// Avatar $avatar_dimensions = explode("|", $user['avatardimensions']);
|
// Avatar $avatar_dimensions = explode("|", $user['avatardimensions']);
|
if($user['avatar'])
| if($user['avatar'] && (my_strpos($user['avatar'], '://') === false || $mybb->settings['allowremoteavatars']))
|
{ if($user['avatardimensions']) {
| { if($user['avatardimensions']) {
|
Zeile 1017 | Zeile 1025 |
---|
$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 1107 | Zeile 1115 |
---|
$username = htmlspecialchars_uni($user['username']); $table->output("{$lang->user_overview}: {$username}");
|
$username = htmlspecialchars_uni($user['username']); $table->output("{$lang->user_overview}: {$username}");
|
| $plugins->run_hooks("admin_user_users_edit_overview");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1153 | Zeile 1162 |
---|
$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 1214 | Zeile 1222 |
---|
$form_container->end(); }
|
$form_container->end(); }
|
| $plugins->run_hooks("admin_user_users_edit_profile");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1243 | Zeile 1252 |
---|
$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'))
|
); $form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
| ); $form_container->output_row($lang->messaging_and_notification, "", "<div class=\"user_settings_bit\">".implode("</div><div class=\"user_settings_bit\">", $messaging_options)."</div>");
|
Zeile 1339 | Zeile 1348 |
---|
$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 1473 | Zeile 1483 |
---|
$form_container->output_row($lang->signature_preferences, "", implode("<br />", $signature_options));
$form_container->end();
|
$form_container->output_row($lang->signature_preferences, "", implode("<br />", $signature_options));
$form_container->end();
|
| $plugins->run_hooks("admin_user_users_edit_signatur");
|
echo "</div>\n";
//
| echo "</div>\n";
//
|
Zeile 1533 | Zeile 1544 |
---|
} $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 1634 | Zeile 1649 |
---|
$form_container->end();
|
$form_container->end();
|
| $plugins->run_hooks("admin_user_users_edit_moderator_options");
|
echo "</div>\n";
$plugins->run_hooks("admin_user_users_edit_graph");
| echo "</div>\n";
$plugins->run_hooks("admin_user_users_edit_graph");
|
Zeile 1746 | Zeile 1762 |
---|
$plugins->run_hooks("admin_user_users_delete_commit_end");
|
$plugins->run_hooks("admin_user_users_delete_commit_end");
|
log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
| log_admin_action($user['uid'], $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 1826 | Zeile 1842 |
---|
$user = $db->fetch_array($query);
// Log admin action
|
$user = $db->fetch_array($query);
// Log admin action
|
log_admin_action($user['uid'], htmlspecialchars_uni($user['username']));
| log_admin_action($user['uid'], $user['username']);
|
$table = new Table;
| $table = new Table;
|
Zeile 1952 | Zeile 1968 |
---|
$db->update_query("posts", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("privatemessages", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("reportedcontent", $uid_update, "uid='{$source_user['uid']}'");
|
$db->update_query("posts", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("privatemessages", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("reportedcontent", $uid_update, "uid='{$source_user['uid']}'");
|
$db->update_query("threadratings", $uid_update, "uid='{$source_user['uid']}'");
| |
$db->update_query("threads", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("warnings", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("warnings", array("revokedby" => $destination_user['uid']), "revokedby='{$source_user['uid']}'"); $db->update_query("warnings", array("issuedby" => $destination_user['uid']), "issuedby='{$source_user['uid']}'");
|
$db->update_query("threads", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("warnings", $uid_update, "uid='{$source_user['uid']}'"); $db->update_query("warnings", array("revokedby" => $destination_user['uid']), "revokedby='{$source_user['uid']}'"); $db->update_query("warnings", array("issuedby" => $destination_user['uid']), "issuedby='{$source_user['uid']}'");
|
| // Thread ratings merge_thread_ratings($source_user['uid'], $destination_user['uid']);
|
// Banning $db->update_query("banned", array('admin' => $destination_user['uid']), "admin = '{$source_user['uid']}'");
| // Banning $db->update_query("banned", array('admin' => $destination_user['uid']), "admin = '{$source_user['uid']}'");
|
Zeile 2072 | Zeile 2090 |
---|
"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(); $query = $db->simple_select("forums", "fid", "usepostcounts=0"); while($fid = $db->fetch_field($query, "fid"))
|
// Get a list of forums where post count doesn't apply $fids = array(); $query = $db->simple_select("forums", "fid", "usepostcounts=0"); while($fid = $db->fetch_field($query, "fid"))
|
{
| {
|
$fids[] = $fid; }
$fids_not_in = ''; if(!empty($fids))
|
$fids[] = $fid; }
$fids_not_in = ''; if(!empty($fids))
|
{
| {
|
$fids_not_in = "AND fid NOT IN(".implode(',', $fids).")"; }
| $fids_not_in = "AND fid NOT IN(".implode(',', $fids).")"; }
|
Zeile 2099 | Zeile 2110 |
---|
$num = $db->fetch_array($query); $updated_count = array( "postnum" => $num['postnum']
|
$num = $db->fetch_array($query); $updated_count = array( "postnum" => $num['postnum']
|
); $db->update_query("users", $updated_count, "uid='{$destination_user['uid']}'");
| ); $db->update_query("users", $updated_count, "uid='{$destination_user['uid']}'");
|
// Update user thread count $query = $db->simple_select("threads", "COUNT(*) AS threadnum", "uid='".$destination_user['uid']."' {$fids_not_in}"); $num = $db->fetch_array($query);
| // Update user thread count $query = $db->simple_select("threads", "COUNT(*) AS threadnum", "uid='".$destination_user['uid']."' {$fids_not_in}"); $num = $db->fetch_array($query);
|
Zeile 2117 | Zeile 2128 |
---|
}
$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();
|
|
|
// Log admin action
|
// Log admin action
|
log_admin_action($source_user['uid'], htmlspecialchars_uni($source_user['username']), $destination_user['uid'], htmlspecialchars_uni($destination_user['username']));
| log_admin_action($source_user['uid'], $source_user['username'], $destination_user['uid'], $destination_user['username']);
|
// Redirect! $username = htmlspecialchars_uni($source_user['username']);
| // Redirect! $username = htmlspecialchars_uni($source_user['username']);
|
Zeile 2157 | Zeile 2175 |
---|
<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(); if (query !== "") { $.ajax("../xmlhttp.php?action=get_users&getone=1", { data: { query: query
| 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
|
}, dataType: "json" }).done(function(data) { callback(data); });
| }, dataType: "json" }).done(function(data) { callback(data); });
|
Zeile 2210 | Zeile 2228 |
---|
query: query }, dataType: "json"
|
query: query }, dataType: "json"
|
}).done(function(data) { callback(data); }); } }
| }).done(function(data) { callback(data); }); } }
|
}); // --> </script>';
| }); // --> </script>';
|
Zeile 2443 | Zeile 2461 |
---|
{ $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);
|
{ $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);
| // Action complete, grab stats and show success message - redirect user $to_update_count = count($to_update);
|
Zeile 2607 | Zeile 2625 |
---|
$table = new Table; $lang->mass_ban_info = $lang->sprintf($lang->mass_ban_info, count($selected)); $table->construct_cell($lang->mass_ban_info);
|
$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);
| $table->construct_row(); $table->output($lang->important);
|
// If there's any errors, display inline if($errors) {
| // If there's any errors, display inline if($errors) {
|
Zeile 2664 | Zeile 2682 |
---|
log_admin_action($to_be_deleted);
$lang->users_deleted = $lang->sprintf($lang->users_deleted, $to_be_deleted);
|
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');
| $cache->update_awaitingactivation();
flash_message($lang->users_deleted, 'success');
|
Zeile 2774 | Zeile 2792 |
---|
$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))
|
$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); } }
| $prune_array = array_merge_recursive($prune_array, $return_array); } }
|
Zeile 2884 | Zeile 2902 |
---|
$prune_select = $date_box.$month_box.$year_box; $form_container->output_row($lang->manual_date, "", $prune_select, 'date');
|
$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;
| // Generate the set date box $set_options = array(); $set_options[] = $lang->set_an_option;
|
Zeile 2995 | Zeile 3013 |
---|
}
if(!is_array($mybb->input['additionalgroups']))
|
}
if(!is_array($mybb->input['additionalgroups']))
|
{
| {
|
$mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']); }
| $mybb->input['additionalgroups'] = explode(',', $mybb->input['additionalgroups']); }
|
Zeile 3215 | Zeile 3233 |
---|
$search_sql = '1=1';
// Build the search SQL for users
|
$search_sql = '1=1';
// Build the search SQL for users
|
|
|
// List of valid LIKE search fields
|
// 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']) { $search_sql .= " AND u.{$search_field} LIKE '%".$db->escape_string_like($view['conditions'][$search_field])."%'";
|
foreach($user_like_fields as $search_field) { if(!empty($view['conditions'][$search_field]) && !$view['conditions'][$search_field.'_blank']) { $search_sql .= " AND u.{$search_field} LIKE '%".$db->escape_string_like($view['conditions'][$search_field])."%'";
|
}
| }
|
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} != ''";
|
Zeile 3237 | Zeile 3255 |
---|
if(!empty($view['conditions'][$search_field])) { $search_sql .= " AND u.{$search_field}='".$db->escape_string($view['conditions'][$search_field])."'";
|
if(!empty($view['conditions'][$search_field])) { $search_sql .= " AND u.{$search_field}='".$db->escape_string($view['conditions'][$search_field])."'";
|
}
| }
|
}
// LESS THAN or GREATER THAN
| }
// LESS THAN or GREATER THAN
|
Zeile 3251 | Zeile 3269 |
---|
{ case "greater_than": $direction = ">";
|
{ case "greater_than": $direction = ">";
|
break;
| break;
|
case "less_than": $direction = "<"; break;
| case "less_than": $direction = "<"; break;
|
Zeile 3271 | Zeile 3289 |
---|
$threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);
$search_sql .= " AND u.{$search_field} >= '{$threshold}'";
|
$threshold = TIME_NOW - ((int)$view['conditions'][$search_field] * 24 * 60 * 60);
$search_sql .= " AND u.{$search_field} >= '{$threshold}'";
|
}
| }
|
}
// IP searching
| }
// IP searching
|
Zeile 3290 | Zeile 3308 |
---|
$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}";
|
} }
| } }
|
// Post IP searching if(!empty($view['conditions']['postip'])) {
| // Post IP searching if(!empty($view['conditions']['postip'])) {
|
Zeile 3326 | Zeile 3344 |
---|
foreach($input as $value => $text) { if($value == $column)
|
foreach($input as $value => $text) { if($value == $column)
|
{
| {
|
$value = $text; }
| $value = $text; }
|
Zeile 3393 | Zeile 3411 |
---|
if(!$usergroup) { continue;
|
if(!$usergroup) { continue;
|
}
| }
|
$additional_sql = '';
switch($db->type)
| $additional_sql = '';
switch($db->type)
|
Zeile 3463 | Zeile 3481 |
---|
{ $start = 0; $mybb->input['page'] = 1;
|
{ $start = 0; $mybb->input['page'] = 1;
|
}
| }
|
$from_bit = ""; if(isset($mybb->input['from']) && $mybb->input['from'] == "home")
|
$from_bit = ""; if(isset($mybb->input['from']) && $mybb->input['from'] == "home")
|
{
| {
|
$from_bit = "&from=home"; }
| $from_bit = "&from=home"; }
|
Zeile 3484 | Zeile 3502 |
---|
break; case "numthreads": $view['sortby'] = "threadnum";
|
break; case "numthreads": $view['sortby'] = "threadnum";
|
break;
| break;
|
case "warninglevel": $view['sortby'] = "warningpoints"; break;
| case "warninglevel": $view['sortby'] = "warningpoints"; break;
|
Zeile 3498 | Zeile 3516 |
---|
}
$usergroups = $cache->read("usergroups");
|
}
$usergroups = $cache->read("usergroups");
|
|
|
// Fetch matching users $query = $db->query(" SELECT u.*
| // Fetch matching users $query = $db->query(" SELECT u.*
|
Zeile 3523 | Zeile 3541 |
---|
$groups_list .= $comma.htmlspecialchars_uni($usergroups[$group]['title']); $comma = $lang->comma; }
|
$groups_list .= $comma.htmlspecialchars_uni($usergroups[$group]['title']); $comma = $lang->comma; }
|
}
| }
|
if(!$groups_list) { $groups_list = $lang->none;
| if(!$groups_list) { $groups_list = $lang->none;
|
Zeile 3532 | Zeile 3550 |
---|
$user['view']['email'] = "<a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>"; $user['view']['regdate'] = my_date('relative', $user['regdate']); $user['view']['lastactive'] = my_date('relative', $user['lastactive']);
|
$user['view']['email'] = "<a href=\"mailto:".htmlspecialchars_uni($user['email'])."\">".htmlspecialchars_uni($user['email'])."</a>"; $user['view']['regdate'] = my_date('relative', $user['regdate']); $user['view']['lastactive'] = my_date('relative', $user['lastactive']);
|
|
|
// Build popup menu $popup = new PopupMenu("user_{$user['uid']}", $lang->options); $popup->add_item($lang->view_profile, $mybb->settings['bburl'].'/'.get_profile_link($user['uid']));
| // Build popup menu $popup = new PopupMenu("user_{$user['uid']}", $lang->options); $popup->add_item($lang->view_profile, $mybb->settings['bburl'].'/'.get_profile_link($user['uid']));
|
Zeile 3594 | Zeile 3612 |
---|
$user['view']['warninglevel'] = get_colored_warning_level($warning_level); }
|
$user['view']['warninglevel'] = get_colored_warning_level($warning_level); }
|
if($user['avatar'] && !my_validate_url($user['avatar'])) { $user['avatar'] = "../{$user['avatar']}"; }
| |
if($view['view_type'] == "card")
|
if($view['view_type'] == "card")
|
{ $scaled_avatar = fetch_scaled_avatar($user, 80, 80); }
| { $max_dimensions = '80x80'; }
|
else {
|
else {
|
$scaled_avatar = fetch_scaled_avatar($user, 34, 34); } if(!$user['avatar']) { if(my_validate_url($mybb->settings['useravatar'])) { $user['avatar'] = str_replace('{theme}', 'images', $mybb->settings['useravatar']); } else { $user['avatar'] = "../".str_replace('{theme}', 'images', $mybb->settings['useravatar']); }
| $max_dimensions = '34x34';
|
}
|
}
|
$user['view']['avatar'] = "<img src=\"".htmlspecialchars_uni($user['avatar'])."\" alt=\"\" width=\"{$scaled_avatar['width']}\" height=\"{$scaled_avatar['height']}\" />";
| $avatar = format_avatar($user['avatar'], $user['avatardimensions'], $max_dimensions);
$user['view']['avatar'] = "<img src=\"".$avatar['image']."\" alt=\"\" {$avatar['width_height']} />";
|
// Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
| // Convert IP's to readable $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
|
Zeile 3923 | Zeile 3929 |
---|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
$table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />");
$table->construct_row();
|
}
/** * @param array $user * @param int $max_width * @param int $max_height * * @return array */ function fetch_scaled_avatar($user, $max_width=80, $max_height=80) { $scaled_dimensions = array( "width" => $max_width, "height" => $max_height, );
if($user['avatar']) { if($user['avatardimensions']) { require_once MYBB_ROOT."inc/functions_image.php"; list($width, $height) = explode("|", $user['avatardimensions']); $scaled_dimensions = scale_image($width, $height, $max_width, $max_height); } }
return array("width" => $scaled_dimensions['width'], "height" => $scaled_dimensions['height']);
| |
}
/**
| }
/**
|
Zeile 3978 | Zeile 3957 |
---|
switch($type) { case "multiselect":
|
switch($type) { case "multiselect":
|
| $selected_options = array();
|
if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
| if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
|
Zeile 3985 | Zeile 3965 |
---|
else { $user_options = $values[$field_name];
|
else { $user_options = $values[$field_name];
|
}
$selected_options = array();
| }
|
foreach($user_options as $val)
|
foreach($user_options as $val)
|
{
| {
|
$selected_options[$val] = htmlspecialchars_uni($val);
|
$selected_options[$val] = htmlspecialchars_uni($val);
|
}
| }
|
$select_options = explode("\n", $options);
|
$select_options = explode("\n", $options);
|
$options = array(); if($search == true) { $select_options[''] = $lang->na; }
foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 3;
| $options = array(); if($search == true) { $select_options[''] = $lang->na; }
foreach($select_options as $val) { $val = htmlspecialchars_uni(trim($val)); $options[$val] = $val; } if(!$profile_field['length']) { $profile_field['length'] = 3;
|
} $code = $form->generate_select_box("profile_fields[{$field_name}][]", $options, $selected_options, array('id' => "profile_field_{$field_name}", 'multiple' => true, 'size' => $profile_field['length'])); break;
| } $code = $form->generate_select_box("profile_fields[{$field_name}][]", $options, $selected_options, array('id' => "profile_field_{$field_name}", 'multiple' => true, 'size' => $profile_field['length'])); break;
|
Zeile 4031 | Zeile 4011 |
---|
if($search == true) { $code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
if($search == true) { $code = $form->generate_select_box("profile_fields[{$field_name}][{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
}
| }
|
else { $code = $form->generate_select_box("profile_fields[{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
else { $code = $form->generate_select_box("profile_fields[{$field_name}]", $options, htmlspecialchars_uni($values[$field_name]), array('id' => "profile_field_{$field_name}", 'size' => $profile_field['length']));
|
}
| }
|
break; case "radio": $radio_options = array();
| break; case "radio": $radio_options = array();
|
Zeile 4044 | Zeile 4024 |
---|
$radio_options[''] = $lang->na; } $radio_options += explode("\n", $options);
|
$radio_options[''] = $lang->na; } $radio_options += explode("\n", $options);
|
$code = '';
| $code = '';
|
foreach($radio_options as $val) { $val = trim($val);
| foreach($radio_options as $val) { $val = trim($val);
|
Zeile 4052 | Zeile 4032 |
---|
} break; case "checkbox":
|
} break; case "checkbox":
|
| $select_options = array();
|
if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
| if(!is_array($values[$field_name])) { $user_options = explode("\n", $values[$field_name]);
|
Zeile 4059 | Zeile 4040 |
---|
else { $user_options = $values[$field_name];
|
else { $user_options = $values[$field_name];
|
}
| } $selected_options = array();
|
foreach($user_options as $val) { $selected_options[$val] = $val;
|
foreach($user_options as $val) { $selected_options[$val] = $val;
|
} $select_options = array();
| }
|
if($search == true) { $select_options[''] = $lang->na;
| if($search == true) { $select_options[''] = $lang->na;
|
Zeile 4078 | Zeile 4061 |
---|
} break; case "textarea":
|
} break; case "textarea":
|
$extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search") {
| $extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search") {
|
$extra = " {$lang->or} ".$form->generate_check_box("profile_fields[{$field_name}_blank]", 1, $lang->is_not_blank, array('id' => "{$field_name}_blank", 'checked' => $values[$field_name.'_blank'])); }
$code = $form->generate_text_area("profile_fields[{$field_name}]", $values[$field_name], array('id' => "profile_field_{$field_name}", 'rows' => 6, 'cols' => 50)).$extra;
|
$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;
| break;
|
default: $extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search")
| default: $extra = ''; if(isset($mybb->input['action']) && $mybb->input['action'] == "search")
|
Zeile 4116 | Zeile 4099 |
---|
}
if(!is_array($input['conditions']))
|
}
if(!is_array($input['conditions']))
|
{
| {
|
$input['conditions'] = my_unserialize($input['conditions']); }
| $input['conditions'] = my_unserialize($input['conditions']); }
|
Zeile 4145 | Zeile 4128 |
---|
$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 4227 | Zeile 4209 |
---|
}); // --> </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); } }
|
}
| }
|