aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_logs.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acp/acp_logs.php')
-rw-r--r--phpBB/includes/acp/acp_logs.php88
1 files changed, 5 insertions, 83 deletions
diff --git a/phpBB/includes/acp/acp_logs.php b/phpBB/includes/acp/acp_logs.php
index 861df90777..35f2a3bf6b 100644
--- a/phpBB/includes/acp/acp_logs.php
+++ b/phpBB/includes/acp/acp_logs.php
@@ -105,87 +105,8 @@ class acp_logs
$sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;
$sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
- $log_operation = request_var('log_operation', '');
- $log_operation_param = !empty($log_operation) ? '&log_operation=' . urlencode(htmlspecialchars_decode($log_operation)) : '';
- $s_lang_keys = '<option value="">' . $user->lang['SHOW_ALL_OPERATIONS'] . '</option>';
-
- switch ($mode)
- {
- case 'admin':
- $log_type = LOG_ADMIN;
- $sql_forum = '';
- break;
-
- case 'mod':
- $log_type = LOG_MOD;
-
- if ($topic_id)
- {
- $sql_forum = 'AND topic_id = ' . intval($topic_id);
- }
- else if (is_array($forum_id))
- {
- $sql_forum = 'AND ' . $db->sql_in_set('forum_id', array_map('intval', $forum_id));
- }
- else
- {
- $sql_forum = ($forum_id) ? 'AND forum_id = ' . intval($forum_id) : '';
- }
- break;
-
- case 'user':
- $log_type = LOG_USERS;
- $sql_forum = 'AND reportee_id = ' . (int) $user_id;
- break;
-
- case 'users':
- $log_type = LOG_USERS;
- $sql_forum = '';
- break;
-
- case 'critical':
- $log_type = LOG_CRITICAL;
- $sql_forum = '';
- break;
-
- default:
- return;
- }
-
- $sql = "SELECT DISTINCT log_operation
- FROM " . LOG_TABLE . "
- WHERE log_type = $log_type
- " . (($limit_days) ? "AND log_time >= $sql_where " : ' ') .
- $sql_forum;
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- if (empty($row['log_operation']))
- {
- continue;
- }
-
- $selected = ($log_operation == $row['log_operation']) ? ' selected="selected"' : '';
-
- if (isset($user->lang[$row['log_operation']]))
- {
- $text = htmlspecialchars(strip_tags(str_replace('<br />', ' ', $user->lang[$row['log_operation']])), ENT_COMPAT, 'UTF-8');
-
- // Fill in sprintf placeholders with translated placeholder text
- if (substr_count($text, '%'))
- {
- $text = vsprintf($text, array_fill(0, substr_count($text, '%'), $user->lang['LOGS_PLACEHOLDER']));
- }
- }
- else
- {
- $text = ucfirst(str_replace('_', ' ', strtolower($row['log_operation'])));
- }
-
- $s_lang_keys .= '<option value="' . $row['log_operation'] . '"' . $selected . '>' . $text . '</option>';
- }
- $db->sql_freeresult($result);
+ $keywords = utf8_normalize_nfc(request_var('keywords', '', true));
+ $keywords_param = !empty($keywords) ? '&amp;keywords=' . urlencode(htmlspecialchars_decode($keywords)) : '';
$l_title = $user->lang['ACP_' . strtoupper($mode) . '_LOGS'];
$l_title_explain = $user->lang['ACP_' . strtoupper($mode) . '_LOGS_EXPLAIN'];
@@ -206,7 +127,7 @@ class acp_logs
// Grab log data
$log_data = array();
$log_count = 0;
- view_log($mode, $log_data, $log_count, $config['topics_per_page'], $start, $forum_id, 0, 0, $sql_where, $sql_sort, $log_operation);
+ view_log($mode, $log_data, $log_count, $config['topics_per_page'], $start, $forum_id, 0, 0, $sql_where, $sql_sort, $keywords);
$template->assign_vars(array(
'L_TITLE' => $l_title,
@@ -214,13 +135,14 @@ class acp_logs
'U_ACTION' => $this->u_action,
'S_ON_PAGE' => on_page($log_count, $config['topics_per_page'], $start),
- 'PAGINATION' => generate_pagination($this->u_action . "&amp;$u_sort_param$log_operation_param", $log_count, $config['topics_per_page'], $start, true),
+ 'PAGINATION' => generate_pagination($this->u_action . "&amp;$u_sort_param$keywords_param", $log_count, $config['topics_per_page'], $start, true),
'S_LIMIT_DAYS' => $s_limit_days,
'S_SORT_KEY' => $s_sort_key,
'S_SORT_DIR' => $s_sort_dir,
'S_LANG_KEYS' => $s_lang_keys,
'S_CLEARLOGS' => $auth->acl_get('a_clearlogs'),
+ 'S_KEYWORDS' => $keywords,
)
);