fixes #478, add new column user_infos.last_visit

This will speed up user edit popin opening, by avoiding to search in history for the last user visit.

The column user_infos.last_visit_from_history true/false says if the last_visit has already been search in history (to avoid making it twice). I could have implemented the search of last_visit for all users in the migration task 149 but in case of many users and long history, it would have taken years to execute...
This commit is contained in:
plegall
2016-05-31 16:00:03 +02:00
parent bd0d2ae645
commit 4560e2d824
5 changed files with 119 additions and 31 deletions

View File

@@ -0,0 +1,40 @@
<?php
// +-----------------------------------------------------------------------+
// | Piwigo - a PHP based photo gallery |
// +-----------------------------------------------------------------------+
// | Copyright(C) 2008-2016 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 = 'add last_visit+last_visit_from_history in user_infos table';
// we use PREFIX_TABLE, in case Piwigo uses an external user table
pwg_query('
ALTER TABLE `'.PREFIX_TABLE.'user_infos`
ADD COLUMN `last_visit` datetime default NULL,
ADD COLUMN `last_visit_from_history` enum(\'true\',\'false\') NOT NULL default \'false\'
;');
echo "\n".$upgrade_description."\n";
?>

View File

@@ -460,6 +460,8 @@ CREATE TABLE `piwigo_user_infos` (
`level` tinyint unsigned NOT NULL default '0',
`activation_key` varchar(255) default NULL,
`activation_key_expire` datetime default NULL,
`last_visit` datetime default NULL,
`last_visit_from_history` enum('true','false') NOT NULL default 'false'
`lastmodified` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`user_id`),
KEY `lastmodified` (`lastmodified`)