diff --git a/phpBB/adm/admin_users.php b/phpBB/adm/admin_users.php index dad6a47bee..9af3eccc6f 100644 --- a/phpBB/adm/admin_users.php +++ b/phpBB/adm/admin_users.php @@ -43,12 +43,15 @@ $ip = request_var('ip', ''); $start = request_var('start', 0); $delete = request_var('delete', ''); $deletetype = request_var('deletetype', ''); +$marked = request_var('mark', 0); $quicktools = request_var('quicktools', ''); $submit = (isset($_POST['update'])) ? true : false; $confirm = (isset($_POST['confirm'])) ? true : false; $cancel = (isset($_POST['cancel'])) ? true : false; $preview = (isset($_POST['preview'])) ? true : false; +$deletemark = (isset($_POST['delmarked'])) ? true : false; +$deleteall = (isset($_POST['delall'])) ? true : false; $error = array(); @@ -121,7 +124,7 @@ adm_page_header($user->lang['MANAGE']); // // User has submitted a form, process it // -if ($submit || $preview) +if ($submit || $preview || $deleteall || $deletemark) { switch ($action) { @@ -142,6 +145,7 @@ if ($submit || $preview) { user_delete($deletetype, $user_id); + add_log('admin', 'LOG_USER_DELETED', $username); trigger_error($user->lang['USER_DELETED']); } } @@ -161,11 +165,13 @@ if ($submit || $preview) case 'banuser': $ban[] = $username; $reason = 'USER_ADMIN_BAN_NAME_REASON'; + $log = 'LOG_BAN_USERNAME_USER'; break; case 'banemail': $ban[] = $user_email; $reason = 'USER_ADMIN_BAN_EMAIL_REASON'; + $log = 'LOG_BAN_EMAIL_USER'; break; case 'banip': @@ -183,11 +189,14 @@ if ($submit || $preview) $db->sql_freeresult($result); $reason = 'USER_ADMIN_BAN_IP_REASON'; + $log = 'LOG_BAN_IP_USER'; break; } user_ban(substr($quicktools, 3), $ban, 0, 0, 0, $user->lang[$reason]); + add_log('user', $user_id, $log); + trigger_error($user->lang['BAN_UPDATE_SUCESSFUL']); break; @@ -230,6 +239,11 @@ if ($submit || $preview) $messenger->send(NOTIFY_EMAIL); $messenger->queue->save(); + + add_log('admin', 'LOG_USER_REACTIVATE', $username); + add_log('user', $user_id, 'LOG_USER_REACTIVATE_USER'); + + trigger_error($user->lang['USER_ADMIN_REACTIVATE']); } break; @@ -239,6 +253,11 @@ if ($submit || $preview) user_active_flip($user_id, $user_type, false, $username); $message = ($user_type == USER_NORMAL) ? 'USER_ADMIN_INACTIVE' : 'USER_ADMIN_ACTIVE'; + $log = ($user_type == USER_NORMAL) ? 'LOG_USER_INACTIVE' : 'LOG_USER_ACTIVE'; + + add_log('admin', $log, $username); + add_log('user', $user_id, $log . '_USER'); + trigger_error($user->lang[$message]); break; @@ -374,7 +393,18 @@ if ($submit || $preview) break; } - trigger_error($message); + $sql = 'SELECT forum_name + FROM ' . TOPICS_TABLE . " + WHERE topic_id = $new_forum_id"; + $result = $db->sql_query($sql); + + extract($db->sql_fetchrow($result)); + $db->sql_freeresult($result); + + add_log('admin', 'LOG_USER_MOVE_POSTS', $forum_name, $username); + add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_name); + + trigger_error($user->lang['USER_ADMIN_MOVE']); } // Handle registration info updates @@ -477,10 +507,35 @@ if ($submit || $preview) case 'feedback': + if (($deletemark || $deleteall) && $auth->acl_get('a_clearlogs')) + { + $where_sql = ''; + if ($deletemark && $marked) + { + $sql_in = array(); + foreach ($marked as $mark) + { + $sql_in[] = $mark; + } + $where_sql = ' AND log_id IN (' . implode(', ', $sql_in) . ')'; + unset($sql_in); + } + + $sql = 'DELETE FROM ' . LOG_TABLE . ' + WHERE log_type = ' . LOG_USERS . " + $where_sql"; + $db->sql_query($sql); + + add_log('admin', 'LOG_USERS_CLEAR'); + trigger_error(""); + } + if ($message = request_var('message', '')) { + add_log('admin', 'LOG_USER_FEEDBACK', $username); add_log('user', $user_id, 'LOG_USER_GENERAL', $message); - trigger_error("ADDED"); + + trigger_error($user->lang['USER_FEEDBACK_ADDED']); } break; @@ -738,7 +793,7 @@ if ($submit || $preview) 'user_avatar_height' => $height, ); - echo $sql = 'UPDATE ' . USERS_TABLE . ' + $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = $user_id"; $db->sql_query($sql); @@ -1000,12 +1055,16 @@ e_help = "lang['BBCODE_E_HELP']; ?>"; $sql_where = ($st) ? (time() - ($st * 86400)) : 0; $sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC'); +?> + + lang['DISPLAY_LOG']; ?>:   lang['SORT_BY']; ?>:   + +lang['BBCODE_E_HELP']; ?>"; ?> - lang['DISPLAY_LOG']; ?>:   lang['SORT_BY']; ?>:   + acl_get('a_clearlogs')) + { + +?>    - - +
lang['MARK_ALL']; ?> :: lang['UNMARK_ALL']; ?> 

+ +

lang['ADD_FEEDBACK']; ?>

lang['ADD_FEEDBACK_EXPLAIN']; ?>