Skip to content

Commit

Permalink
db changes for feature 2836 display # of comments/tags in menubar and…
Browse files Browse the repository at this point in the history
… feature 2557 recent photos should never be empty

git-svn-id: http://piwigo.org/svn/trunk@21801 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rvelices committed Mar 23, 2013
1 parent c523eec commit 19d831b
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 6 deletions.
17 changes: 12 additions & 5 deletions include/functions_user.inc.php
Expand Up @@ -459,12 +459,14 @@ function getuserdata($user_id, $use_cache)
$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);
}
}
Expand Down Expand Up @@ -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
Expand All @@ -702,17 +704,22 @@ function get_computed_categories($userdata, $filter_days=null)
}

$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))
{
$row['user_id'] = $userdata['id'];
$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);
}
Expand Down Expand Up @@ -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'].')';
Expand Down
47 changes: 47 additions & 0 deletions install/db/135-database.php
@@ -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";
?>
5 changes: 4 additions & 1 deletion install/piwigo_structure-mysql.sql
Expand Up @@ -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`)
Expand Down Expand Up @@ -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;

--
Expand Down

0 comments on commit 19d831b

Please sign in to comment.