put some functionnality from feed.php into a function (to be used

later in the notification by email)

git-svn-id: http://piwigo.org/svn/trunk@1639 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices
2006-12-07 03:49:20 +00:00
parent 04047f3716
commit d8ea8fd791
2 changed files with 85 additions and 52 deletions
+74 -3
View File
@@ -381,13 +381,13 @@ function news($start, $end, $exclude_img_cats=false, $add_url=false)
if (!$exclude_img_cats)
{
add_news_line( $news,
add_news_line( $news,
nb_new_elements($start, $end), '%d new element', '%d new elements');
}
if (!$exclude_img_cats)
{
add_news_line( $news,
{
add_news_line( $news,
nb_updated_categories($start, $end), '%d category updated', '%d categories updated');
}
@@ -413,4 +413,75 @@ function news($start, $end, $exclude_img_cats=false, $add_url=false)
return $news;
}
/**
* returns information about recently published elements grouped by post date
* @param int max_dates maximum returned number of recent dates
* @param int max_elements maximum returned number of elements per date
* @param int max_cats maximum returned number of categories per date
*/
function get_recent_post_dates($max_dates, $max_elements, $max_cats)
{
global $conf, $user;
$where_sql = 'WHERE category_id NOT IN ('.$user['forbidden_categories'].')';
$query = '
SELECT date_available,
COUNT(DISTINCT id) nb_elements,
COUNT(DISTINCT category_id) nb_cats
FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON id=image_id
'.$where_sql.'
GROUP BY date_available
ORDER BY date_available DESC
LIMIT 0,'.$max_dates.'
;';
$result = pwg_query($query);
$dates = array();
while ($row = mysql_fetch_assoc($result))
{
array_push($dates, $row);
}
for ($i=0; $i<count($dates); $i++)
{
if ($max_elements>0)
{ // get some thumbnails ...
$query = '
SELECT DISTINCT id, path, name, tn_ext
FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON id=image_id
'.$where_sql.'
AND date_available="'.$dates[$i]['date_available'].'"
AND tn_ext IS NOT NULL
LIMIT 0,'.$max_elements.'
;';
$dates[$i]['elements'] = array();
$result = pwg_query($query);
while ($row = mysql_fetch_assoc($result))
{
array_push($dates[$i]['elements'], $row);
}
}
if ($max_cats>0)
{// get some categories ...
$query = '
SELECT DISTINCT c.uppercats, COUNT(DISTINCT i.id) img_count
FROM '.IMAGES_TABLE.' i INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON i.id=image_id
INNER JOIN '.CATEGORIES_TABLE.' c ON c.id=category_id
'.$where_sql.'
AND date_available="'.$dates[$i]['date_available'].'"
GROUP BY category_id
ORDER BY img_count DESC
LIMIT 0,'.$max_cats.'
;';
$dates[$i]['categories'] = array();
$result = pwg_query($query);
while ($row = mysql_fetch_assoc($result))
{
array_push($dates[$i]['categories'], $row);
}
}
}
return $dates;
}
?>