1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 16:56:44 +02:00

Merge branch 'develop-ascraeus' into develop

* develop-ascraeus:
  [ticket/10899] Update doc block
  [ticket/10899] Use isset($field_value['IN'])
  [ticket/10899] Add event core.delete_log
  [ticket/10899] Remove trailing ;
  [ticket/10899] Fix typo in the class name
  [ticket/10899] Add unit tests
  [ticket/10899] Get $phpbb_log from the container
  [ticket/10899] Remove extra ';'
  [ticket/10899] Typo
  [ticket/10899] Refactoring in \phpbb\log\log_interface
  [ticket/10899] Using Delete All in log viewer with keyword search
This commit is contained in:
Joas Schilling
2014-05-30 23:13:09 +02:00
7 changed files with 445 additions and 26 deletions

View File

@@ -54,7 +54,7 @@ class acp_logs
{
if (confirm_box(true))
{
$where_sql = '';
$conditions = array();
if ($deletemark && sizeof($marked))
{
@@ -63,19 +63,25 @@ class acp_logs
{
$sql_in[] = $mark;
}
$where_sql = ' AND ' . $db->sql_in_set('log_id', $sql_in);
$conditions['log_id'] = $sql_in;
unset($sql_in);
}
if ($where_sql || $deleteall)
if ($deleteall)
{
$sql = 'DELETE FROM ' . LOG_TABLE . "
WHERE log_type = {$this->log_type}
$where_sql";
$db->sql_query($sql);
if ($sort_days)
{
$conditions['log_time'] = array('>=', time() - ($sort_days * 86400));
}
add_log('admin', 'LOG_CLEAR_' . strtoupper($mode));
$keywords = utf8_normalize_nfc(request_var('keywords', '', true));
$conditions['keywords'] = $keywords;
}
$conditions['log_type'] = $this->log_type;
$phpbb_log = $phpbb_container->get('log');
$phpbb_log->delete($mode, $conditions);
}
else
{

View File

@@ -36,7 +36,7 @@ class mcp_logs
function main($id, $mode)
{
global $auth, $db, $user, $template;
global $config, $phpbb_root_path, $phpEx, $phpbb_container;
global $config, $phpbb_root_path, $phpEx, $phpbb_container, $phpbb_log;
$user->add_lang('acp/common');
@@ -114,27 +114,35 @@ class mcp_logs
{
if ($deletemark && sizeof($marked))
{
$sql = 'DELETE FROM ' . LOG_TABLE . '
WHERE log_type = ' . LOG_MOD . '
AND ' . $db->sql_in_set('forum_id', $forum_list) . '
AND ' . $db->sql_in_set('log_id', $marked);
$db->sql_query($sql);
$conditions = array(
'log_type' => LOG_MOD,
'forum_id' => $forum_list,
'log_id' => $marked,
);
add_log('admin', 'LOG_CLEAR_MOD');
$phpbb_log->delete('mod', $conditions);
}
else if ($deleteall)
{
$sql = 'DELETE FROM ' . LOG_TABLE . '
WHERE log_type = ' . LOG_MOD . '
AND ' . $db->sql_in_set('forum_id', $forum_list);
$keywords = utf8_normalize_nfc(request_var('keywords', '', true));
$conditions = array(
'log_type' => LOG_MOD,
'forum_id' => $forum_list,
'keywords' => $keywords,
);
if ($sort_days)
{
$conditions['log_time'] = array('>=', time() - ($sort_days * 86400));
}
if ($mode == 'topic_logs')
{
$sql .= ' AND topic_id = ' . $topic_id;
$conditions['topic_logs'] = $topic_id;
}
$db->sql_query($sql);
add_log('admin', 'LOG_CLEAR_MOD');
$phpbb_log->delete('mod', $conditions);
}
}
else