admins may view deleted logs

This commit is contained in:
following
2013-04-30 00:11:21 +02:00
parent a440a9d1bc
commit 40488ad754
4 changed files with 35 additions and 4 deletions

View File

@ -2443,6 +2443,7 @@ INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2002', 'Show al
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2003', 'Show all logs', '2013-04-25 23:00:00');
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2004', 'active caches', '2013-04-25 23:00:00');
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2005', 'Show active', '2013-04-25 23:00:00');
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2006', 'Deleted by', '2013-04-25 23:00:00');
-- Table sys_trans_ref
SET NAMES 'utf8';
@ -6218,6 +6219,7 @@ INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUE
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2003', 'DE', 'alle Logs anzeigen', '2013-04-25 23:00:00');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2004', 'DE', 'aktive Caches', '2013-04-25 23:00:00');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2005', 'DE', 'aktive anzeigen', '2013-04-25 23:00:00');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2006', 'DE', 'gelöscht von', '2013-04-25 23:00:00');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('1', 'EN', 'Reorder IDs \r', '2010-09-02 00:15:30');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2', 'EN', 'The database could not be reconnected.', '2010-08-28 11:48:07');
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('3', 'EN', 'Testing please do not login', '2010-08-28 11:48:07');

View File

@ -287,9 +287,25 @@ class cache
}
static function getLogsArray($cacheid, $start, $count)
static function getLogsArray($cacheid, $start, $count, $deleted=false)
{
global $login;
//prepare the logs
if ($deleted && ($login->admin && ADMIN_USER)>0)
{
// admins may view owner-deleted logs
$table = 'cache_logs_archived';
$delfields = 'IFNULL(`u2`.`username`,"") AS `deleted_by_name`, `deletion_date`';
$addjoin = 'LEFT JOIN `user` `u2` ON `u2`.`user_id`=`cache_logs`.`deleted_by`';
}
else
{
$table = 'cache_logs';
$delfields = '"" AS `deleted_by_name`, NULL AS `deletion_date`';
$addjoin = '';
}
$rsLogs = sql("
SELECT `cache_logs`.`user_id` AS `userid`,
`cache_logs`.`id` AS `id`,
@ -300,12 +316,14 @@ class cache
`cache_logs`.`text` AS `text`,
`cache_logs`.`text_html` AS `texthtml`,
`cache_logs`.`picture`,
".$delfields.",
`user`.`username` AS `username`,
IF(ISNULL(`cache_rating`.`cache_id`), 0, `cache_logs`.`type` IN (1,7)) AS `recommended`
FROM `cache_logs`
FROM $table AS `cache_logs`
INNER JOIN `user` ON `user`.`user_id` = `cache_logs`.`user_id`
LEFT JOIN `cache_rating` ON `cache_logs`.`cache_id`=`cache_rating`.`cache_id` AND `cache_logs`.`user_id`=`cache_rating`.`user_id`
WHERE `cache_logs`.`cache_id`='&1'
".$addjoin."
WHERE `cache_logs`.`cache_id`='&1'".$addwhere."
ORDER BY `cache_logs`.`date` DESC, `cache_logs`.`Id` DESC LIMIT &2, &3", $cacheid, $start+0, $count+0);
$logs = array();

View File

@ -75,6 +75,12 @@
{/if}
<br />
{/foreach}
{if $logItem.deleted_by_name != ""}
<span style="color:red">{t}Deleted by{/t} {$logItem.deleted_by_name},
{$logItem.deletion_date|date_format:$opt.format.date}</span>
{/if}
</div>
</div>
</div>

View File

@ -19,6 +19,10 @@
{
$cache_id = $_REQUEST['cacheid'];
}
else if (isset($_REQUEST['wp']))
{
$cache_id = sql_value("SELECT `cache_id` FROM `caches` WHERE `wp_oc`='&1'", "", $_REQUEST['wp']);
}
$start = 0;
if (isset($_REQUEST['start']))
{
@ -31,6 +35,7 @@
$count = $_REQUEST['count'];
if (!is_numeric($count)) $count = 5000;
}
$deleted = @$_REQUEST['deleted'] > 0 && ($login->admin && ADMIN_USER) > 0;
//$tpl->caching = true;
//$tpl->cache_lifetime = 31*24*60*60;
@ -67,7 +72,7 @@
$rCache['adminlog'] = ($login->admin & ADMIN_USER);
$tpl->assign('cache', $rCache);
$tpl->assign('logs', cache::getLogsArray($cache_id, $start, $count));
$tpl->assign('logs', cache::getLogsArray($cache_id, $start, $count, $deleted));
$tpl->display();