diff options
author | plegall <plg@piwigo.org> | 2011-01-20 13:32:34 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2011-01-20 13:32:34 +0000 |
commit | dfb0b9d1faa0603393ddbcb2831da52ba76ea3e9 (patch) | |
tree | f19283fe3294804165ae99681f94ffa85d2e7e71 /install/db | |
parent | d59827398d74626dc7525b337ade43e8a31d4e23 (diff) |
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
Diffstat (limited to '')
-rw-r--r-- | install/db/95-database.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/install/db/95-database.php b/install/db/95-database.php new file mode 100644 index 000000000..0507b6c0f --- /dev/null +++ b/install/db/95-database.php @@ -0,0 +1,53 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based photo gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008-2011 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if (!defined('PHPWG_ROOT_PATH')) +{ + die('Hacking attempt!'); +} + +$upgrade_description = 'New colum user_cache_categories.user_representative_picture_id'; + +// Add column +$query = 'ALTER TABLE '.USER_CACHE_CATEGORIES_TABLE.' ADD COLUMN '; + +if ('mysql' == $conf['dblayer']) +{ + $query.= ' `user_representative_picture_id` mediumint(8) unsigned default NULL'; +} + +if (in_array($conf['dblayer'], array('pgsql', 'sqlite', 'pdo-sqlite'))) +{ + $query.= ' "user_representative_picture_id" INTEGER'; +} + +$query.= ';'; + +pwg_query($query); + +echo +"\n" +. $upgrade_description +."\n" +; +?>
\ No newline at end of file |