diff options
author | plegall <plg@piwigo.org> | 2006-04-19 20:54:13 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2006-04-19 20:54:13 +0000 |
commit | 8789f41f8ccb31d0ec9f2c75996511e26abba8bc (patch) | |
tree | 2ca978b4642a0d8a9be3cf95d2c3cd4c93458278 /install/upgrade_1.3.0.php | |
parent | dab8075c964fb1ba0c8ffc0158c29446bca70142 (diff) |
bug fixed: during installation, upgrades from install/db with complex
identifier (X.x) were not correctly inserted.
bug fixed: available upgrades from install/db need to be inserted in
#upgrade table.
deletion: all upgrades from install/db coming from trunk are removed.
new: complete upgrade from any previous release from 1.3.0 to 1.5.2 with
automatic detection detection of the previous release.
git-svn-id: http://piwigo.org/svn/branches/branch-1_6@1209 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'install/upgrade_1.3.0.php')
-rw-r--r-- | install/upgrade_1.3.0.php | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/install/upgrade_1.3.0.php b/install/upgrade_1.3.0.php new file mode 100644 index 000000000..f5d650e6b --- /dev/null +++ b/install/upgrade_1.3.0.php @@ -0,0 +1,130 @@ +<?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-01-08 00:10:51 +0100 (sam, 08 jan 2005) $ +// | last modifier : $Author: plg $ +// | revision : $Revision: 675 $ +// +-----------------------------------------------------------------------+ +// | 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. | +// +-----------------------------------------------------------------------+ + + +/** + * Upgrade from 1.3.0 to 1.3.1 + */ + +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 phpwebgallery_categories + ADD COLUMN uppercats varchar(255) NOT NULL default '' +;", + + " +CREATE TABLE phpwebgallery_user_category ( + user_id smallint(5) unsigned NOT NULL default '0' +) +;", + + " +ALTER TABLE phpwebgallery_categories + ADD INDEX id (id) +;", + + " +ALTER TABLE phpwebgallery_categories + ADD INDEX id_uppercat (id_uppercat) +;", + + " +ALTER TABLE phpwebgallery_image_category + ADD INDEX category_id (category_id) +;", + + " +ALTER TABLE phpwebgallery_image_category + ADD INDEX image_id (image_id) +;", + ); + +foreach ($queries as $query) +{ + $query = str_replace('phpwebgallery_', PREFIX_TABLE, $query); + pwg_query($query); +} +// filling the new column categories.uppercats +$id_uppercats = array(); + +$query = ' +SELECT id, id_uppercat + FROM '.CATEGORIES_TABLE.' +;'; +$result = pwg_query($query); +while ($row = mysql_fetch_array($result)) +{ + if (!isset($row['id_uppercat']) or $row['id_uppercat'] == '') + { + $row['id_uppercat'] = 'NULL'; + } + $id_uppercats[$row['id']] = $row['id_uppercat']; +} + +$datas = array(); + +foreach (array_keys($id_uppercats) as $id) +{ + $data = array(); + $data['id'] = $id; + $uppercats = array(); + + array_push($uppercats, $id); + while (isset($id_uppercats[$id]) and $id_uppercats[$id] != 'NULL') + { + array_push($uppercats, $id_uppercats[$id]); + $id = $id_uppercats[$id]; + } + $data['uppercats'] = implode(',', array_reverse($uppercats)); + + array_push($datas, $data); +} + +mass_updates( + CATEGORIES_TABLE, + array( + 'primary' => array('id'), + 'update' => array('uppercats') + ), + $datas + ); + +// now we upgrade from 1.3.1 to 1.6.0 +include_once(PHPWG_ROOT_PATH.'install/upgrade_1.3.1.php'); +?>
\ No newline at end of file |