aboutsummaryrefslogtreecommitdiffstats
path: root/feed.php
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2006-01-31 23:38:48 +0000
committerrub <rub@piwigo.org>2006-01-31 23:38:48 +0000
commit81bdfbf7b410192591e72619c8f1aaed28c7bfee (patch)
tree769d3a3cba3690d68f52a35f808588258a487206 /feed.php
parenta4d50dabf8d6a9edc8922689c65d40a9ba8e661c (diff)
[NBM] Step 1: Create new include files with current notification/mail fonctions (with improvement)
git-svn-id: http://piwigo.org/svn/trunk@1018 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'feed.php')
-rw-r--r--feed.php192
1 files changed, 2 insertions, 190 deletions
diff --git a/feed.php b/feed.php
index 0fbb8ff83..2ce2e7778 100644
--- a/feed.php
+++ b/feed.php
@@ -2,7 +2,7 @@
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
-// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
+// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
@@ -27,201 +27,13 @@
define('PHPWG_ROOT_PATH','./');
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
+include_once(PHPWG_ROOT_PATH.'include/functions_notification.inc.php');
// +-----------------------------------------------------------------------+
// | functions |
// +-----------------------------------------------------------------------+
/**
- * new comments between two dates, according to authorized categories
- *
- * @param string start (mysql datetime format)
- * @param string end (mysql datetime format)
- * @param string forbidden categories (comma separated)
- * @return array comment ids
- */
-function new_comments($start, $end)
-{
- global $user;
-
- $query = '
-SELECT DISTINCT c.id AS comment_id
- FROM '.COMMENTS_TABLE.' AS c
- , '.IMAGE_CATEGORY_TABLE.' AS ic
- WHERE c.image_id = ic.image_id
- AND c.validation_date > \''.$start.'\'
- AND c.validation_date <= \''.$end.'\'
- AND category_id NOT IN ('.$user['forbidden_categories'].')
-;';
- return array_from_query($query, 'comment_id');
-}
-
-/**
- * unvalidated at a precise date
- *
- * Comments that are registered and not validated yet on a precise date
- *
- * @param string date (mysql datetime format)
- * @return array comment ids
- */
-function unvalidated_comments($date)
-{
- $query = '
-SELECT DISTINCT id
- FROM '.COMMENTS_TABLE.'
- WHERE date <= \''.$date.'\'
- AND (validated = \'false\'
- OR validation_date > \''.$date.'\')
-;';
- return array_from_query($query, 'id');
-}
-
-/**
- * new elements between two dates, according to authorized categories
- *
- * @param string start (mysql datetime format)
- * @param string end (mysql datetime format)
- * @param string forbidden categories (comma separated)
- * @return array element ids
- */
-function new_elements($start, $end)
-{
- global $user;
-
- $query = '
-SELECT DISTINCT image_id
- FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON image_id = id
- WHERE date_available > \''.$start.'\'
- AND date_available <= \''.$end.'\'
- AND category_id NOT IN ('.$user['forbidden_categories'].')
-;';
- return array_from_query($query, 'image_id');
-}
-
-/**
- * updated categories between two dates, according to authorized categories
- *
- * @param string start (mysql datetime format)
- * @param string end (mysql datetime format)
- * @param string forbidden categories (comma separated)
- * @return array element ids
- */
-function updated_categories($start, $end)
-{
- global $user;
-
- $query = '
-SELECT DISTINCT category_id
- FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON image_id = id
- WHERE date_available > \''.$start.'\'
- AND date_available <= \''.$end.'\'
- AND category_id NOT IN ('.$user['forbidden_categories'].')
-;';
- return array_from_query($query, 'category_id');
-}
-
-/**
- * new registered users between two dates
- *
- * @param string start (mysql datetime format)
- * @param string end (mysql datetime format)
- * @return array user ids
- */
-function new_users($start, $end)
-{
- $query = '
-SELECT user_id
- FROM '.USER_INFOS_TABLE.'
- WHERE registration_date > \''.$start.'\'
- AND registration_date <= \''.$end.'\'
-;';
- return array_from_query($query, 'user_id');
-}
-
-/**
- * currently waiting pictures
- *
- * @return array waiting ids
- */
-function waiting_elements()
-{
- $query = '
-SELECT id
- FROM '.WAITING_TABLE.'
- WHERE validated = \'false\'
-;';
-
- return array_from_query($query, 'id');
-}
-
-/**
- * What's new between two dates ?
- *
- * Informations : number of new comments, number of new elements, number of
- * updated categories. Administrators are also informed about : number of
- * unvalidated comments, number of new users (TODO : number of unvalidated
- * elements)
- *
- * @param string start date (mysql datetime format)
- * @param string end date (mysql datetime format)
- */
-function news($start, $end)
-{
- global $user;
-
- $news = array();
-
- $nb_new_comments = count(new_comments($start, $end));
- if ($nb_new_comments > 0)
- {
- array_push($news, sprintf(l10n('%d new comments'), $nb_new_comments));
- }
-
- $nb_new_elements = count(new_elements($start, $end));
- if ($nb_new_elements > 0)
- {
- array_push($news, sprintf(l10n('%d new elements'), $nb_new_elements));
- }
-
- $nb_updated_categories = count(updated_categories($start, $end));
- if ($nb_updated_categories > 0)
- {
- array_push($news, sprintf(l10n('%d categories updated'),
- $nb_updated_categories));
- }
-
- if ('admin' == $user['status'])
- {
- $nb_unvalidated_comments = count(unvalidated_comments($end));
- if ($nb_unvalidated_comments > 0)
- {
- array_push($news, sprintf(l10n('%d comments to validate'),
- $nb_unvalidated_comments));
- }
-
- $nb_new_users = count(new_users($start, $end));
- if ($nb_new_users > 0)
- {
- array_push($news, sprintf(l10n('%d new users'), $nb_new_users));
- }
-
- $nb_waiting_elements = count(waiting_elements());
- if ($nb_waiting_elements > 0)
- {
- array_push(
- $news,
- sprintf(
- l10n('%d waiting elements'),
- $nb_waiting_elements
- )
- );
- }
- }
-
- return $news;
-}
-
-/**
* explodes a MySQL datetime format (2005-07-14 23:01:37) in fields "year",
* "month", "day", "hour", "minute", "second".
*