db changes for feature 2836 display # of comments/tags in menubar and feature 2557 recent photos should never be empty

git-svn-id: http://piwigo.org/svn/trunk@21801 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices 2013-03-23 10:02:04 +00:00
commit 19d831bfe1
3 changed files with 63 additions and 6 deletions

View file

@ -459,12 +459,14 @@ DELETE FROM '.USER_CACHE_TABLE.'
$query = '
INSERT IGNORE INTO '.USER_CACHE_TABLE.'
(user_id, need_update, cache_update_time, forbidden_categories, nb_total_images,
last_photo_date,
image_access_type, image_access_list)
VALUES
('.$userdata['id'].',\''.boolean_to_string($userdata['need_update']).'\','
.$userdata['cache_update_time'].',\''
.$userdata['forbidden_categories'].'\','.$userdata['nb_total_images'].',\''
.$userdata['image_access_type'].'\',\''.$userdata['image_access_list'].'\')';
.$userdata['forbidden_categories'].'\','.$userdata['nb_total_images'].','.
(empty($userdata['last_photo_date']) ? 'NULL': '\''.$userdata['last_photo_date'].'\'').
',\''.$userdata['image_access_type'].'\',\''.$userdata['image_access_list'].'\')';
pwg_query($query);
}
}
@ -678,7 +680,7 @@ function compute_categories_data(&$cats)
* @param int filter_days number of recent days to filter on or null
* @return array
*/
function get_computed_categories($userdata, $filter_days=null)
function get_computed_categories(&$userdata, $filter_days=null)
{
$query = 'SELECT c.id AS cat_id, global_rank';
// Count by date_available to avoid count null
@ -702,10 +704,11 @@ FROM '.CATEGORIES_TABLE.' as c
}
$query.= '
GROUP BY c.id, c.global_rank';
GROUP BY c.id';
$result = pwg_query($query);
$userdata['last_photo_date'] = null;
$cats = array();
while ($row = pwg_db_fetch_assoc($result))
{
@ -713,6 +716,10 @@ FROM '.CATEGORIES_TABLE.' as c
$row['count_categories'] = 0;
$row['count_images'] = (int)$row['nb_images'];
$row['max_date_last'] = $row['date_last'];
if ($row['date_last'] > $userdata['last_photo_date'])
{
$userdata['last_photo_date'] = $row['date_last'];
}
$cats += array($row['cat_id'] => $row);
}
@ -1515,7 +1522,7 @@ function get_sql_condition_FandF(
{
$sql_list[]=$table_prefix.'level<='.$user['level'];
}
else if ( !empty($user['image_access_list']) and !empty($user['image_access_type']) )
elseif ( !empty($user['image_access_list']) and !empty($user['image_access_type']) )
{
$sql_list[]=$field_name.' '.$user['image_access_type']
.' ('.$user['image_access_list'].')';

View file

@ -0,0 +1,47 @@
<?php
// +-----------------------------------------------------------------------+
// | Piwigo - a PHP based photo gallery |
// +-----------------------------------------------------------------------+
// | Copyright(C) 2008-2013 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. |
// +-----------------------------------------------------------------------+
defined('PHPWG_ROOT_PATH') or die('Hacking attempt!');
$upgrade_description = 'add nb available comments/tags';
$query = 'ALTER TABLE '.USER_INFOS_TABLE.'
ADD PRIMARY KEY (`user_id`)
, DROP INDEX `user_infos_ui1`';
pwg_query($query);
$query = 'ALTER TABLE '.USER_CACHE_TABLE.'
ADD COLUMN `last_photo_date` datetime DEFAULT NULL AFTER `nb_total_images`';
pwg_query($query);
invalidate_user_cache();
$query = 'ALTER TABLE '.USER_CACHE_TABLE.'
ADD COLUMN `nb_available_tags` INT(5) DEFAULT NULL AFTER `last_photo_date`';
pwg_query($query);
$query = 'ALTER TABLE '.USER_CACHE_TABLE.'
ADD COLUMN `nb_available_comments` INT(5) DEFAULT NULL AFTER `nb_available_tags`';
pwg_query($query);
echo "\n".$upgrade_description."\n";
?>

View file

@ -352,6 +352,9 @@ CREATE TABLE `piwigo_user_cache` (
`cache_update_time` integer unsigned NOT NULL default 0,
`forbidden_categories` mediumtext,
`nb_total_images` mediumint(8) unsigned default NULL,
`last_photo_date` datetime DEFAULT NULL,
`nb_available_tags` INT(5) DEFAULT NULL,
`nb_available_comments` INT(5) DEFAULT NULL
`image_access_type` enum('NOT IN','IN') NOT NULL default 'NOT IN',
`image_access_list` mediumtext default NULL,
PRIMARY KEY (`user_id`)
@ -416,7 +419,7 @@ CREATE TABLE `piwigo_user_infos` (
`enabled_high` enum('true','false') NOT NULL default 'true',
`level` tinyint unsigned NOT NULL default '0',
`activation_key` char(20) default NULL,
UNIQUE KEY `user_infos_ui1` (`user_id`)
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM;
--