From dfb0b9d1faa0603393ddbcb2831da52ba76ea3e9 Mon Sep 17 00:00:00 2001 From: plegall Date: Thu, 20 Jan 2011 13:32:34 +0000 Subject: bug 937 fixed: makes sure a user won't see the thumbnail of a photo that has a higher privacy level than user privacy level. For an acceptable solution at performance level, I have implemented a cache: for a given user, each album has a representative_picture_id. This cache also avoids to perform numerous "order by rand()" SQL queries which is the case when $conf['allow_random_representative'] = true; git-svn-id: http://piwigo.org/svn/trunk@8802 68402e56-0260-453c-a942-63ccdbb3a9ee --- picture.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'picture.php') diff --git a/picture.php b/picture.php index f9ff1d759..66bef5d4c 100644 --- a/picture.php +++ b/picture.php @@ -282,6 +282,14 @@ DELETE FROM '.FAVORITES_TABLE.' UPDATE '.CATEGORIES_TABLE.' SET representative_picture_id = '.$page['image_id'].' WHERE id = '.$page['category']['id'].' +;'; + pwg_query($query); + + $query = ' +UPDATE '.USER_CACHE_CATEGORIES_TABLE.' + SET user_representative_picture_id = NULL + WHERE user_id = '.$user['id'].' + AND cat_id = '.$page['category']['id'].' ;'; pwg_query($query); } -- cgit v1.2.3