aboutsummaryrefslogtreecommitdiffstats
path: root/include/functions_user.inc.php
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2004-12-18 22:05:30 +0000
committerplegall <plg@piwigo.org>2004-12-18 22:05:30 +0000
commitf0e9cd804af6512529982e66f73a27fa7658c46c (patch)
treed7a2be782e859b9b4e9bdc06069122cc38c95729 /include/functions_user.inc.php
parent775e9ee74cf910f858f08b24d4b4820ea42bac85 (diff)
- bug fixed : in admin/cat_list, next_rank cant' be calculted and query to
count sub-categories per sub-categories became false if no sub-categories - virtual association come back in admin/infos_images (not only in admin/picture_modify) - check_favorites function in admin section becomes check_user_favorites in public section : favorites are checked when user tries to display his favorites. Function was optimized. - in function update_category, wrap of long queries due to many categories to update at the same time - typo fixed in description of paginate_pages_around configuration parameter - bug fixed in new navigation bar : no separation pipe was displayed between next and last when the page displayed was the last - sessions.expiration changed of type from int to datetime (a lot easier to read) - sessions.ip removed : IP address is no longer used to verify session - $lang['cat_options'] was missing in en_UK.iso-8859-1 - typo fixed in language/en_UK.iso-8859-1/admin.lang.php on editcat_lock_info language item git-svn-id: http://piwigo.org/svn/trunk@647 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r--include/functions_user.inc.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index 1581ff28f..c00ba2f4a 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -237,4 +237,43 @@ function getuserdata($user)
$result = pwg_query($sql);
return ( $row = mysql_fetch_array($result) ) ? $row : false;
}
+
+/*
+ * deletes favorites of the current user if he's not allowed to see them
+ *
+ * @return void
+ */
+function check_user_favorites()
+{
+ global $user;
+
+ if ($user['forbidden_categories'] == '')
+ {
+ return;
+ }
+
+ $query = '
+SELECT f.image_id
+ FROM '.FAVORITES_TABLE.' AS f INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic
+ ON f.image_id = ic.image_id
+ WHERE f.user_id = '.$user['id'].'
+ AND ic.category_id IN ('.$user['forbidden_categories'].')
+;';
+ $result = pwg_query($query);
+ $elements = array();
+ while ($row = mysql_fetch_array($result))
+ {
+ array_push($elements, $row['image_id']);
+ }
+
+ if (count($elements) > 0)
+ {
+ $query = '
+DELETE FROM '.FAVORITES_TABLE.'
+ WHERE image_id IN ('.implode(',', $elements).')
+ AND user_id = '.$user['id'].'
+;';
+ pwg_query($query);
+ }
+}
?>