From d8ea8fd791582114c5ec442553bf6e3e412f01f6 Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 7 Dec 2006 03:49:20 +0000 Subject: 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 --- include/functions_notification.inc.php | 77 ++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) (limited to 'include/functions_notification.inc.php') diff --git a/include/functions_notification.inc.php b/include/functions_notification.inc.php index 5271a11b9..8c88fd342 100644 --- a/include/functions_notification.inc.php +++ b/include/functions_notification.inc.php @@ -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; $i0) + { // 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; +} ?> \ No newline at end of file -- cgit v1.2.3