From fdc5ce0a556df37b126d759ccdd0800115306998 Mon Sep 17 00:00:00 2001 From: plegall Date: Thu, 31 Mar 2005 21:53:24 +0000 Subject: - apply category name and element name separation in calendar special category - change method of counting total number of viewable pictures : pictures linked to more than one category are not counted twice. git-svn-id: http://piwigo.org/svn/trunk@761 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions_category.inc.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'include/functions_category.inc.php') diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php index 9c4e1ebab..00a379b9f 100644 --- a/include/functions_category.inc.php +++ b/include/functions_category.inc.php @@ -155,20 +155,30 @@ SELECT name,id,date_last,nb_images,global_rank return get_html_menu_category($cats); } +/** + * returns the total number of elements viewable in the gallery by the + * connected user + * + * @return int + */ function count_user_total_images() { global $user; - $query = 'SELECT SUM(nb_images) AS total'; - $query.= ' FROM '.CATEGORIES_TABLE; - if ( count( $user['restrictions'] ) > 0 ) - $query.= ' WHERE id NOT IN ('.$user['forbidden_categories'].')'; - $query.= ';'; + $query = ' +SELECT COUNT(DISTINCT(image_id)) as total + FROM '.IMAGE_CATEGORY_TABLE; + if (count($user['restrictions']) > 0) + { + $query.= ' + WHERE category_id NOT IN ('.$user['forbidden_categories'].')'; + } + $query.= ' +;'; - $row = mysql_fetch_array( pwg_query( $query ) ); + $row = mysql_fetch_array(pwg_query($query)); - if ( !isset( $row['total'] ) ) $row['total'] = 0; - return $row['total']; + return isset($row['total']) ? $row['total'] : 0; } /** -- cgit v1.2.3