mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
- added filtration ability to MCP
- added missing lang variable - fixed a pagination bug in filtration routines git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9800 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
e7a17a3429
commit
b3767cd143
10 changed files with 78 additions and 5 deletions
|
@ -215,7 +215,7 @@
|
||||||
<li>[Feature] Add option to disable remote upload avatars (Bug #45375 - Patch by nickvergessen)</li>
|
<li>[Feature] Add option to disable remote upload avatars (Bug #45375 - Patch by nickvergessen)</li>
|
||||||
<li>[Feature] Ability to delete warnings and keep warnings permanently (Bug #43375 - Patch by nickvergessen)</li>
|
<li>[Feature] Ability to delete warnings and keep warnings permanently (Bug #43375 - Patch by nickvergessen)</li>
|
||||||
<li>[Feature] Ability to empty a user's outbox from the user ACP quick tools.</li>
|
<li>[Feature] Ability to empty a user's outbox from the user ACP quick tools.</li>
|
||||||
<li>[Feature] Ability to filter ACP logs</li>
|
<li>[Feature] Ability to filter ACP / MCP logs</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="v304"></a><h3>1.ii. Changes since 3.0.4</h3>
|
<a name="v304"></a><h3>1.ii. Changes since 3.0.4</h3>
|
||||||
|
|
|
@ -158,8 +158,12 @@ class acp_logs
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
|
if (empty($row['log_operation']))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$selected = ($log_operation == $row['log_operation']) ? ' selected="selected"' : '';
|
$selected = ($log_operation == $row['log_operation']) ? ' selected="selected"' : '';
|
||||||
$s_lang_keys .= '<option value="' . $row['log_operation'] . '"' . $selected . '>' . $user->lang[$row['log_operation']] . '</option>';
|
$s_lang_keys .= '<option value="' . $row['log_operation'] . '"' . $selected . '>' . htmlspecialchars(strip_tags($user->lang[$row['log_operation']]), ENT_COMPAT, 'UTF-8') . '</option>';
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
|
|
@ -2499,7 +2499,8 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id
|
||||||
$sql = 'SELECT COUNT(l.log_id) AS total_entries
|
$sql = 'SELECT COUNT(l.log_id) AS total_entries
|
||||||
FROM ' . LOG_TABLE . " l
|
FROM ' . LOG_TABLE . " l
|
||||||
WHERE l.log_type = $log_type
|
WHERE l.log_type = $log_type
|
||||||
AND l.log_time >= $limit_days
|
AND l.log_time >= $limit_days " .
|
||||||
|
(!empty($log_operation) ? "AND l.log_operation = '" . $db->sql_escape($log_operation) . "'" : '') . "
|
||||||
$sql_forum";
|
$sql_forum";
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
$log_count = (int) $db->sql_fetchfield('total_entries');
|
$log_count = (int) $db->sql_fetchfield('total_entries');
|
||||||
|
|
|
@ -164,10 +164,43 @@ class mcp_logs
|
||||||
$sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;
|
$sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;
|
||||||
$sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
|
$sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
|
||||||
|
|
||||||
|
$log_operation = request_var('log_operation', '');
|
||||||
|
$s_lang_keys = '<option value="">' . $user->lang['SHOW_ALL_OPERATIONS'] . '</option>';
|
||||||
|
|
||||||
|
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) : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "SELECT DISTINCT log_operation
|
||||||
|
FROM " . LOG_TABLE . '
|
||||||
|
WHERE log_type = ' . LOG_MOD . '
|
||||||
|
' . (($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"' : '';
|
||||||
|
$s_lang_keys .= '<option value="' . $row['log_operation'] . '"' . $selected . '>' . htmlspecialchars(strip_tags($user->lang[$row['log_operation']]), ENT_COMPAT, 'UTF-8') . '</option>';
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
// Grab log data
|
// Grab log data
|
||||||
$log_data = array();
|
$log_data = array();
|
||||||
$log_count = 0;
|
$log_count = 0;
|
||||||
view_log('mod', $log_data, $log_count, $config['topics_per_page'], $start, $forum_list, $topic_id, 0, $sql_where, $sql_sort);
|
view_log('mod', $log_data, $log_count, $config['topics_per_page'], $start, $forum_list, $topic_id, 0, $sql_where, $sql_sort, $log_operation);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'PAGE_NUMBER' => on_page($log_count, $config['topics_per_page'], $start),
|
'PAGE_NUMBER' => on_page($log_count, $config['topics_per_page'], $start),
|
||||||
|
@ -181,6 +214,7 @@ class mcp_logs
|
||||||
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
||||||
'S_SELECT_SORT_KEY' => $s_sort_key,
|
'S_SELECT_SORT_KEY' => $s_sort_key,
|
||||||
'S_SELECT_SORT_DAYS' => $s_limit_days,
|
'S_SELECT_SORT_DAYS' => $s_limit_days,
|
||||||
|
'S_LANG_KEYS' => $s_lang_keys,
|
||||||
'S_LOGS' => ($log_count > 0),
|
'S_LOGS' => ($log_count > 0),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -193,9 +193,28 @@ class mcp_notes
|
||||||
$sql_where = ($st) ? (time() - ($st * 86400)) : 0;
|
$sql_where = ($st) ? (time() - ($st * 86400)) : 0;
|
||||||
$sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC');
|
$sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC');
|
||||||
|
|
||||||
|
$log_operation = request_var('log_operation', '');
|
||||||
|
$s_lang_keys = '<option value="">' . $user->lang['SHOW_ALL_OPERATIONS'] . '</option>';
|
||||||
|
|
||||||
|
$sql = "SELECT DISTINCT log_operation
|
||||||
|
FROM " . LOG_TABLE . '
|
||||||
|
WHERE log_type = ' . LOG_USERS .
|
||||||
|
(($limit_days) ? " AND log_time >= $sql_where" : '');
|
||||||
|
$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"' : '';
|
||||||
|
$s_lang_keys .= '<option value="' . $row['log_operation'] . '"' . $selected . '>' . htmlspecialchars(strip_tags($user->lang[$row['log_operation']]), ENT_COMPAT, 'UTF-8') . '</option>';
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
$log_data = array();
|
$log_data = array();
|
||||||
$log_count = 0;
|
$log_count = 0;
|
||||||
view_log('user', $log_data, $log_count, $config['posts_per_page'], $start, 0, 0, $user_id, $sql_where, $sql_sort);
|
view_log('user', $log_data, $log_count, $config['posts_per_page'], $start, 0, 0, $user_id, $sql_where, $sql_sort, $log_operation);
|
||||||
|
|
||||||
if ($log_count)
|
if ($log_count)
|
||||||
{
|
{
|
||||||
|
@ -219,6 +238,7 @@ class mcp_notes
|
||||||
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
||||||
'S_SELECT_SORT_KEY' => $s_sort_key,
|
'S_SELECT_SORT_KEY' => $s_sort_key,
|
||||||
'S_SELECT_SORT_DAYS' => $s_limit_days,
|
'S_SELECT_SORT_DAYS' => $s_limit_days,
|
||||||
|
'S_LANG_KEYS' => $s_lang_keys,
|
||||||
|
|
||||||
'L_TITLE' => $user->lang['MCP_NOTES_USER'],
|
'L_TITLE' => $user->lang['MCP_NOTES_USER'],
|
||||||
|
|
||||||
|
|
|
@ -281,6 +281,8 @@ $lang = array_merge($lang, array(
|
||||||
'SETTING_TOO_LONG' => 'The entered value for the setting “%1$s” is too long. The maximal allowed length is %2$d.',
|
'SETTING_TOO_LONG' => 'The entered value for the setting “%1$s” is too long. The maximal allowed length is %2$d.',
|
||||||
'SETTING_TOO_SHORT' => 'The entered value for the setting “%1$s” is not long enough. The minimal allowed length is %2$d.',
|
'SETTING_TOO_SHORT' => 'The entered value for the setting “%1$s” is not long enough. The minimal allowed length is %2$d.',
|
||||||
|
|
||||||
|
'SHOW_ALL_OPERATIONS' => 'Show all operations',
|
||||||
|
|
||||||
'UCP' => 'User Control Panel',
|
'UCP' => 'User Control Panel',
|
||||||
'USERNAMES_EXPLAIN' => 'Place each username on a separate line.',
|
'USERNAMES_EXPLAIN' => 'Place each username on a separate line.',
|
||||||
'USER_CONTROL_PANEL' => 'User Control Panel',
|
'USER_CONTROL_PANEL' => 'User Control Panel',
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
<div class="inner"><span class="corners-top"><span></span></span>
|
<div class="inner"><span class="corners-top"><span></span></span>
|
||||||
|
|
||||||
<ul class="linklist">
|
<ul class="linklist">
|
||||||
|
<li class="leftside">
|
||||||
|
{L_SELECT_LANG_KEY}: <select name="log_operation">{S_LANG_KEYS}</select> <input type="submit" class="button2" name="filter" value="{L_FILTER}" />
|
||||||
|
</li>
|
||||||
<li class="rightside pagination">
|
<li class="rightside pagination">
|
||||||
<!-- IF TOTAL -->{TOTAL} <!-- ENDIF -->
|
<!-- IF TOTAL -->{TOTAL} <!-- ENDIF -->
|
||||||
<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
|
<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
|
||||||
|
|
|
@ -51,6 +51,9 @@
|
||||||
<div class="inner"><span class="corners-top"><span></span></span>
|
<div class="inner"><span class="corners-top"><span></span></span>
|
||||||
|
|
||||||
<ul class="linklist">
|
<ul class="linklist">
|
||||||
|
<li class="leftside">
|
||||||
|
{L_SELECT_LANG_KEY}: <select name="log_operation">{S_LANG_KEYS}</select> <input type="submit" class="button2" name="filter" value="{L_FILTER}" />
|
||||||
|
</li>
|
||||||
<li class="rightside pagination">
|
<li class="rightside pagination">
|
||||||
<!-- IF TOTAL_REPORTS -->{TOTAL_REPORTS} <!-- ENDIF -->
|
<!-- IF TOTAL_REPORTS -->{TOTAL_REPORTS} <!-- ENDIF -->
|
||||||
<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
|
<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
<!-- IF S_CLEAR_ALLOWED --><td width="5%" align="center"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td><!-- ENDIF -->
|
<!-- IF S_CLEAR_ALLOWED --><td width="5%" align="center"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td><!-- ENDIF -->
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END log -->
|
<!-- END log -->
|
||||||
|
<tr align="center">
|
||||||
|
<td class="row3" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->"><span class="gensmall">{L_SELECT_LANG_KEY}:</span> <select name="log_operation">{S_LANG_KEYS}</select> <input type="submit" class="button2" name="filter" value="{L_FILTER}" /></td>
|
||||||
|
</tr>
|
||||||
<tr align="center">
|
<tr align="center">
|
||||||
<td class="row3" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS} <span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} <input class="btnlite" type="submit" value="{L_GO}" name="sort" /></td>
|
<td class="row3" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS} <span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} <input class="btnlite" type="submit" value="{L_GO}" name="sort" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -54,6 +54,9 @@
|
||||||
</tr>
|
</tr>
|
||||||
<!-- IF S_USER_NOTES -->
|
<!-- IF S_USER_NOTES -->
|
||||||
|
|
||||||
|
<tr align="center">
|
||||||
|
<td colspan="5" class="row3"><span class="gensmall">{L_SELECT_LANG_KEY}:</span> <select name="log_operation">{S_LANG_KEYS}</select> <input type="submit" class="button2" name="filter" value="{L_FILTER}" /></td>
|
||||||
|
</tr>
|
||||||
<tr align="center">
|
<tr align="center">
|
||||||
<td colspan="5" class="row3"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS} <span class="gensmall">{L_SORT_BY}:</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} <input class="btnlite" type="submit" value="{L_GO}" name="sort" /></td>
|
<td colspan="5" class="row3"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS} <span class="gensmall">{L_SORT_BY}:</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} <input class="btnlite" type="submit" value="{L_GO}" name="sort" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Loading…
Add table
Reference in a new issue