diff --git a/Sources/ModerationCenter.php b/Sources/ModerationCenter.php index a597b13189..966f3d2256 100644 --- a/Sources/ModerationCenter.php +++ b/Sources/ModerationCenter.php @@ -669,231 +669,6 @@ function ModBlockReportedMembers() return 'reported_users_block'; } -/** - * Browse all the reported users... - */ -function ReportedMembers() -{ - global $txt, $context, $scripturl, $smcFunc; - - loadTemplate('ModerationCenter'); - - // Set an empty var for the server response. - $context['report_member_action'] = ''; - - // Put the open and closed options into tabs, because we can... - $context[$context['moderation_menu_name']]['tab_data'] = array( - 'title' => $txt['mc_reported_members'], - 'help' => '', - 'description' => $txt['mc_reported_members_desc'], - ); - - isAllowedTo('moderate_forum'); - - // Set up the comforting bits... - $context['page_title'] = $txt['mc_reported_members']; - $context['sub_template'] = 'reported_members'; - - // Are we viewing open or closed reports? - $context['view_closed'] = isset($_GET['sa']) && $_GET['sa'] == 'closed' ? 1 : 0; - - // Are we doing any work? - if ((isset($_GET['ignore']) || isset($_GET['close'])) && isset($_GET['rid'])) - { - checkSession('get'); - $_GET['rid'] = (int) $_GET['rid']; - - // Update the report... - $smcFunc['db_query']('', ' - UPDATE {db_prefix}log_reported - SET ' . (isset($_GET['ignore']) ? 'ignore_all = {int:ignore_all}' : 'closed = {int:closed}') . ' - WHERE id_report = {int:id_report}', - array( - 'ignore_all' => isset($_GET['ignore']) ? (int) $_GET['ignore'] : 0, - 'closed' => isset($_GET['close']) ? (int) $_GET['close'] : 0, - 'id_report' => $_GET['rid'], - ) - ); - - // Get the board, topic and message for this report - $request = $smcFunc['db_query']('', ' - SELECT id_member, membername - FROM {db_prefix}log_reported - WHERE id_report = {int:id_report}', - array( - 'id_report' => $_GET['rid'], - ) - ); - - // Set up the data for the log... - $extra = array('report' => $_GET['rid']); - list($extra['member'], $extra['membername']) = $smcFunc['db_fetch_row']($request); - $smcFunc['db_free_result']($request); - - // Stick this in string format for consistency - $extra['member'] = (string) $extra['member']; - - // Tell the user about it. - $context['report_member_action'] = isset($_GET['ignore']) ? (!empty($_GET['ignore']) ? 'ignore' : 'unignore') : (!empty($_GET['close']) ? 'close' : 'open'); - - // Log this action - logAction($context['report_member_action'] . '_user_report', $extra); - - // Time to update. - updateSettings(array('last_mod_report_action' => time())); - recountOpenReports('members'); - } - elseif (isset($_POST['close']) && isset($_POST['close_selected'])) - { - checkSession(); - - // All the ones to update... - $toClose = array(); - foreach ($_POST['close'] as $rid) - $toClose[] = (int) $rid; - - if (!empty($toClose)) - { - // Get the data for each of these reports - $request = $smcFunc['db_query']('', ' - SELECT id_report, id_member, membername - FROM {db_prefix}log_reported - WHERE id_report IN ({array_int:report_list})', - array( - 'report_list' => $toClose, - ) - ); - - $logs = array(); - while ($reports = $smcFunc['db_fetch_assoc']($request)) - { - $logs[] = array( - 'action' => 'close_user_report', - 'log_type' => 'moderate', - 'extra' => array( - 'report' => $reports['id_report'], - 'membername' => $reports['membername'], - 'member' => (string) $reports['id_member'], - ), - ); - } - - $smcFunc['db_free_result']($request); - - // Log the closing of all the reports - logActions($logs); - - $smcFunc['db_query']('', ' - UPDATE {db_prefix}log_reported - SET closed = {int:is_closed} - WHERE id_report IN ({array_int:report_list})', - array( - 'report_list' => $toClose, - 'is_closed' => 1, - ) - ); - - // Time to update. - updateSettings(array('last_mod_report_action' => time())); - recountOpenReports('members'); - } - - // Go on and tell the result. - $context['report_member_action'] = 'close_all'; - } - - // How many entries are we viewing? - $request = $smcFunc['db_query']('', ' - SELECT COUNT(*) - FROM {db_prefix}log_reported AS lr - WHERE lr.closed = {int:view_closed} - AND lr.id_board = {int:not_a_reported_post}', - array( - 'view_closed' => $context['view_closed'], - 'not_a_reported_post' => 0, - ) - ); - list ($context['total_reports']) = $smcFunc['db_fetch_row']($request); - $smcFunc['db_free_result']($request); - - // So, that means we can page index, yes? - $context['page_index'] = constructPageIndex($scripturl . '?action=moderate;area=reportedmembers' . ($context['view_closed'] ? ';sa=closed' : ''), $_GET['start'], $context['total_reports'], 10); - $context['start'] = $_GET['start']; - - // By George, that means we in a position to get the reports, golly good. - $request = $smcFunc['db_query']('', ' - SELECT lr.id_report, lr.id_member, lr.time_started, lr.time_updated, lr.num_reports, lr.closed, lr.ignore_all, - COALESCE(mem.real_name, lr.membername) AS user_name, COALESCE(mem.id_member, 0) AS id_user - FROM {db_prefix}log_reported AS lr - LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = lr.id_member) - WHERE lr.closed = {int:view_closed} - AND lr.id_board = {int:not_a_reported_post} - ORDER BY lr.time_updated DESC - LIMIT {int:limit}, {int:max}', - array( - 'view_closed' => $context['view_closed'], - 'not_a_reported_post' => 0, - 'limit' => $context['start'], - 'max' => 10, - ) - ); - $context['reports'] = array(); - $report_ids = array(); - for ($i = 0; $row = $smcFunc['db_fetch_assoc']($request); $i++) - { - $report_ids[] = $row['id_report']; - $context['reports'][$row['id_report']] = array( - 'id' => $row['id_report'], - 'report_href' => $scripturl . '?action=moderate;area=reportedmembers;report=' . $row['id_report'], - 'user' => array( - 'id' => $row['id_user'], - 'name' => $row['user_name'], - 'link' => $row['id_user'] ? '' . $row['user_name'] . '' : $row['user_name'], - 'href' => $scripturl . '?action=profile;u=' . $row['id_user'], - ), - 'comments' => array(), - 'time_started' => timeformat($row['time_started']), - 'last_updated' => timeformat($row['time_updated']), - 'num_reports' => $row['num_reports'], - 'closed' => $row['closed'], - 'ignore' => $row['ignore_all'] - ); - } - $smcFunc['db_free_result']($request); - - // Now get all the people who reported it. - if (!empty($report_ids)) - { - $request = $smcFunc['db_query']('', ' - SELECT lrc.id_comment, lrc.id_report, lrc.time_sent, lrc.comment, - COALESCE(mem.id_member, 0) AS id_member, COALESCE(mem.real_name, lrc.membername) AS reporter - FROM {db_prefix}log_reported_comments AS lrc - LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = lrc.id_member) - WHERE lrc.id_report IN ({array_int:report_list})', - array( - 'report_list' => $report_ids, - ) - ); - while ($row = $smcFunc['db_fetch_assoc']($request)) - { - $context['reports'][$row['id_report']]['comments'][] = array( - 'id' => $row['id_comment'], - 'message' => $row['comment'], - 'time' => timeformat($row['time_sent']), - 'member' => array( - 'id' => $row['id_member'], - 'name' => empty($row['reporter']) ? $txt['guest'] : $row['reporter'], - 'link' => $row['id_member'] ? '' . $row['reporter'] . '' : (empty($row['reporter']) ? $txt['guest'] : $row['reporter']), - 'href' => $row['id_member'] ? $scripturl . '?action=profile;u=' . $row['id_member'] : '', - ), - ); - } - $smcFunc['db_free_result']($request); - } - - $context['report_manage_bans'] = allowedTo('manage_bans'); -} - /** * Act as an entrace for all group related activity. *