Zeile 40 | Zeile 40 |
---|
// Fetch banned groups $query = $db->simple_select("usergroups", "gid,title", "isbannedgroup=1", array('order_by' => 'title'));
|
// Fetch banned groups $query = $db->simple_select("usergroups", "gid,title", "isbannedgroup=1", array('order_by' => 'title'));
|
| $banned_groups = array();
|
while($group = $db->fetch_array($query)) { $banned_groups[$group['gid']] = $group['title'];
| while($group = $db->fetch_array($query)) { $banned_groups[$group['gid']] = $group['title'];
|
Zeile 53 | Zeile 54 |
---|
if($mybb->input['action'] == "prune") { // User clicked no
|
if($mybb->input['action'] == "prune") { // User clicked no
|
if($mybb->input['no'])
| if($mybb->get_input('no'))
|
{ admin_redirect("index.php?module=user-banning"); }
| { admin_redirect("index.php?module=user-banning"); }
|
Zeile 99 | Zeile 100 |
---|
$cache->update_reportedcontent();
// Log admin action
|
$cache->update_reportedcontent();
// Log admin action
|
log_admin_action($mybb->input['uid'], $user['username']);
| log_admin_action($user['uid'], $user['username']);
|
flash_message($lang->success_pruned, 'success'); admin_redirect("index.php?module=user-banning");
| flash_message($lang->success_pruned, 'success'); admin_redirect("index.php?module=user-banning");
|
Zeile 113 | Zeile 114 |
---|
if($mybb->input['action'] == "lift") { // User clicked no
|
if($mybb->input['action'] == "lift") { // User clicked no
|
if($mybb->input['no'])
| if($mybb->get_input('no'))
|
{ admin_redirect("index.php?module=user-banning"); }
| { admin_redirect("index.php?module=user-banning"); }
|
Zeile 141 | Zeile 142 |
---|
{ $updated_group = array( 'usergroup' => $ban['oldgroup'],
|
{ $updated_group = array( 'usergroup' => $ban['oldgroup'],
|
'additionalgroups' => $ban['oldadditionalgroups'],
| 'additionalgroups' => $db->escape_string($ban['oldadditionalgroups']),
|
'displaygroup' => $ban['olddisplaygroup'] ); $db->delete_query("banned", "uid='{$ban['uid']}'");
| 'displaygroup' => $ban['olddisplaygroup'] ); $db->delete_query("banned", "uid='{$ban['uid']}'");
|
Zeile 150 | Zeile 151 |
---|
$db->update_query("users", $updated_group, "uid='{$ban['uid']}'");
|
$db->update_query("users", $updated_group, "uid='{$ban['uid']}'");
|
$cache->update_banned();
| |
$cache->update_moderators();
// Log admin action
|
$cache->update_moderators();
// Log admin action
|
log_admin_action($mybb->input['uid'], $user['username']);
| log_admin_action($ban['uid'], $user['username']);
|
flash_message($lang->success_ban_lifted, 'success'); admin_redirect("index.php?module=user-banning");
| flash_message($lang->success_ban_lifted, 'success'); admin_redirect("index.php?module=user-banning");
|
Zeile 170 | Zeile 170 |
---|
$query = $db->simple_select("banned", "*", "uid='{$mybb->input['uid']}'"); $ban = $db->fetch_array($query);
|
$query = $db->simple_select("banned", "*", "uid='{$mybb->input['uid']}'"); $ban = $db->fetch_array($query);
|
$user = get_user($ban['uid']);
if(!$ban['uid'])
| if(empty($ban['uid']))
|
{ flash_message($lang->error_invalid_ban, 'error'); admin_redirect("index.php?module=user-banning"); }
|
{ flash_message($lang->error_invalid_ban, 'error'); admin_redirect("index.php?module=user-banning"); }
|
| $user = get_user($ban['uid']);
|
$plugins->run_hooks("admin_user_banning_edit");
| $plugins->run_hooks("admin_user_banning_edit");
|
Zeile 219 | Zeile 219 |
---|
}
$update_array = array(
|
}
$update_array = array(
|
'gid' => (int)$mybb->input['usergroup'],
| 'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
|
'dateline' => TIME_NOW, 'bantime' => $db->escape_string($mybb->input['bantime']), 'lifted' => $db->escape_string($lifted),
| 'dateline' => TIME_NOW, 'bantime' => $db->escape_string($mybb->input['bantime']), 'lifted' => $db->escape_string($lifted),
|
Zeile 230 | Zeile 230 |
---|
// Move the user to the banned group $update_array = array(
|
// Move the user to the banned group $update_array = array(
|
'usergroup' => (int)$mybb->input['usergroup'],
| 'usergroup' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
|
'displaygroup' => 0, 'additionalgroups' => '', ); $db->update_query('users', $update_array, "uid = {$ban['uid']}");
$plugins->run_hooks("admin_user_banning_edit_commit");
|
'displaygroup' => 0, 'additionalgroups' => '', ); $db->update_query('users', $update_array, "uid = {$ban['uid']}");
$plugins->run_hooks("admin_user_banning_edit_commit");
|
$cache->update_banned();
| |
// Log admin action
|
// Log admin action
|
log_admin_action($mybb->input['uid'], $user['username']);
| log_admin_action($ban['uid'], $user['username']);
|
flash_message($lang->success_ban_updated, 'success'); admin_redirect("index.php?module=user-banning"); }
|
flash_message($lang->success_ban_updated, 'success'); admin_redirect("index.php?module=user-banning"); }
|
}
| }
|
$page->add_breadcrumb_item($lang->edit_ban); $page->output_header($lang->edit_ban);
|
$page->add_breadcrumb_item($lang->edit_ban); $page->output_header($lang->edit_ban);
|
|
|
$sub_tabs = array(); $sub_tabs['edit'] = array( 'title' => $lang->edit_ban,
| $sub_tabs = array(); $sub_tabs['edit'] = array( 'title' => $lang->edit_ban,
|
Zeile 264 | Zeile 262 |
---|
} else {
|
} else {
|
$mybb->input = array_merge($mybb->input, $ban);
| $mybb->input = array_merge($mybb->input, $ban); }
if(!empty($ban['gid'])) { $mybb->input['usergroup'] = $ban['gid']; } else if(!empty($user['usergroup'])) { $mybb->input['usergroup'] = $user['usergroup']; } else { $mybb->input['usergroup'] = 0;
|
}
$form_container = new FormContainer($lang->edit_ban);
|
}
$form_container = new FormContainer($lang->edit_ban);
|
$form_container->output_row($lang->ban_username, "", $user['username']);
| $form_container->output_row($lang->ban_username, "", htmlspecialchars_uni($user['username']));
|
$form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); if(count($banned_groups) > 1) {
| $form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); if(count($banned_groups) > 1) {
|
Zeile 285 | Zeile 296 |
---|
{ 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 314 | Zeile 325 |
---|
);
$user = get_user_by_username($mybb->input['username'], $options);
|
);
$user = get_user_by_username($mybb->input['username'], $options);
|
|
|
// Are we searching a user?
|
// Are we searching a user?
|
if(isset($mybb->input['search']) && $mybb->get_input('search') != '') {
| if(is_array($user) && isset($mybb->input['search'])) {
|
$where_sql = 'uid=\''.(int)$user['uid'].'\''; $where_sql_full = 'WHERE b.uid=\''.(int)$user['uid'].'\''; } else {
|
$where_sql = 'uid=\''.(int)$user['uid'].'\''; $where_sql_full = 'WHERE b.uid=\''.(int)$user['uid'].'\''; } else {
|
if(!$user['uid'])
| if(empty($user['uid']))
|
{ $errors[] = $lang->error_invalid_username; } // Is the user we're trying to ban a super admin and we're not? else if(is_super_admin($user['uid']) && !is_super_admin($mybb->user['uid']))
|
{ $errors[] = $lang->error_invalid_username; } // Is the user we're trying to ban a super admin and we're not? else if(is_super_admin($user['uid']) && !is_super_admin($mybb->user['uid']))
|
{
| {
|
$errors[] = $lang->error_no_perm_to_ban; } else { $query = $db->simple_select("banned", "uid", "uid='{$user['uid']}'"); if($db->fetch_field($query, "uid"))
|
$errors[] = $lang->error_no_perm_to_ban; } else { $query = $db->simple_select("banned", "uid", "uid='{$user['uid']}'"); if($db->fetch_field($query, "uid"))
|
{ $errors[] = $lang->error_already_banned; }
| { $errors[] = $lang->error_already_banned; }
|
// Get PRIMARY usergroup information $usergroups = $cache->read("usergroups"); if(!empty($usergroups[$user['usergroup']]) && $usergroups[$user['usergroup']]['isbannedgroup'] == 1) { $errors[] = $lang->error_already_banned;
|
// Get PRIMARY usergroup information $usergroups = $cache->read("usergroups"); if(!empty($usergroups[$user['usergroup']]) && $usergroups[$user['usergroup']]['isbannedgroup'] == 1) { $errors[] = $lang->error_already_banned;
|
} }
| }
|
|
|
if($user['uid'] == $mybb->user['uid']) { $errors[] = $lang->error_ban_self;
| if($user['uid'] == $mybb->user['uid']) { $errors[] = $lang->error_ban_self; }
|
}
// No errors? Insert
| }
// No errors? Insert
|
Zeile 376 | Zeile 387 |
---|
$insert_array = array( 'uid' => $user['uid'],
|
$insert_array = array( 'uid' => $user['uid'],
|
'gid' => (int)$mybb->input['usergroup'],
| 'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
|
'oldgroup' => $user['usergroup'],
|
'oldgroup' => $user['usergroup'],
|
'oldadditionalgroups' => $user['additionalgroups'],
| 'oldadditionalgroups' => $db->escape_string($user['additionalgroups']),
|
'olddisplaygroup' => $user['displaygroup'], 'admin' => (int)$mybb->user['uid'], 'dateline' => TIME_NOW,
| 'olddisplaygroup' => $user['displaygroup'], 'admin' => (int)$mybb->user['uid'], 'dateline' => TIME_NOW,
|
Zeile 390 | Zeile 401 |
---|
// Move the user to the banned group $update_array = array(
|
// Move the user to the banned group $update_array = array(
|
'usergroup' => (int)$mybb->input['usergroup'],
| 'usergroup' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
|
'displaygroup' => 0, 'additionalgroups' => '', );
| 'displaygroup' => 0, 'additionalgroups' => '', );
|
Zeile 401 | Zeile 412 |
---|
$plugins->run_hooks("admin_user_banning_start_commit");
$db->update_query('users', $update_array, "uid = '{$user['uid']}'");
|
$plugins->run_hooks("admin_user_banning_start_commit");
$db->update_query('users', $update_array, "uid = '{$user['uid']}'");
|
$cache->update_banned();
| |
// Log admin action log_admin_action($user['uid'], $user['username'], $lifted);
| // Log admin action log_admin_action($user['uid'], $user['username'], $lifted);
|
Zeile 410 | Zeile 419 |
---|
flash_message($lang->success_banned, 'success'); admin_redirect("index.php?module=user-banning"); }
|
flash_message($lang->success_banned, 'success'); admin_redirect("index.php?module=user-banning"); }
|
} }
| } }
|
$page->output_header($lang->banned_accounts);
$page->output_nav_tabs($sub_tabs, "bans");
|
$page->output_header($lang->banned_accounts);
$page->output_nav_tabs($sub_tabs, "bans");
|
|
|
$query = $db->simple_select("banned", "COUNT(*) AS ban_count", $where_sql); $ban_count = $db->fetch_field($query, "ban_count");
$per_page = 20;
|
$query = $db->simple_select("banned", "COUNT(*) AS ban_count", $where_sql); $ban_count = $db->fetch_field($query, "ban_count");
$per_page = 20;
|
| $mybb->input['page'] = $mybb->get_input('page', MyBB::INPUT_INT);
|
if($mybb->input['page'] > 0) {
|
if($mybb->input['page'] > 0) {
|
$current_page = $mybb->get_input('page', 1);
| $current_page = $mybb->input['page'];
|
$start = ($current_page-1)*$per_page; $pages = $ban_count / $per_page; $pages = ceil($pages);
| $start = ($current_page-1)*$per_page; $pages = $ban_count / $per_page; $pages = ceil($pages);
|
Zeile 433 | Zeile 443 |
---|
$start = 0; $current_page = 1; }
|
$start = 0; $current_page = 1; }
|
}
| }
|
else { $start = 0; $current_page = 1;
|
else { $start = 0; $current_page = 1;
|
}
| }
|
$pagination = draw_admin_pagination($current_page, $per_page, $ban_count, "index.php?module=user-banning&page={page}");
|
$pagination = draw_admin_pagination($current_page, $per_page, $ban_count, "index.php?module=user-banning&page={page}");
|
| $form = new Form("index.php?module=user-banning", "post"); if($errors) { $page->output_inline_error($errors); }
$mybb->input['username'] = $mybb->get_input('username'); $mybb->input['reason'] = $mybb->get_input('reason'); $mybb->input['bantime'] = $mybb->get_input('bantime');
if(isset($mybb->input['uid']) && empty($mybb->input['username'])) { $user = get_user($mybb->input['uid']); $mybb->input['username'] = $user['username']; }
if(empty($mybb->input['usergroup'])) { if(!empty($mybb->settings['purgespammerbangroup'])) { $mybb->input['usergroup'] = $mybb->settings['purgespammerbangroup']; } else if(count($banned_groups)) { $group = array_keys($banned_groups); $mybb->input['usergroup'] = $group[0]; } else { $mybb->input['usergroup'] = 0; } }
$form_container = new FormContainer($lang->ban_a_user); $form_container->output_row($lang->ban_username, $lang->autocomplete_enabled, $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username'); $form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); if(count($banned_groups) > 1) { $form_container->output_row($lang->ban_group, $lang->ban_group_desc, $form->generate_select_box('usergroup', $banned_groups, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup'); } foreach($ban_times as $time => $period) { if($time != "---") { $friendly_time = my_date("D, jS M Y @ {$mybb->settings['timeformat']}", ban_date2timestamp($time)); $period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period; } $form_container->output_row($lang->ban_time, "", $form->generate_select_box('bantime', $length_list, $mybb->input['bantime'], array('id' => 'bantime')), 'bantime');
$form_container->end();
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css"> <script type="text/javascript" src="../jscripts/select2/select2.min.js?ver=1804"></script> <script type="text/javascript"> <!-- $("#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 }, dataType: "json" }).done(function(data) { callback(data); }); } }, });
$(\'[for=username]\').on(\'click\', function(){ $("#username").select2(\'open\'); return false; }); // --> </script>';
$buttons[] = $form->generate_submit_button($lang->ban_user); $buttons[] = $form->generate_submit_button($lang->search_for_a_user, array('name' => 'search')); $form->output_submit_wrapper($buttons); $form->end();
echo '<br />';
|
$table = new Table; $table->construct_header($lang->user);
| $table = new Table; $table->construct_header($lang->user);
|
Zeile 463 | Zeile 576 |
---|
// Get the banned users while($ban = $db->fetch_array($query)) {
|
// Get the banned users while($ban = $db->fetch_array($query)) {
|
$profile_link = build_profile_link($ban['username'], $ban['uid'], "_blank");
| $profile_link = build_profile_link(htmlspecialchars_uni($ban['username']), $ban['uid'], "_blank");
|
$ban_date = my_date($mybb->settings['dateformat'], $ban['dateline']); if($ban['lifted'] == 'perm' || $ban['lifted'] == '' || $ban['bantime'] == 'perm' || $ban['bantime'] == '---') {
| $ban_date = my_date($mybb->settings['dateformat'], $ban['dateline']); if($ban['lifted'] == 'perm' || $ban['lifted'] == '' || $ban['bantime'] == 'perm' || $ban['bantime'] == '---') {
|
Zeile 489 | Zeile 602 |
---|
{ $time_remaining = "<span style=\"color: green;\">{$time_remaining}</span>"; }
|
{ $time_remaining = "<span style=\"color: green;\">{$time_remaining}</span>"; }
|
else { $time_remaining = "{$time_remaining}"; }
|
|
$lifts_on = my_date($mybb->settings['dateformat'], $ban['lifted']);
|
$lifts_on = my_date($mybb->settings['dateformat'], $ban['lifted']);
|
}
| }
|
if(!$ban['adminuser']) { if($ban['admin'] == 0) {
|
if(!$ban['adminuser']) { if($ban['admin'] == 0) {
|
$ban['adminuser'] = "MyBB System";
| $ban['adminuser'] = $lang->mybb_engine;
|
} else { $ban['adminuser'] = $ban['admin']; } }
|
} else { $ban['adminuser'] = $ban['admin']; } }
|
|
|
$table->construct_cell($lang->sprintf($lang->bannedby_x_on_x, $profile_link, htmlspecialchars_uni($ban['adminuser']), $ban_date, $ban_period)); $table->construct_cell($lifts_on, array("class" => "align_center")); $table->construct_cell($time_remaining, array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=edit&uid={$ban['uid']}\">{$lang->edit}</a>", array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=lift&uid={$ban['uid']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_lift_ban}');\">{$lang->lift}</a>", array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=prune&uid={$ban['uid']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_prune}');\">{$lang->prune_threads_and_posts}</a>", array("class" => "align_center"));
|
$table->construct_cell($lang->sprintf($lang->bannedby_x_on_x, $profile_link, htmlspecialchars_uni($ban['adminuser']), $ban_date, $ban_period)); $table->construct_cell($lifts_on, array("class" => "align_center")); $table->construct_cell($time_remaining, array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=edit&uid={$ban['uid']}\">{$lang->edit}</a>", array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=lift&uid={$ban['uid']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_lift_ban}');\">{$lang->lift}</a>", array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=user-banning&action=prune&uid={$ban['uid']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_prune}');\">{$lang->prune_threads_and_posts}</a>", array("class" => "align_center"));
|
$table->construct_row(); }
| $table->construct_row(); }
|
if($table->num_rows() == 0) {
| if($table->num_rows() == 0) {
|
Zeile 524 | Zeile 634 |
---|
} $table->output($lang->banned_accounts); echo $pagination;
|
} $table->output($lang->banned_accounts); echo $pagination;
|
$form = new Form("index.php?module=user-banning", "post"); if($errors) { $page->output_inline_error($errors); }
if($mybb->input['uid'] && !$mybb->input['username']) { $user = get_user($mybb->input['uid']); $mybb->input['username'] = $user['username']; }
$form_container = new FormContainer($lang->ban_a_user); $form_container->output_row($lang->ban_username, $lang->autocomplete_enabled, $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username'); $form_container->output_row($lang->ban_reason, "", $form->generate_text_area('reason', $mybb->input['reason'], array('id' => 'reason', 'maxlength' => '255')), 'reason'); if(count($banned_groups) > 1) { $form_container->output_row($lang->ban_group, $lang->add_ban_group_desc, $form->generate_select_box('usergroup', $banned_groups, $mybb->input['usergroup'], array('id' => 'usergroup')), 'usergroup'); } foreach($ban_times as $time => $period) { if($time != "---") { $friendly_time = my_date("D, jS M Y @ g:ia", ban_date2timestamp($time)); $period = "{$period} ({$friendly_time})"; } $length_list[$time] = $period; } $form_container->output_row($lang->ban_time, "", $form->generate_select_box('bantime', $length_list, $mybb->input['bantime'], array('id' => 'bantime')), 'bantime');
$form_container->end();
// Autocompletion for usernames echo ' <link rel="stylesheet" href="../jscripts/select2/select2.css"> <script type="text/javascript" src="../jscripts/select2/select2.min.js"></script> <script type="text/javascript"> <!-- $("#username").select2({ placeholder: "Search for a user", minimumInputLength: 3, maximumSelectionSize: 3, multiple: false, ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper url: "../xmlhttp.php?action=get_users", dataType: \'json\', data: function (term, page) { return { query: term, // search term }; }, results: function (data, page) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to alter remote JSON data return {results: data}; } }, initSelection: function(element, callback) { var query = $(element).val(); if (query !== "") { $.ajax("../xmlhttp.php?action=get_users&getone=1", { data: { query: query }, dataType: "json" }).done(function(data) { callback(data); }); } }, }); // --> </script>';
$buttons[] = $form->generate_submit_button($lang->ban_user); $buttons[] = $form->generate_submit_button($lang->search_user, array('name' => 'search')); $form->output_submit_wrapper($buttons); $form->end();
| |
$page->output_footer(); }
| $page->output_footer(); }
|