partial merge -r1173:1174 from branch-1_6 to trunk: new configuration
parameter die_on_sql_error (upgrade.php and install/upgrade_*.php not concerned on BSF) partial merge -r1208:1209 from branch-1_6 to trunk (only bug fix on incorrect insertion of complex upgrade identifiers) deletions: upgrade.php and all install/upgrade_*.php because these script are never up to date on BSF. Anyway, they are only required on a stable branch. git-svn-id: http://piwigo.org/svn/trunk@1221 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
c4b59049c2
commit
c64da384ea
7 changed files with 31 additions and 870 deletions
|
@ -333,6 +333,9 @@ $conf['show_gt'] = true;
|
|||
// accessed
|
||||
$conf['debug_l10n'] = false;
|
||||
|
||||
// die_on_sql_error: if an SQL query fails, should everything stop?
|
||||
$conf['die_on_sql_error'] = true;
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | authentication |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
|
@ -651,12 +651,22 @@ function get_thumbnail_src($path, $tn_ext = '', $with_rewrite = true)
|
|||
// error occured for the last mysql query.
|
||||
function my_error($header)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$error = '<pre>';
|
||||
$error.= $header;
|
||||
$error.= '[mysql error '.mysql_errno().'] ';
|
||||
$error.= mysql_error();
|
||||
$error.= '</pre>';
|
||||
die ($error);
|
||||
|
||||
if ($conf['die_on_sql_error'])
|
||||
{
|
||||
die($error);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
24
install.php
24
install.php
|
@ -166,6 +166,7 @@ include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
|
|||
@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
|
||||
include(PHPWG_ROOT_PATH . 'include/constants.php');
|
||||
include(PHPWG_ROOT_PATH . 'include/functions.inc.php');
|
||||
include(PHPWG_ROOT_PATH . 'admin/include/functions.php');
|
||||
include(PHPWG_ROOT_PATH . 'include/template.php');
|
||||
|
||||
if ( isset( $_POST['language'] ))
|
||||
|
@ -332,16 +333,25 @@ INSERT INTO '.USER_INFOS_TABLE.'
|
|||
// Available upgrades must be ignored after a fresh installation. To
|
||||
// make PWG avoid upgrading, we must tell it upgrades have already been
|
||||
// made.
|
||||
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
|
||||
define('CURRENT_DATE', $dbnow);
|
||||
$datas = array();
|
||||
foreach (get_available_upgrade_ids() as $upgrade_id)
|
||||
{
|
||||
$query = '
|
||||
INSERT INTO '.UPGRADE_TABLE.'
|
||||
(id, applied, description)
|
||||
VALUES
|
||||
('.$upgrade_id.', NOW(), \'upgrade included in installation\')
|
||||
';
|
||||
mysql_query($query);
|
||||
array_push(
|
||||
$datas,
|
||||
array(
|
||||
'id' => $upgrade_id,
|
||||
'applied' => CURRENT_DATE,
|
||||
'description' => 'upgrade included in installation',
|
||||
)
|
||||
);
|
||||
}
|
||||
mass_inserts(
|
||||
UPGRADE_TABLE,
|
||||
array_keys($datas[0]),
|
||||
$datas
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,302 +0,0 @@
|
|||
<?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$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | 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!');
|
||||
}
|
||||
}
|
||||
|
||||
$last_time = get_moment();
|
||||
|
||||
// will the user have to edit include/config_local.inc.php for
|
||||
// prefix_thumbnail configuration parameter
|
||||
$query = '
|
||||
SELECT value
|
||||
FROM '.CONFIG_TABLE.'
|
||||
WHERE param = \'prefix_thumbnail\'
|
||||
;';
|
||||
list($prefix_thumbnail) = mysql_fetch_array(pwg_query($query));
|
||||
|
||||
// delete obsolete configuration
|
||||
$query = '
|
||||
DELETE
|
||||
FROM '.PREFIX_TABLE.'config
|
||||
WHERE param IN (
|
||||
\'prefix_thumbnail\',
|
||||
\'mail_webmaster\',
|
||||
\'upload_maxfilesize\',
|
||||
\'upload_maxwidth\',
|
||||
\'upload_maxheight\',
|
||||
\'upload_maxwidth_thumbnail\',
|
||||
\'upload_maxheight_thumbnail\',
|
||||
\'mail_notification\',
|
||||
\'use_iptc\',
|
||||
\'use_exif\',
|
||||
\'show_iptc\',
|
||||
\'show_exif\',
|
||||
\'authorize_remembering\'
|
||||
)
|
||||
;';
|
||||
mysql_query($query);
|
||||
|
||||
$queries = array(
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_categories
|
||||
CHANGE COLUMN date_last date_last datetime default NULL
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD COLUMN validation_date datetime default NULL
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE phpwebgallery_comments
|
||||
SET validation_date = date
|
||||
",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD INDEX comments_i1 (image_id)
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD INDEX comments_i2 (validation_date)
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_favorites
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_images
|
||||
CHANGE COLUMN date_available
|
||||
date_available datetime NOT NULL default '0000-00-00 00:00:00'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_rate
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_sessions
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_user_access
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
DROP TABLE phpwebgallery_user_forbidden
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_user_group
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_users
|
||||
CHANGE COLUMN id id smallint(5) NOT NULL auto_increment
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_caddie (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
element_id mediumint(8) NOT NULL default '0',
|
||||
PRIMARY KEY (user_id,element_id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_cache (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
need_update enum('true','false') NOT NULL default 'true',
|
||||
forbidden_categories text,
|
||||
PRIMARY KEY (user_id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_feed (
|
||||
id varchar(50) binary NOT NULL default '',
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
last_check datetime default NULL,
|
||||
PRIMARY KEY (id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_infos (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
nb_image_line tinyint(1) unsigned NOT NULL default '5',
|
||||
nb_line_page tinyint(3) unsigned NOT NULL default '3',
|
||||
status enum('admin','guest') NOT NULL default 'guest',
|
||||
language varchar(50) NOT NULL default 'english',
|
||||
maxwidth smallint(6) default NULL,
|
||||
maxheight smallint(6) default NULL,
|
||||
expand enum('true','false') NOT NULL default 'false',
|
||||
show_nb_comments enum('true','false') NOT NULL default 'false',
|
||||
recent_period tinyint(3) unsigned NOT NULL default '7',
|
||||
template varchar(255) NOT NULL default 'yoga',
|
||||
registration_date datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
UNIQUE KEY user_infos_ui1 (user_id)
|
||||
) TYPE=MyISAM
|
||||
;"
|
||||
);
|
||||
|
||||
foreach ($queries as $query)
|
||||
{
|
||||
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
|
||||
pwg_query($query);
|
||||
}
|
||||
|
||||
$new_time = get_moment();
|
||||
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
|
||||
echo ' Basic database structure upgrade done</pre>';
|
||||
flush();
|
||||
$last_time = $new_time;
|
||||
|
||||
// user datas migration from phpwebgallery_users to phpwebgallery_user_infos
|
||||
$query = '
|
||||
SELECT *
|
||||
FROM '.USERS_TABLE.'
|
||||
;';
|
||||
|
||||
$datas = array();
|
||||
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
|
||||
|
||||
$result = pwg_query($query);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$row['user_id'] = $row['id'];
|
||||
$row['registration_date'] = $dbnow;
|
||||
array_push($datas, $row);
|
||||
}
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
mass_inserts(
|
||||
USER_INFOS_TABLE,
|
||||
array(
|
||||
'user_id',
|
||||
'nb_image_line',
|
||||
'nb_line_page',
|
||||
'status',
|
||||
'language',
|
||||
'maxwidth',
|
||||
'maxheight',
|
||||
'expand',
|
||||
'show_nb_comments',
|
||||
'recent_period',
|
||||
'template',
|
||||
'registration_date'
|
||||
),
|
||||
$datas
|
||||
);
|
||||
|
||||
$queries = array(
|
||||
|
||||
"
|
||||
UPDATE ".USER_INFOS_TABLE."
|
||||
SET template = 'yoga'
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".USER_INFOS_TABLE."
|
||||
SET language = 'en_UK.iso-8859-1'
|
||||
WHERE language NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".CONFIG_TABLE."
|
||||
SET value = 'en_UK.iso-8859-1'
|
||||
WHERE param = 'default_language'
|
||||
AND value NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".CONFIG_TABLE."
|
||||
SET value = 'yoga'
|
||||
WHERE param = 'default_template'
|
||||
;",
|
||||
|
||||
"
|
||||
INSERT INTO ".CONFIG_TABLE."
|
||||
(param,value,comment)
|
||||
VALUES
|
||||
(
|
||||
'gallery_title',
|
||||
'PhpWebGallery demonstration site',
|
||||
'Title at top of each page and for RSS feed'
|
||||
)
|
||||
;",
|
||||
|
||||
"
|
||||
INSERT INTO ".CONFIG_TABLE."
|
||||
(param,value,comment)
|
||||
VALUES
|
||||
(
|
||||
'gallery_description',
|
||||
'My photos web site',
|
||||
'Short description displayed with gallery title'
|
||||
)
|
||||
;"
|
||||
|
||||
);
|
||||
|
||||
foreach ($queries as $query)
|
||||
{
|
||||
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
|
||||
pwg_query($query);
|
||||
}
|
||||
|
||||
$infos = array();
|
||||
|
||||
if ($prefix_thumbnail != 'TN-')
|
||||
{
|
||||
array_push(
|
||||
$infos,
|
||||
'the thumbnail prefix configuration parameter was moved to configuration
|
||||
file, copy config_local.inc.php from "tools" directory to "include" directory
|
||||
and edit $conf[\'prefix_thumbnail\'] = '.$prefix_thumbnail
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,302 +0,0 @@
|
|||
<?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$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | 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!');
|
||||
}
|
||||
}
|
||||
|
||||
$last_time = get_moment();
|
||||
|
||||
// will the user have to edit include/config_local.inc.php for
|
||||
// prefix_thumbnail configuration parameter
|
||||
$query = '
|
||||
SELECT value
|
||||
FROM '.CONFIG_TABLE.'
|
||||
WHERE param = \'prefix_thumbnail\'
|
||||
;';
|
||||
list($prefix_thumbnail) = mysql_fetch_array(pwg_query($query));
|
||||
|
||||
// delete obsolete configuration
|
||||
$query = '
|
||||
DELETE
|
||||
FROM '.PREFIX_TABLE.'config
|
||||
WHERE param IN (
|
||||
\'prefix_thumbnail\',
|
||||
\'mail_webmaster\',
|
||||
\'upload_maxfilesize\',
|
||||
\'upload_maxwidth\',
|
||||
\'upload_maxheight\',
|
||||
\'upload_maxwidth_thumbnail\',
|
||||
\'upload_maxheight_thumbnail\',
|
||||
\'mail_notification\',
|
||||
\'use_iptc\',
|
||||
\'use_exif\',
|
||||
\'show_iptc\',
|
||||
\'show_exif\',
|
||||
\'authorize_remembering\'
|
||||
)
|
||||
;';
|
||||
mysql_query($query);
|
||||
|
||||
$queries = array(
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_categories
|
||||
CHANGE COLUMN date_last date_last datetime default NULL
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD COLUMN validation_date datetime default NULL
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE phpwebgallery_comments
|
||||
SET validation_date = date
|
||||
",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD INDEX comments_i1 (image_id)
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_comments
|
||||
ADD INDEX comments_i2 (validation_date)
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_favorites
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_images
|
||||
CHANGE COLUMN date_available
|
||||
date_available datetime NOT NULL default '0000-00-00 00:00:00'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_rate
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_sessions
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_user_access
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
DROP TABLE phpwebgallery_user_forbidden
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_user_group
|
||||
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
|
||||
;",
|
||||
|
||||
"
|
||||
ALTER TABLE phpwebgallery_users
|
||||
CHANGE COLUMN id id smallint(5) NOT NULL auto_increment
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_caddie (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
element_id mediumint(8) NOT NULL default '0',
|
||||
PRIMARY KEY (user_id,element_id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_cache (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
need_update enum('true','false') NOT NULL default 'true',
|
||||
forbidden_categories text,
|
||||
PRIMARY KEY (user_id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_feed (
|
||||
id varchar(50) binary NOT NULL default '',
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
last_check datetime default NULL,
|
||||
PRIMARY KEY (id)
|
||||
) TYPE=MyISAM
|
||||
;",
|
||||
|
||||
"
|
||||
CREATE TABLE phpwebgallery_user_infos (
|
||||
user_id smallint(5) NOT NULL default '0',
|
||||
nb_image_line tinyint(1) unsigned NOT NULL default '5',
|
||||
nb_line_page tinyint(3) unsigned NOT NULL default '3',
|
||||
status enum('admin','guest') NOT NULL default 'guest',
|
||||
language varchar(50) NOT NULL default 'english',
|
||||
maxwidth smallint(6) default NULL,
|
||||
maxheight smallint(6) default NULL,
|
||||
expand enum('true','false') NOT NULL default 'false',
|
||||
show_nb_comments enum('true','false') NOT NULL default 'false',
|
||||
recent_period tinyint(3) unsigned NOT NULL default '7',
|
||||
template varchar(255) NOT NULL default 'yoga',
|
||||
registration_date datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
UNIQUE KEY user_infos_ui1 (user_id)
|
||||
) TYPE=MyISAM
|
||||
;"
|
||||
);
|
||||
|
||||
foreach ($queries as $query)
|
||||
{
|
||||
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
|
||||
pwg_query($query);
|
||||
}
|
||||
|
||||
$new_time = get_moment();
|
||||
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
|
||||
echo ' Basic database structure upgrade done</pre>';
|
||||
flush();
|
||||
$last_time = $new_time;
|
||||
|
||||
// user datas migration from phpwebgallery_users to phpwebgallery_user_infos
|
||||
$query = '
|
||||
SELECT *
|
||||
FROM '.USERS_TABLE.'
|
||||
;';
|
||||
|
||||
$datas = array();
|
||||
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
|
||||
|
||||
$result = pwg_query($query);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$row['user_id'] = $row['id'];
|
||||
$row['registration_date'] = $dbnow;
|
||||
array_push($datas, $row);
|
||||
}
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
mass_inserts(
|
||||
USER_INFOS_TABLE,
|
||||
array(
|
||||
'user_id',
|
||||
'nb_image_line',
|
||||
'nb_line_page',
|
||||
'status',
|
||||
'language',
|
||||
'maxwidth',
|
||||
'maxheight',
|
||||
'expand',
|
||||
'show_nb_comments',
|
||||
'recent_period',
|
||||
'template',
|
||||
'registration_date'
|
||||
),
|
||||
$datas
|
||||
);
|
||||
|
||||
$queries = array(
|
||||
|
||||
"
|
||||
UPDATE ".USER_INFOS_TABLE."
|
||||
SET template = 'yoga'
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".USER_INFOS_TABLE."
|
||||
SET language = 'en_UK.iso-8859-1'
|
||||
WHERE language NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".CONFIG_TABLE."
|
||||
SET value = 'en_UK.iso-8859-1'
|
||||
WHERE param = 'default_language'
|
||||
AND value NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
|
||||
;",
|
||||
|
||||
"
|
||||
UPDATE ".CONFIG_TABLE."
|
||||
SET value = 'yoga'
|
||||
WHERE param = 'default_template'
|
||||
;",
|
||||
|
||||
"
|
||||
INSERT INTO ".CONFIG_TABLE."
|
||||
(param,value,comment)
|
||||
VALUES
|
||||
(
|
||||
'gallery_title',
|
||||
'PhpWebGallery demonstration site',
|
||||
'Title at top of each page and for RSS feed'
|
||||
)
|
||||
;",
|
||||
|
||||
"
|
||||
INSERT INTO ".CONFIG_TABLE."
|
||||
(param,value,comment)
|
||||
VALUES
|
||||
(
|
||||
'gallery_description',
|
||||
'My photos web site',
|
||||
'Short description displayed with gallery title'
|
||||
)
|
||||
;"
|
||||
|
||||
);
|
||||
|
||||
foreach ($queries as $query)
|
||||
{
|
||||
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
|
||||
pwg_query($query);
|
||||
}
|
||||
|
||||
$infos = array();
|
||||
|
||||
if ($prefix_thumbnail != 'TN-')
|
||||
{
|
||||
array_push(
|
||||
$infos,
|
||||
'the thumbnail prefix configuration parameter was moved to configuration
|
||||
file, copy config_local.inc.php from "tools" directory to "include" directory
|
||||
and edit $conf[\'prefix_thumbnail\'] = '.$prefix_thumbnail
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,45 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>PhpWebGallery : Upgrade to {RELEASE}</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- BEGIN choices -->
|
||||
<h1>Welcome to PhpWebGallery upgrade page.</h1>
|
||||
<p>This page proposes to upgrade your database corresponding to your old version
|
||||
of PhpWebGallery to the current version. Select the version you wish to upgrade
|
||||
:</p>
|
||||
|
||||
<ul>
|
||||
<!-- BEGIN choice -->
|
||||
<li><a href="{choices.choice.URL}">{choices.choice.VERSION}</a></li>
|
||||
<!-- END choice -->
|
||||
</ul>
|
||||
<!-- END choices -->
|
||||
|
||||
<!-- BEGIN upgrade -->
|
||||
<h1>Upgrade from version {upgrade.VERSION} to {RELEASE}</h1>
|
||||
|
||||
<p>Statistics</p>
|
||||
<ul>
|
||||
<li>total upgrade time : {upgrade.TOTAL_TIME}</li>
|
||||
<li>total SQL time : {upgrade.SQL_TIME}</li>
|
||||
<li>SQL queries : {upgrade.NB_QUERIES}</li>
|
||||
</ul>
|
||||
|
||||
<!-- BEGIN infos -->
|
||||
<p>Upgrade informations</p>
|
||||
|
||||
<ul>
|
||||
<!-- BEGIN info -->
|
||||
<li>{upgrade.infos.info.CONTENT}</li>
|
||||
<!-- END info -->
|
||||
</ul>
|
||||
<!-- END infos -->
|
||||
<!-- END upgrade -->
|
||||
</body>
|
||||
|
||||
</html>
|
213
upgrade.php
213
upgrade.php
|
@ -1,213 +0,0 @@
|
|||
<?php
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | 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. |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
define('PHPWG_ROOT_PATH', './');
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
include(PHPWG_ROOT_PATH.'include/template.php');
|
||||
|
||||
include(PHPWG_ROOT_PATH.'include/mysql.inc.php');
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Check Access and exit when it is not ok |
|
||||
// +-----------------------------------------------------------------------+
|
||||
check_upgrade();
|
||||
|
||||
// concerning upgrade, we use the default users table
|
||||
$conf['users_table'] = $prefixeTable.'users';
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'include/constants.php');
|
||||
define('PREFIX_TABLE', $prefixeTable);
|
||||
|
||||
$conf['show_queries'] = false;
|
||||
|
||||
// Database connection
|
||||
mysql_connect( $cfgHote, $cfgUser, $cfgPassword )
|
||||
or die ( "Could not connect to database server" );
|
||||
mysql_select_db( $cfgBase )
|
||||
or die ( "Could not connect to database" );
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | tricky output |
|
||||
// +-----------------------------------------------------------------------+
|
||||
echo '<!-- This is an HTML comment given in order to make IE outputs';
|
||||
echo ' the code.'."\n";
|
||||
echo ' Indeed, IE doesn\'t start to send output until a limit';
|
||||
echo ' of XXX bytes '."\n";
|
||||
echo str_repeat( ' ', 80 )."\n";
|
||||
echo str_repeat( ' ', 80 )."\n";
|
||||
echo str_repeat( ' ', 80 )."\n";
|
||||
echo '-->'."\n";
|
||||
flush();
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | functions |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
/**
|
||||
* loads an sql file and executes all queries
|
||||
*
|
||||
* Before executing a query, $replaced is... replaced by $replacing. This is
|
||||
* useful when the SQL file contains generic words. Drop table queries are
|
||||
* not executed.
|
||||
*
|
||||
* @param string filepath
|
||||
* @param string replaced
|
||||
* @param string replacing
|
||||
* @return void
|
||||
*/
|
||||
function execute_sqlfile($filepath, $replaced, $replacing)
|
||||
{
|
||||
$sql_lines = file($filepath);
|
||||
$query = '';
|
||||
foreach ($sql_lines as $sql_line)
|
||||
{
|
||||
$sql_line = trim($sql_line);
|
||||
if (preg_match('/(^--|^$)/', $sql_line))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$query.= ' '.$sql_line;
|
||||
// if we reached the end of query, we execute it and reinitialize the
|
||||
// variable "query"
|
||||
if (preg_match('/;$/', $sql_line))
|
||||
{
|
||||
$query = trim($query);
|
||||
$query = str_replace($replaced, $replacing, $query);
|
||||
// we don't execute "DROP TABLE" queries
|
||||
if (!preg_match('/^DROP TABLE/i', $query))
|
||||
{
|
||||
mysql_query($query);
|
||||
}
|
||||
$query = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | template initialization |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$template = new Template(PHPWG_ROOT_PATH.'template/yoga');
|
||||
$template->set_filenames(array('upgrade'=>'upgrade.tpl'));
|
||||
$template->assign_vars(array('RELEASE'=>PHPWG_VERSION));
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | versions upgradable |
|
||||
// +-----------------------------------------------------------------------+
|
||||
$versions = array();
|
||||
$path = PHPWG_ROOT_PATH.'install';
|
||||
if ($contents = opendir($path))
|
||||
{
|
||||
while (($node = readdir($contents)) !== false)
|
||||
{
|
||||
if (is_file($path.'/'.$node)
|
||||
and preg_match('/^upgrade_(.*?)\.php$/', $node, $match))
|
||||
{
|
||||
array_push($versions, $match[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
natcasesort($versions);
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | upgrade choice |
|
||||
// +-----------------------------------------------------------------------+
|
||||
if (!isset($_GET['version']))
|
||||
{
|
||||
$template->assign_block_vars('choices', array());
|
||||
foreach ($versions as $version)
|
||||
{
|
||||
$template->assign_block_vars(
|
||||
'choices.choice',
|
||||
array(
|
||||
'URL' => PHPWG_ROOT_PATH.'upgrade.php?version='.$version,
|
||||
'VERSION' => $version
|
||||
));
|
||||
}
|
||||
}
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | upgrade launch |
|
||||
// +-----------------------------------------------------------------------+
|
||||
else
|
||||
{
|
||||
$upgrade_file = $path.'/upgrade_'.$_GET['version'].'.php';
|
||||
if (is_file($upgrade_file))
|
||||
{
|
||||
$page['upgrade_start'] = get_moment();
|
||||
include($upgrade_file);
|
||||
$page['upgrade_end'] = get_moment();
|
||||
|
||||
$template->assign_block_vars(
|
||||
'upgrade',
|
||||
array(
|
||||
'VERSION' => $_GET['version'],
|
||||
'TOTAL_TIME' => get_elapsed_time($page['upgrade_start'],
|
||||
$page['upgrade_end']),
|
||||
'SQL_TIME' => number_format($page['queries_time'], 3, '.', ' ').' s',
|
||||
'NB_QUERIES' => $page['count_queries']
|
||||
));
|
||||
|
||||
if (!isset($infos))
|
||||
{
|
||||
$infos = array();
|
||||
}
|
||||
array_push(
|
||||
$infos,
|
||||
'[security] delete files "upgrade.php", "install.php" and "install"
|
||||
directory'
|
||||
);
|
||||
|
||||
array_push(
|
||||
$infos,
|
||||
'in include/mysql.inc.php, remove
|
||||
<pre style="background-color:lightgray">
|
||||
define(\'PHPWG_IN_UPGRADE\', true);
|
||||
</pre>'
|
||||
);
|
||||
|
||||
array_push(
|
||||
$infos,
|
||||
'Perform a maintenance check in [Administration>General>Maintenance]
|
||||
if you encounter any problem.'
|
||||
);
|
||||
|
||||
$template->assign_block_vars('upgrade.infos', array());
|
||||
|
||||
foreach ($infos as $info)
|
||||
{
|
||||
$template->assign_block_vars('upgrade.infos.info',
|
||||
array('CONTENT' => $info));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die('Hacking attempt');
|
||||
}
|
||||
}
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | sending html code |
|
||||
// +-----------------------------------------------------------------------+
|
||||
$template->pparse('upgrade');
|
||||
?>
|
Loading…
Add table
Reference in a new issue