<?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 ('This page cannot be loaded directly, load upgrade.php'); } else { if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE) { die ('Hacking attempt!'); } } $queries = array( " ALTER TABLE `".PREFIX_TABLE."categories` ADD COLUMN `permalink` varchar(64) default NULL ;", " ALTER TABLE `".PREFIX_TABLE."categories` ADD COLUMN `image_order` varchar(128) default NULL ;", " ALTER TABLE `".PREFIX_TABLE."categories` ADD UNIQUE `categories_i3` (`permalink`) ;", " ALTER TABLE `".PREFIX_TABLE."groups` ADD COLUMN `is_default` enum('true','false') NOT NULL default 'false' ;", " RENAME TABLE `".PREFIX_TABLE."history` TO `".PREFIX_TABLE."history_backup` ;", " CREATE TABLE `".PREFIX_TABLE."history` ( `id` int(10) unsigned NOT NULL auto_increment, `date` date NOT NULL default '0000-00-00', `time` time NOT NULL default '00:00:00', `year` smallint(4) NOT NULL default '0', `month` tinyint(2) NOT NULL default '0', `day` tinyint(2) NOT NULL default '0', `hour` tinyint(2) NOT NULL default '0', `user_id` smallint(5) NOT NULL default '0', `IP` varchar(15) NOT NULL default '', `section` enum('categories','tags','search','list','favorites','most_visited','best_rated','recent_pics','recent_cats') default NULL, `category_id` smallint(5) default NULL, `tag_ids` varchar(50) default NULL, `image_id` mediumint(8) default NULL, `summarized` enum('true','false') default 'false', `image_type` enum('picture','high','other') default NULL, PRIMARY KEY (`id`), KEY `history_i1` (`summarized`) ) TYPE=MyISAM ;", " ALTER TABLE `".PREFIX_TABLE."image_category` DROP INDEX `image_category_i1` ;", " ALTER TABLE `".PREFIX_TABLE."image_category` ADD INDEX `image_category_i1` (`category_id`) ;", " ALTER TABLE `".PREFIX_TABLE."image_category` DROP INDEX `image_category_i2` ;", " ALTER TABLE `".PREFIX_TABLE."images` ADD COLUMN `high_filesize` mediumint(9) unsigned default NULL ;", " ALTER TABLE `".PREFIX_TABLE."user_infos` CHANGE COLUMN `language` `language` varchar(50) NOT NULL default 'en_UK.iso-8859-1' ;", " ALTER TABLE `".PREFIX_TABLE."user_infos` DROP COLUMN `auto_login_key` ;", " ALTER TABLE `".PREFIX_TABLE."user_infos` ADD COLUMN `show_nb_hits` enum('true','false') NOT NULL default 'false' ;", " ALTER TABLE `".PREFIX_TABLE."user_mail_notification` DROP INDEX `uidx_check_key` ;", " ALTER TABLE `".PREFIX_TABLE."user_mail_notification` ADD UNIQUE `user_mail_notification_ui1` (`check_key`) ;", " CREATE TABLE `".PREFIX_TABLE."history_summary` ( `id` varchar(13) NOT NULL default '', `year` smallint(4) NOT NULL default '0', `month` tinyint(2) default NULL, `day` tinyint(2) default NULL, `hour` tinyint(2) default NULL, `nb_pages` int(11) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM ;", " CREATE TABLE `".PREFIX_TABLE."old_permalinks` ( `cat_id` smallint(5) unsigned NOT NULL default '0', `permalink` varchar(64) NOT NULL default '', `date_deleted` datetime NOT NULL default '0000-00-00 00:00:00', `last_hit` datetime default NULL, `hit` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`permalink`) ) TYPE=MyISAM ;", " CREATE TABLE `".PREFIX_TABLE."plugins` ( `id` varchar(64) binary NOT NULL default '', `state` enum('inactive','active') NOT NULL default 'inactive', `version` varchar(64) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM ;", " CREATE TABLE `".PREFIX_TABLE."user_cache_categories` ( `user_id` smallint(5) NOT NULL default '0', `cat_id` smallint(5) unsigned NOT NULL default '0', `max_date_last` datetime default NULL, `count_images` mediumint(8) unsigned default '0', `count_categories` mediumint(8) unsigned default '0', PRIMARY KEY (`user_id`,`cat_id`) ) TYPE=MyISAM ;", /* TABLE DROPPED BEFORE Butterfly/Piwigo release - see later DROP IF EXISTS " CREATE TABLE `".PREFIX_TABLE."ws_access` ( `id` smallint(5) unsigned NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', `access` varchar(255) default NULL, `start` datetime default NULL, `end` datetime default NULL, `request` varchar(255) default NULL, `limit` smallint(5) unsigned default NULL, `comment` varchar(255) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `ws_access_ui1` (`name`) ) TYPE=MyISAM COMMENT='Access for Web Services' ;",*/ " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('show_nb_hits', 'false', 'Show hits count under thumbnails') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('history_admin','false','keep a history of administrator visits on your website') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('history_guest','true','keep a history of guest visits on your website') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('allow_user_registration','true','allow visitors to register?') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('secret_key', MD5(RAND()), 'a secret key specific to the gallery for internal use') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('nbm_send_html_mail','true','Send mail on HTML format for notification by mail') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('nbm_send_recent_post_dates','true','Send recent post by dates for notification by mail') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('email_admin_on_new_user','false','Send an email to theadministrators when a user registers') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('email_admin_on_comment','false','Send an email to the administrators when a valid comment is entered') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('email_admin_on_comment_validation','false','Send an email to the administrators when a comment requires validation') ;", " INSERT INTO ".PREFIX_TABLE."config (param,value,comment) VALUES ('email_admin_on_picture_uploaded','false','Send an email to the administrators when a picture is uploaded') ;", " UPDATE ".PREFIX_TABLE."user_cache SET need_update = 'true' ;", ); foreach ($queries as $query) { pwg_query($query); } $replacements = array( array(''', '\''), array('"', '"'), array('<', '<'), array('>', '>'), array('&', '&') // <- this must be the last one ); foreach ($replacements as $replacement) { $query = ' UPDATE '.PREFIX_TABLE.'comments SET content = REPLACE(content, "'. addslashes($replacement[0]). '", "'. addslashes($replacement[1]). '") ;'; pwg_query($query); } load_conf_from_db(); $query = " UPDATE ".USER_INFOS_TABLE." SET template = '".$conf['default_template']."', nb_image_line = ".$conf['nb_image_line'].", nb_line_page = ".$conf['nb_line_page'].", language = '".$conf['default_language']."', maxwidth = ". (empty($conf['default_maxwidth']) ? "NULL" : $conf['default_maxwidth']). ", maxheight = ". (empty($conf['default_maxheight']) ? "NULL" : $conf['default_maxheight']). ", recent_period = ".$conf['recent_period'].", expand = '".boolean_to_string($conf['auto_expand'])."', show_nb_comments = '".boolean_to_string($conf['show_nb_comments'])."', show_nb_hits = '".boolean_to_string($conf['show_nb_hits'])."', enabled_high = '".boolean_to_string( (isset($conf['newuser_default_enabled_high']) ? $conf['newuser_default_enabled_high'] : true) ). "' WHERE user_id = ".$conf['default_user_id'].";"; pwg_query($query); $query = " DELETE FROM ".CONFIG_TABLE." WHERE param IN ( 'default_template', 'nb_image_line', 'nb_line_page', 'default_language', 'default_maxwidth', 'default_maxheight', 'recent_period', 'auto_expand', 'show_nb_comments', 'show_nb_hits' ) ;"; pwg_query($query); // now we upgrade from 1.7.0 include_once(PHPWG_ROOT_PATH.'install/upgrade_1.7.0.php'); ?>