1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-04 15:57:45 +02:00

merged log tables, added new log_type (critical).

changed email class a little bit.
bug fixed the queue a little bit.


git-svn-id: file:///svn/phpbb/trunk@4210 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2003-07-06 18:48:33 +00:00
parent f31b471ee1
commit 1b320bbb00
10 changed files with 357 additions and 202 deletions

View File

@@ -1455,15 +1455,25 @@ function add_log()
$action = array_shift($args);
$data = (!sizeof($args)) ? '' : addslashes(serialize($args));
if ($mode == 'admin')
switch ($mode)
{
$sql = 'INSERT INTO ' . LOG_ADMIN_TABLE . ' (user_id, log_ip, log_time, log_operation, log_data)
VALUES (' . $user->data['user_id'] . ", '$user->ip', " . time() . ", '$action', '$data')";
}
else
{
$sql = 'INSERT INTO ' . LOG_MOD_TABLE . ' (user_id, forum_id, topic_id, log_ip, log_time, log_operation, log_data)
VALUES (' . $user->data['user_id'] . ", $forum_id, $topic_id, '$user->ip', " . time() . ", '$action', '$data')";
case 'admin':
$sql = "INSERT INTO " . LOG_TABLE . " (log_type, user_id, log_ip, log_time, log_operation, log_data)
VALUES (" . LOG_ADMIN . ", " . $user->data['user_id'] . ", '$user->ip', " . time() . ", '$action', '$data')";
break;
case 'mod':
$sql = "INSERT INTO " . LOG_TABLE . " (log_type, user_id, forum_id, topic_id, log_ip, log_time, log_operation, log_data)
VALUES (" . LOG_MOD . ", " . $user->data['user_id'] . ", $forum_id, $topic_id, '$user->ip', " . time() . ", '$action', '$data')";
break;
case 'critical':
$sql = "INSERT INTO " . LOG_TABLE . " (log_type, user_id, log_ip, log_time, log_operation, log_data)
VALUES (" . LOG_CRITICAL . ", " . $user->data['user_id'] . ", '$user->ip', " . time() . ", '$action', '$data')";
break;
default:
return;
}
$db->sql_query($sql);
@@ -1478,32 +1488,43 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id
$profile_url = (defined('IN_ADMIN')) ? "admin_users.$phpEx$SID" : "memberlist.$phpEx$SID&mode=viewprofile";
if ($mode == 'admin')
switch ($mode)
{
$table_sql = LOG_ADMIN_TABLE;
$sql_forum = '';
}
else
{
$table_sql = LOG_MOD_TABLE;
case 'admin':
$log_type = LOG_ADMIN;
$sql_forum = '';
break;
case 'mod':
$log_type = LOG_MOD;
if ($topic_id)
{
$sql_forum = 'AND l.topic_id = ' . intval($topic_id);
}
elseif (is_array($forum_id))
{
$sql_forum = 'AND l.forum_id IN (' . implode(', ', array_map('intval', $forum_id)) . ')';
}
else
{
$sql_forum = ($forum_id) ? 'AND l.forum_id = ' . intval($forum_id) : '';
}
if ($topic_id)
{
$sql_forum = 'AND l.topic_id = ' . intval($topic_id);
}
else if (is_array($forum_id))
{
$sql_forum = 'AND l.forum_id IN (' . implode(', ', array_map('intval', $forum_id)) . ')';
}
else
{
$sql_forum = ($forum_id) ? 'AND l.forum_id = ' . intval($forum_id) : '';
}
break;
case 'critical':
$log_type = LOG_CRITICAL;
$sql_forum = '';
break;
default:
return;
}
$sql = "SELECT l.*, u.username
FROM $table_sql l, " . USERS_TABLE . " u
WHERE u.user_id = l.user_id
FROM " . LOG_TABLE . " l, " . USERS_TABLE . " u
WHERE l.log_type = $log_type
AND u.user_id = l.user_id
" . (($limit_days) ? "AND l.log_time >= $limit_days" : '') . "
$sql_forum
ORDER BY $sort_by";
@@ -1531,9 +1552,16 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id
{
$log_data_ary = unserialize(stripslashes($row['log_data']));
foreach ($log_data_ary as $log_data)
if (!empty($user->lang[$row['log_operation']]))
{
$log[$i]['action'] = preg_replace('#%s#', $log_data, $log[$i]['action'], 1);
foreach ($log_data_ary as $log_data)
{
$log[$i]['action'] = preg_replace('#%s#', $log_data, $log[$i]['action'], 1);
}
}
else
{
$log[$i]['action'] = implode('', $log_data_ary);
}
}
@@ -1575,8 +1603,9 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id
}
$sql = "SELECT COUNT(*) AS total_entries
FROM $table_sql l
WHERE l.log_time >= $limit_days
FROM " . LOG_TABLE . " l
WHERE l.log_type = $log_type
AND l.log_time >= $limit_days
$sql_forum";
$result = $db->sql_query($sql);