aboutsummaryrefslogtreecommitdiffstats
path: root/install/upgrade_1.6.2.php
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2007-03-28 22:06:13 +0000
committerplegall <plg@piwigo.org>2007-03-28 22:06:13 +0000
commit0d5216267cc3c647596cf3ee7288e21b40fe6586 (patch)
tree092080e8c96ca91b305b74234558189d8471ed98 /install/upgrade_1.6.2.php
parent7c43a3c62d28162ee70e960f51e048727725cb31 (diff)
New: release upgrade scripts from 1.3.0 come back from branch 1.6. Only
install/upgrade_1.6.2.php is really new, upgrade 60 was taken into account. Detection of 1.6.0 or 1.6.2 data model in upgrade.php. Release upgrade scripts added on trunk to be kept in a safer place. git-svn-id: http://piwigo.org/svn/trunk@1927 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r--install/upgrade_1.6.2.php350
1 files changed, 350 insertions, 0 deletions
diff --git a/install/upgrade_1.6.2.php b/install/upgrade_1.6.2.php
new file mode 100644
index 000000000..44c479cfa
--- /dev/null
+++ b/install/upgrade_1.6.2.php
@@ -0,0 +1,350 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | branch : BSF (Best So Far)
+// | file : $RCSfile$
+// | last update : $Date: 2005-10-23 23:02:21 +0200 (dim, 23 oct 2005) $
+// | last modifier : $Author: plg $
+// | revision : $Revision: 911 $
+// +-----------------------------------------------------------------------+
+// | 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
+;",
+
+"
+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('&#039;', '\''),
+ array('&quot;', '"'),
+ array('&lt;', '<'),
+ array('&gt;', '>'),
+ array('&amp;', '&') // <- 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');
+?>