mirror of
https://github.com/YunoHost-Apps/piwigo_ynh.git
synced 2024-09-03 20:06:03 +02:00
348 lines
9.4 KiB
PHP
348 lines
9.4 KiB
PHP
|
<?php
|
||
|
// +-----------------------------------------------------------------------+
|
||
|
// | Piwigo - a PHP based photo gallery |
|
||
|
// +-----------------------------------------------------------------------+
|
||
|
// | Copyright(C) 2008-2014 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(''', '\''),
|
||
|
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');
|
||
|
?>
|