aboutsummaryrefslogtreecommitdiffstats
path: root/admin/history.php
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2007-03-09 16:28:49 +0000
committerplegall <plg@piwigo.org>2007-03-09 16:28:49 +0000
commitb0478ef330b8f729554aec55baa81d9e3d02a063 (patch)
tree2be4688f02ba35fe2297f2b7d7de03e8f9eaf5e2 /admin/history.php
parent81030a7ab40a481d6d8c93539162a4a035ea09d1 (diff)
New: #images.high_filesize was added so that we can sum the filesizes in the
filtered history. #images.high_filesize is filled during metadata synchronization. Bug fixed: in getAttribute XML function, when asking "filesize", it was returning high_filesize. The regex was too simple. git-svn-id: http://piwigo.org/svn/trunk@1883 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/history.php')
-rw-r--r--admin/history.php104
1 files changed, 86 insertions, 18 deletions
diff --git a/admin/history.php b/admin/history.php
index 9a0a521e5..07ecd2885 100644
--- a/admin/history.php
+++ b/admin/history.php
@@ -227,16 +227,6 @@ SELECT rules
);
$query = '
-SELECT COUNT(*)
- FROM '.HISTORY_TABLE.'
- WHERE '.$where_separator.'
-;';
-
- // echo '<pre>'.$query.'</pre>';
-
- list($page['nb_lines']) = mysql_fetch_row(pwg_query($query));
-
- $query = '
SELECT
date,
time,
@@ -249,11 +239,20 @@ SELECT
image_type
FROM '.HISTORY_TABLE.'
WHERE '.$where_separator.'
- LIMIT '.$page['start'].', '.$conf['nb_logs_page'].'
;';
+ // LIMIT '.$page['start'].', '.$conf['nb_logs_page'].'
+
$result = pwg_query($query);
- $history_lines = $user_ids = $category_ids = $image_ids = array();
+
+ $page['nb_lines'] = mysql_num_rows($result);
+
+ $history_lines = array();
+ $user_ids = array();
+ $category_ids = array();
+ $image_ids = array();
+ $tag_ids = array();
+
while ($row = mysql_fetch_assoc($result))
{
$user_ids[$row['user_id']] = 1;
@@ -314,17 +313,71 @@ SELECT id, uppercats
if (count($image_ids) > 0)
{
$query = '
-SELECT id, IF(name IS NULL, file, name) AS label
+SELECT
+ id,
+ IF(name IS NULL, file, name) AS label,
+ filesize,
+ high_filesize
FROM '.IMAGES_TABLE.'
WHERE id IN ('.implode(',', array_keys($image_ids)).')
;';
- $label_of_image = simple_hash_from_query($query, 'id', 'label');
+ // $label_of_image = simple_hash_from_query($query, 'id', 'label');
+ $label_of_image = array();
+ $filesize_of_image = array();
+ $high_filesize_of_image = array();
+
+ $result = pwg_query($query);
+ while ($row = mysql_fetch_array($result))
+ {
+ $label_of_image[ $row['id'] ] = $row['label'];
+
+ if (isset($row['filesize']))
+ {
+ $filesize_of_image[ $row['id'] ] = $row['filesize'];
+ }
+
+ if (isset($row['high_filesize']))
+ {
+ $high_filesize_of_image[ $row['id'] ] = $row['high_filesize'];
+ }
+ }
+
+ // echo '<pre>'; print_r($high_filesize_of_image); echo '</pre>';
}
$i = 0;
+ $first_line = $page['start'] + 1;
+ $last_line = $page['start'] + $conf['nb_logs_page'];
+
+ $total_filesize = 0;
foreach ($history_lines as $line)
{
+ if (isset($line['image_type']))
+ {
+ if ($line['image_type'] == 'high')
+ {
+ if (isset($high_filesize_of_image[$line['image_id']]))
+ {
+ $total_filesize+= $high_filesize_of_image[$line['image_id']];
+ }
+ }
+ else
+ {
+ if (isset($filesize_of_image[$line['image_id']]))
+ {
+ $total_filesize+= $filesize_of_image[$line['image_id']];
+ }
+ }
+ }
+
+ $i++;
+
+ if ($i < $first_line or $i > $last_line)
+ {
+ continue;
+ }
+
$template->assign_block_vars(
'detail',
array(
@@ -337,9 +390,17 @@ SELECT id, IF(name IS NULL, file, name) AS label
'IP' => $line['IP'],
'IMAGE' => isset($line['image_id'])
? ( isset($label_of_image[$line['image_id']])
- ? $label_of_image[$line['image_id']]
- : 'deleted '.$line['image_id'])
- : $line['image_id'],
+ ? sprintf(
+ '(%u) %s',
+ $line['image_id'],
+ $label_of_image[$line['image_id']]
+ )
+ : sprintf(
+ '(%u) deleted ',
+ $line['image_id']
+ )
+ )
+ : '',
'TYPE' => $line['image_type'],
'SECTION' => $line['section'],
'CATEGORY' => isset($line['category_id'])
@@ -348,10 +409,17 @@ SELECT id, IF(name IS NULL, file, name) AS label
: 'deleted '.$line['category_id'] )
: '',
'TAGS' => $line['tag_ids'],
- 'T_CLASS' => ($i++ % 2) ? 'row1' : 'row2',
+ 'T_CLASS' => ($i % 2) ? 'row1' : 'row2',
)
);
}
+
+ $template->assign_block_vars(
+ 'summary',
+ array(
+ 'FILESIZE' => $total_filesize.' KB',
+ )
+ );
}
// $groups_string = preg_replace(