1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/piwigo_ynh.git synced 2024-09-03 20:06:03 +02:00
piwigo_ynh/sources/install/upgrade_1.6.2.php
2016-09-05 13:40:09 +02:00

347 lines
9.4 KiB
PHP

<?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 ('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`)
) ENGINE=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`)
) ENGINE=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`)
) ENGINE=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`)
) ENGINE=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`)
) ENGINE=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`)
) ENGINE=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');
?>