aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/README_en.txt4
-rw-r--r--doc/README_fr.txt7
-rw-r--r--install.php23
-rw-r--r--install/db/1-database.php46
-rw-r--r--install/db/10-database.php56
-rw-r--r--install/db/11-database.php69
-rw-r--r--install/db/12-database.php103
-rw-r--r--install/db/13-database.php73
-rw-r--r--install/db/14-database.php63
-rw-r--r--install/db/15-database.php50
-rw-r--r--install/db/16-database.php54
-rw-r--r--install/db/17-database.php64
-rw-r--r--install/db/18-database.php92
-rw-r--r--install/db/19-database.php153
-rw-r--r--install/db/2-database.php78
-rw-r--r--install/db/21-database.php52
-rw-r--r--install/db/22-database.php58
-rw-r--r--install/db/3-database.php57
-rw-r--r--install/db/4-database.php54
-rw-r--r--install/db/5-database.php50
-rw-r--r--install/db/6-database.php58
-rw-r--r--install/db/7-database.php70
-rw-r--r--install/db/8-database.php88
-rw-r--r--install/db/9-database.php90
-rw-r--r--install/upgrade_1.3.0.php (renamed from install/db/20-database.php)129
-rw-r--r--install/upgrade_1.3.1.php606
-rw-r--r--install/upgrade_1.4.0.php12
-rw-r--r--install/upgrade_1.4.1.php302
-rw-r--r--install/upgrade_1.5.0.php169
-rw-r--r--upgrade.php194
30 files changed, 923 insertions, 2001 deletions
diff --git a/doc/README_en.txt b/doc/README_en.txt
index 88766f79c..3a0086c3f 100644
--- a/doc/README_en.txt
+++ b/doc/README_en.txt
@@ -23,14 +23,14 @@ Upgrade
1. elements to save :
- file "include/mysql.inc.php"
+ - file "include/config_local.inc.php" if you have one
- directory "galleries"
- your database (create a dump, using PhpMyAdmin for instance)
2. delete all files and directories of your previous installation (but not
the previous listed elements)
-3. extract files from the downloaded file (using tar or unzip command, or
- softwares like 7-zip or winzip)
+3. extract files from the downloaded file
4. upload all the new version files to your website but the previous listed
elements. The only elements coming from the previous installed version
diff --git a/doc/README_fr.txt b/doc/README_fr.txt
index 4f49f29e9..98fdbfffe 100644
--- a/doc/README_fr.txt
+++ b/doc/README_fr.txt
@@ -7,8 +7,7 @@ http://phpwebgallery.net
Installation
============
-1. décompresser à l'aide de winzip par exemple (winrar, winace et beaucoup
- d'autres le permettent également) le fichier téléchargé.
+1. décompresser l'archive téléchargée
2. placer les fichiers décompressés sur votre serveur web dans le répertoire
de votre choix ("galerie" par exemple)
@@ -22,14 +21,14 @@ Mise à jour
1. éléments à sauvegarder :
- fichier "include/mysql.inc.php"
+ - fichier "include/config_local.inc.php" s'il existe
- répertoire "galleries"
- votre base de données (en créant un dump, avec PhpMyAdmin par exemple)
2. supprimer tous les fichiers et répertoires de la précédente installation
(sauf les éléments listés ci-dessus)
-3. décompresser à l'aide de winzip par exemple (winrar, winace et beaucoup
- d'autres le permettent également) le fichier téléchargé.
+3. décompresser l'archive contenant la dernière version
4. placer tous les fichiers de la nouvelle version sur votre site web sauf
pour les élements listés ci-dessus. Les seuls éléments venant de la
diff --git a/install.php b/install.php
index 8fe5b03ae..d8f147cf1 100644
--- a/install.php
+++ b/install.php
@@ -332,16 +332,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
+ );
}
}
diff --git a/install/db/1-database.php b/install/db/1-database.php
deleted file mode 100644
index 5bbb59d44..000000000
--- a/install/db/1-database.php
+++ /dev/null
@@ -1,46 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Just a beginning test';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-list($now) = mysql_fetch_row(pwg_query('SELECT NOW()'));
-echo
-$now
-."\n"
-.'This upgrade script is for test purpose only'
-."\n"
-;
-?>
diff --git a/install/db/10-database.php b/install/db/10-database.php
deleted file mode 100644
index 24a7f655e..000000000
--- a/install/db/10-database.php
+++ /dev/null
@@ -1,56 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'New table #categories_link';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-$query = "
-CREATE TABLE phpwebgallery_categories_link (
- source smallint(5) unsigned NOT NULL default '0',
- destination smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (source,destination)
-) TYPE=MyISAM;";
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'categories_link created'
-."\n"
-;
-?>
diff --git a/install/db/11-database.php b/install/db/11-database.php
deleted file mode 100644
index bb2ea8421..000000000
--- a/install/db/11-database.php
+++ /dev/null
@@ -1,69 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description =
- 'Table #categories_link created once again with correct prefix';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-if (PREFIX_TABLE == 'phpwebgallery_')
-{
- echo
- "\n"
- .'Table '.PREFIX_TABLE.'categories_link was already correctly created'
- ."\n"
- ;
-}
-else
-{
- $query = '
-DROP TABLE phpwebgallery_categories_link;
-;';
- pwg_query($query);
-
- $query = "
-CREATE TABLE ".PREFIX_TABLE."categories_link (
- source smallint(5) unsigned NOT NULL default '0',
- destination smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (source,destination)
-) TYPE=MyISAM;";
- pwg_query($query);
-
- echo
- "\n"
- .'Table '.PREFIX_TABLE.'categories_link created'
- ."\n"
- ;
-}
-?>
diff --git a/install/db/12-database.php b/install/db/12-database.php
deleted file mode 100644
index 3e6ed0200..000000000
--- a/install/db/12-database.php
+++ /dev/null
@@ -1,103 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Field "Status" Table #user_infos changed';
-
-include_once(PHPWG_ROOT_PATH.'include/constants.php');
-include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
-@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-echo "Alter table ".USER_INFOS_TABLE;
-$query = "
-alter table ".USER_INFOS_TABLE."
- modify column `status` enum('webmaster', 'admin', 'normal', 'generic', 'guest') NOT NULL default 'guest'
-;";
-pwg_query($query);
-
-echo "Define webmaster";
-$query = '
-update
- '.USER_INFOS_TABLE.'
-set status = \'webmaster\'
-where
- user_id = '.$conf['webmaster_id'].' and status = \'admin\'
-;';
-$result = pwg_query($query);
-
-echo "Define normal";
-$query = '
-select
- user_id
-from
- '.USER_INFOS_TABLE.'
-where
- user_id != '.$conf['guest_id'].' and status = \'guest\'
-;';
-$result = pwg_query($query);
-
-$datas = array();
-
-while ($row = mysql_fetch_array($result))
-{
- array_push(
- $datas,
- array(
- 'user_id' => $row['user_id'],
- 'status' => 'normal'
- )
- );
-}
-
-mass_updates(
- USER_INFOS_TABLE,
- array(
- 'primary' => array('user_id'),
- 'update' => array('status')
- ),
- $datas
- );
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Column '.USER_INFOS_TABLE.'.status changed'
-."\n"
-;
-
-?>
diff --git a/install/db/13-database.php b/install/db/13-database.php
deleted file mode 100644
index ac35cc40c..000000000
--- a/install/db/13-database.php
+++ /dev/null
@@ -1,73 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = '#config (gallery_description out page_banner in)';
-
-$query = "
-ALTER TABLE ".PREFIX_TABLE."config MODIFY COLUMN `value` TEXT;";
-pwg_query($query);
-
-
-$query = '
-SELECT value
- FROM '.PREFIX_TABLE.'config
- WHERE param=\'gallery_title\'
-;';
-list($t) = array_from_query($query, 'value');
-
-$query = '
-SELECT value
- FROM '.PREFIX_TABLE.'config
- WHERE param=\'gallery_description\'
-;';
-list($d) = array_from_query($query, 'value');
-
-$page_banner='<div id="theHeader"><h1>'.$t.'</h1><p>'.$d.'</p></div>';
-$page_banner=addslashes($page_banner);
-$query = '
-INSERT INTO '.PREFIX_TABLE.'config (param,value,comment) VALUES (' .
-"'page_banner','$page_banner','html displayed on the top each page of your gallery');";
-pwg_query($query);
-
-$query = '
-DELETE FROM '.PREFIX_TABLE.'config
- WHERE param=\'gallery_description\'
-;';
-pwg_query($query);
-
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'config updated'
-."\n"
-;
-?>
diff --git a/install/db/14-database.php b/install/db/14-database.php
deleted file mode 100644
index e9f50174a..000000000
--- a/install/db/14-database.php
+++ /dev/null
@@ -1,63 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Update database to new pwg_high structure';
-
-include_once(PHPWG_ROOT_PATH.'include/constants.php');
-include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
-@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-echo "Alter table ".USER_INFOS_TABLE. ' add field enabled_high';
-$query = "
-alter table ".USER_INFOS_TABLE."
- add column `enabled_high` enum('true','false') NOT NULL default 'true'
-;";
-pwg_query($query);
-
-echo "Update ".USER_INFOS_TABLE.".enabled_high with default value";
-$query = "
-update ".USER_INFOS_TABLE." set enabled_high = '".$conf['newuser_default_enabled_high']."'
-where enabled_high <> '".$conf['newuser_default_enabled_high']."'
-;";
-pwg_query($query);
-
-echo
-"\n"
-.'"'.$upgrade_description.'"'.' ended'
-."\n"
-;
-
-?>
diff --git a/install/db/15-database.php b/install/db/15-database.php
deleted file mode 100644
index b5ff23a7c..000000000
--- a/install/db/15-database.php
+++ /dev/null
@@ -1,50 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = '#user_cache, add column nb_total_pictures (feature 262)';
-
-$query = "
-ALTER TABLE ".PREFIX_TABLE."user_cache ADD COLUMN `nb_total_images` MEDIUMINT(8) UNSIGNED;";
-pwg_query($query);
-
-$query = "
-UPDATE ".PREFIX_TABLE."user_cache SET need_update='true'";
-pwg_query($query);
-
-
-echo
-"\n"
-.'"'.$upgrade_description.'"'.' ended'
-."\n"
-;
-
-?>
diff --git a/install/db/16-database.php b/install/db/16-database.php
deleted file mode 100644
index 4187b2cc4..000000000
--- a/install/db/16-database.php
+++ /dev/null
@@ -1,54 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Update database from adviser functionnality';
-
-include_once(PHPWG_ROOT_PATH.'include/constants.php');
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-echo "Alter table ".USER_INFOS_TABLE. ' add field adviser';
-$query = "
-alter table ".USER_INFOS_TABLE."
- add column `adviser` enum('true','false') NOT NULL default 'false' after `status`
-;";
-pwg_query($query);
-
-echo
-"\n"
-.'"'.$upgrade_description.'"'.' ended'
-."\n"
-;
-
-?>
diff --git a/install/db/17-database.php b/install/db/17-database.php
deleted file mode 100644
index 820ca6194..000000000
--- a/install/db/17-database.php
+++ /dev/null
@@ -1,64 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Add notification by mail param';
-
-include_once(PHPWG_ROOT_PATH.'include/constants.php');
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-echo "Add param on ".CONFIG_TABLE;
-$query = "
-INSERT INTO ".CONFIG_TABLE." (param,value,comment) VALUES ('nbm_send_mail_as','','Send mail as param value for notification by mail');
-";
-pwg_query($query);
-
-
-$query = "
-INSERT INTO ".CONFIG_TABLE." (param,value,comment) VALUES ('nbm_send_detailed_content','true','Send detailed content for notification by mail');
-";
-pwg_query($query);
-
-$query = "
-INSERT INTO ".CONFIG_TABLE." (param,value,comment) VALUES ('nbm_complementary_mail_content','','Complementary mail content for notification by mail');
-";
-pwg_query($query);
-
-echo
-"\n"
-.'"'.$upgrade_description.'"'.' ended'
-."\n"
-;
-
-?>
diff --git a/install/db/18-database.php b/install/db/18-database.php
deleted file mode 100644
index 13fb615bf..000000000
--- a/install/db/18-database.php
+++ /dev/null
@@ -1,92 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Reduce length of #_user_mail_notification.check_key';
-
-include_once(PHPWG_ROOT_PATH.'include/constants.php');
-
-include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
-include_once(PHPWG_ROOT_PATH.'admin/include/functions_notification_by_mail.inc.php');
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-echo "Compute new check_key";
-$query = '
-select
- user_id
-from
- '.USER_MAIL_NOTIFICATION_TABLE.'
-;';
-$result = pwg_query($query);
-
-$datas = array();
-
-while ($row = mysql_fetch_array($result))
-{
- array_push(
- $datas,
- array(
- 'user_id' => $row['user_id'],
- 'check_key' => find_available_check_key()
- )
- );
-}
-
-mass_updates(
- USER_MAIL_NOTIFICATION_TABLE,
- array(
- 'primary' => array('user_id'),
- 'update' => array('check_key')
- ),
- $datas
- );
-
-echo "Alter table ".USER_MAIL_NOTIFICATION_TABLE;
-$query = "
-alter table ".USER_MAIL_NOTIFICATION_TABLE."
- modify column `check_key` varchar(16) binary NOT NULL default ''
-;";
-pwg_query($query);
-
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Column '.USER_MAIL_NOTIFICATION_TABLE.'.check_key changed'
-."\n"
-;
-
-?>
diff --git a/install/db/19-database.php b/install/db/19-database.php
deleted file mode 100644
index d1fdb4a74..000000000
--- a/install/db/19-database.php
+++ /dev/null
@@ -1,153 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = '#images.keywords moved to new table #tags';
-
-// +-----------------------------------------------------------------------+
-// | New tables |
-// +-----------------------------------------------------------------------+
-
-$query = '
-CREATE TABLE '.PREFIX_TABLE.'tags (
- id smallint(5) UNSIGNED NOT NULL auto_increment,
- name varchar(255) BINARY NOT NULL,
- url_name varchar(255) BINARY NOT NULL,
- PRIMARY KEY (id)
-) TYPE=MyISAM
-;';
-pwg_query($query);
-
-$query = '
-CREATE TABLE '.PREFIX_TABLE.'image_tag (
- image_id mediumint(8) UNSIGNED NOT NULL,
- tag_id smallint(5) UNSIGNED NOT NULL,
- PRIMARY KEY (image_id,tag_id)
-) TYPE=MyISAM
-;';
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | Move keywords to tags |
-// +-----------------------------------------------------------------------+
-
-// each tag label is associated to a numeric identifier
-$tag_id = array();
-// to each tag id (key) a list of image ids (value) is associated
-$tag_images = array();
-
-$current_id = 1;
-
-$query = '
-SELECT id, keywords
- FROM '.PREFIX_TABLE.'images
- WHERE keywords IS NOT NULL
-;';
-$result = pwg_query($query);
-while ($row = mysql_fetch_array($result))
-{
- foreach(preg_split('/[,]+/', $row['keywords']) as $keyword)
- {
- if (!isset($tag_id[$keyword]))
- {
- $tag_id[$keyword] = $current_id++;
- }
-
- if (!isset($tag_images[ $tag_id[$keyword] ]))
- {
- $tag_images[ $tag_id[$keyword] ] = array();
- }
-
- array_push($tag_images[ $tag_id[$keyword] ], $row['id']);
- }
-}
-
-$datas = array();
-foreach ($tag_id as $tag_name => $tag_id)
-{
- array_push(
- $datas,
- array(
- 'id' => $tag_id,
- 'name' => $tag_name,
- 'url_name' => str2url($tag_name),
- )
- );
-}
-if (!empty($datas))
-mass_inserts(
- PREFIX_TABLE.'tags',
- array_keys($datas[0]),
- $datas
- );
-
-$datas = array();
-foreach ($tag_images as $tag_id => $images)
-{
- foreach (array_unique($images) as $image_id)
- {
- array_push(
- $datas,
- array(
- 'tag_id' => $tag_id,
- 'image_id' => $image_id,
- )
- );
- }
-}
-
-if (!empty($datas))
-mass_inserts(
- PREFIX_TABLE.'image_tag',
- array_keys($datas[0]),
- $datas
- );
-
-// +-----------------------------------------------------------------------+
-// | Delete images.keywords |
-// +-----------------------------------------------------------------------+
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'images DROP COLUMN keywords
-;';
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'tags created and filled'."\n"
-.'Table '.PREFIX_TABLE.'image_tag created and filled'."\n"
-.'Column '.PREFIX_TABLE.'images.keywords dropped'."\n"
-;
-?>
diff --git a/install/db/2-database.php b/install/db/2-database.php
deleted file mode 100644
index 9a249703a..000000000
--- a/install/db/2-database.php
+++ /dev/null
@@ -1,78 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Update template preference for every user';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-// configuration update
-$query = '
-UPDATE '.PREFIX_TABLE.'config
- SET value = \'yoga/clear\'
- WHERE param = \'default_template\'
-;';
-pwg_query($query);
-
-// set yoga/clear as default value for user_infos.template column
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'user_infos
- CHANGE COLUMN template template varchar(255) NOT NULL default \'yoga/clear\'
-;';
-pwg_query($query);
-
-// users having yoga-dark for template now have yoga/dark
-$query = '
-UPDATE '.PREFIX_TABLE.'user_infos
- SET template = \'yoga/dark\'
- WHERE template = \'yoga-dark\'
-;';
-pwg_query($query);
-
-// all other users have yoga/clear
-$query = '
-UPDATE '.PREFIX_TABLE.'user_infos
- SET template = \'yoga/clear\'
- WHERE template != \'yoga/dark\'
-;';
-pwg_query($query);
-
-echo
-"\n"
-.'Default template modified to yoga/clear'
-."\n"
-.'Template preference modified for every users : yoga/dark'
-.' (for yoga-dark users) and yoga/clear as default'
-."\n"
-;
-?>
diff --git a/install/db/21-database.php b/install/db/21-database.php
deleted file mode 100644
index cfd08c692..000000000
--- a/install/db/21-database.php
+++ /dev/null
@@ -1,52 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'drop table #categories_link';
-
-// +-----------------------------------------------------------------------+
-// | New column |
-// +-----------------------------------------------------------------------+
-
-$query = '
-DROP TABLE '.PREFIX_TABLE.'categories_link
-;';
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'categories_link dropped'."\n"
-;
-?>
diff --git a/install/db/22-database.php b/install/db/22-database.php
deleted file mode 100644
index fcead3cf2..000000000
--- a/install/db/22-database.php
+++ /dev/null
@@ -1,58 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'add index on #tags.url_name and #image_tag.tag_id ';
-
-
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'tags ADD INDEX `tags_i1`(`url_name`);
-;';
-pwg_query($query);
-
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'image_tag ADD INDEX `image_tag_i1`(`tag_id`);
-;';
-pwg_query($query);
-
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Tables '.PREFIX_TABLE.'tags and '.PREFIX_TABLE.'image_tag updated'."\n"
-;
-echo $upgrade_description;
-?>
diff --git a/install/db/3-database.php b/install/db/3-database.php
deleted file mode 100644
index abcaa79aa..000000000
--- a/install/db/3-database.php
+++ /dev/null
@@ -1,57 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Update session table for new session system';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-// delete content of old session table
-$query = '
-DELETE FROM '.PREFIX_TABLE.'sessions
-;';
-pwg_query($query);
-
-// column user_id becomes data of type text
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'sessions
- CHANGE COLUMN user_id data text NOT NULL
-;';
-pwg_query($query);
-
-echo
-"\n"
-.'Column modified in sessions table'
-."\n"
-;
-?>
diff --git a/install/db/4-database.php b/install/db/4-database.php
deleted file mode 100644
index c74486a46..000000000
--- a/install/db/4-database.php
+++ /dev/null
@@ -1,54 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Table #search is required for search engine redesign';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-// column user_id becomes data of type text
-$query = '
-CREATE TABLE '.PREFIX_TABLE.'search (
- id int UNSIGNED NOT NULL AUTO_INCREMENT,
- last_seen date DEFAULT NULL,
- rules text,
- PRIMARY KEY (id)
-);';
-pwg_query($query);
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'search created'
-."\n"
-;
-?>
diff --git a/install/db/5-database.php b/install/db/5-database.php
deleted file mode 100644
index 0dc2006d0..000000000
--- a/install/db/5-database.php
+++ /dev/null
@@ -1,50 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Update images table with has_high column';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-// column user_id becomes data of type text
-$query = "
-ALTER TABLE ".PREFIX_TABLE."images ADD COLUMN has_high ENUM('true') DEFAULT NULL AFTER average_rate;
-";
-pwg_query($query);
-
-echo
-"\n"
-.'Column has_high '.PREFIX_TABLE.'images added'
-."\n"
-;
-?>
diff --git a/install/db/6-database.php b/install/db/6-database.php
deleted file mode 100644
index 08bcf6aea..000000000
--- a/install/db/6-database.php
+++ /dev/null
@@ -1,58 +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 |
-// | Copyright (C) 2006 Ruben ARNAUD - team@phpwebgallery.net |
-// +-----------------------------------------------------------------------+
-// | branch : BSF (Best So Far)
-// | file : $RCSfile$
-// | last update : $Date: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Table #user_mail_notification is required for NBM';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-// Creating table user_mail_notification
-$query = '
-CREATE TABLE '.PREFIX_TABLE.'user_mail_notification
-(
- user_id smallint(5) NOT NULL default \'0\',
- check_key varchar(128) binary NOT NULL,
- enabled enum(\'true\',\'false\') NOT NULL default \'false\',
- last_send datetime default NULL,
- PRIMARY KEY (`user_id`),
- UNIQUE KEY `uidx_check_key` (`check_key`)
-) TYPE=MyISAM;';
-pwg_query($query);
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'user_mail_notification created'
-."\n"
-;
-?>
diff --git a/install/db/7-database.php b/install/db/7-database.php
deleted file mode 100644
index 5ad118506..000000000
--- a/install/db/7-database.php
+++ /dev/null
@@ -1,70 +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 |
-// | Copyright (C) 2006 Ruben ARNAUD - team@phpwebgallery.net |
-// +-----------------------------------------------------------------------+
-// | branch : BSF (Best So Far)
-// | file : $RCSfile$
-// | last update : $Date: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Anonymous rating';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'rate DROP PRIMARY KEY;'
-;
-pwg_query($query);
-
-$query ='
-ALTER TABLE '.PREFIX_TABLE.'rate ADD COLUMN anonymous_id VARCHAR(45) NOT NULL DEFAULT \'\' AFTER element_id;'
-;
-pwg_query($query);
-
-$query ='
-ALTER TABLE '.PREFIX_TABLE.'rate ADD COLUMN date DATE NOT NULL AFTER rate;'
-;
-pwg_query($query);
-
-$query ='
-UPDATE '.PREFIX_TABLE.'rate SET date=NOW() WHERE date<"1990-01-01";'
-;
-pwg_query($query);
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'rate ADD PRIMARY KEY (element_id, user_id, anonymous_id);'
-;
-pwg_query($query);
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'rate upgraded'
-."\n"
-;
-?>
diff --git a/install/db/8-database.php b/install/db/8-database.php
deleted file mode 100644
index ecbc8bf5e..000000000
--- a/install/db/8-database.php
+++ /dev/null
@@ -1,88 +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 |
-// | Copyright (C) 2006 Ruben ARNAUD - team@phpwebgallery.net |
-// +-----------------------------------------------------------------------+
-// | branch : BSF (Best So Far)
-// | file : $RCSfile$
-// | last update : $Date: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description = 'Move rate, rate_anonymous and gallery_url from config file to database';
-
-$params = array(
- 'gallery_url' => array('http://demo.phpwebgallery.net','URL given in RSS feed'),
- 'rate' => array('true','Rating pictures feature is enabled') ,
- 'rate_anonymous' => array('true','Rating pictures feature is also enabled for visitors')
- );
-
-
-
-// +-Get real values from config file--------------------------------------+
-
-$conf_save = $conf;
-unset($conf);
-@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
-if ( isset($conf['gallery_url']) )
-{
- $params['gallery_url'][0] = $conf['gallery_url'];
-}
-if ( isset($conf['rate']) and is_bool($conf['rate']) )
-{
- $params['rate'][0] = $conf['rate'] ? 'true' : 'false';
-}
-if ( isset($conf['rate_anonymous']) and is_bool($conf['rate_anonymous']) )
-{
- $params['rate_anonymous'][0] = $conf['rate_anonymous'] ? 'true' : 'false';
-}
-$conf = $conf_save;
-
-
-
-// +-Do I already have them in DB ?----------------------------------------+
-$query = 'SELECT param FROM '.PREFIX_TABLE.'config';
-$result = pwg_query($query);
-while ($row = mysql_fetch_array($result))
-{
- unset( $params[ $row['param'] ] );
-}
-
-// +-Perform the insert query----------------------------------------------+
-foreach ($params as $param_key => $param_values)
-{
- $query = '
-INSERT INTO '.PREFIX_TABLE.'config (param,value,comment) VALUES (' .
-"'$param_key','$param_values[0]','$param_values[1]');";
- pwg_query($query);
-}
-
-
-echo
-"\n"
-.'Table '.PREFIX_TABLE.'config upgraded'
-."\n"
-;
-?>
diff --git a/install/db/9-database.php b/install/db/9-database.php
deleted file mode 100644
index 3abf384a3..000000000
--- a/install/db/9-database.php
+++ /dev/null
@@ -1,90 +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: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
-// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
-// +-----------------------------------------------------------------------+
-// | 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('Hacking attempt!');
-}
-
-$upgrade_description =
- 'Column #image_category.is_storage replaces #images.storage_category_id';
-
-// +-----------------------------------------------------------------------+
-// | Upgrade content |
-// +-----------------------------------------------------------------------+
-
-$query = "
-ALTER TABLE ".PREFIX_TABLE."image_category
- ADD COLUMN is_storage ENUM('true','false') DEFAULT 'false'
-;";
-pwg_query($query);
-
-$query = '
-SELECT id, storage_category_id
- FROM '.PREFIX_TABLE.'images
-;';
-$result = pwg_query($query);
-
-$datas = array();
-
-while ($row = mysql_fetch_array($result))
-{
- array_push(
- $datas,
- array(
- 'image_id' => $row['id'],
- 'category_id' => $row['storage_category_id'],
- 'is_storage' => 'true',
- )
- );
-}
-
-mass_updates(
- PREFIX_TABLE.'image_category',
- array(
- 'primary' => array('image_id', 'category_id'),
- 'update' => array('is_storage')
- ),
- $datas
- );
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'images
- DROP COLUMN storage_category_id
-;';
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Column '.PREFIX_TABLE.'image_category.is_storage created and filled'
-."\n"
-;
-?>
diff --git a/install/db/20-database.php b/install/upgrade_1.3.0.php
index 5dba69168..f5d650e6b 100644
--- a/install/db/20-database.php
+++ b/install/upgrade_1.3.0.php
@@ -6,9 +6,9 @@
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
-// | last update : $Date: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
+// | last update : $Date: 2005-01-08 00:10:51 +0100 (sam, 08 jan 2005) $
// | last modifier : $Author: plg $
-// | revision : $Revision: 870 $
+// | 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 |
@@ -25,67 +25,106 @@
// | USA. |
// +-----------------------------------------------------------------------+
+
+/**
+ * Upgrade from 1.3.0 to 1.3.1
+ */
+
if (!defined('PHPWG_ROOT_PATH'))
{
- die('Hacking attempt!');
+ die ('This page cannot be loaded directly, load upgrade.php');
+}
+else
+{
+ if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE)
+ {
+ die ('Hacking attempt!');
+ }
}
-$upgrade_description =
- '#image_category.is_storage replaced by #image.storage_category_id';
+$queries = array(
+ "
+ALTER TABLE phpwebgallery_categories
+ ADD COLUMN uppercats varchar(255) NOT NULL default ''
+;",
-// +-----------------------------------------------------------------------+
-// | New column |
-// +-----------------------------------------------------------------------+
+ "
+CREATE TABLE phpwebgallery_user_category (
+ user_id smallint(5) unsigned NOT NULL default '0'
+)
+;",
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'images
- ADD storage_category_id smallint(5) unsigned default NULL
-;';
-pwg_query($query);
+ "
+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 category_id, image_id
- FROM '.PREFIX_TABLE.'image_category
- WHERE is_storage = \'true\'
+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();
-while ($row = mysql_fetch_array($result))
+
+foreach (array_keys($id_uppercats) as $id)
{
- array_push(
- $datas,
- array(
- 'id' => $row['image_id'],
- 'storage_category_id' => $row['category_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(
- PREFIX_TABLE.'images',
+ CATEGORIES_TABLE,
array(
'primary' => array('id'),
- 'update' => array('storage_category_id'),
+ 'update' => array('uppercats')
),
$datas
);
-// +-----------------------------------------------------------------------+
-// | Delete obsolete column |
-// +-----------------------------------------------------------------------+
-
-$query = '
-ALTER TABLE '.PREFIX_TABLE.'image_category DROP COLUMN is_storage
-;';
-pwg_query($query);
-
-// +-----------------------------------------------------------------------+
-// | End notification |
-// +-----------------------------------------------------------------------+
-
-echo
-"\n"
-.'Column '.PREFIX_TABLE.'image_category'
-.' replaced by '.PREFIX_TABLE.'images.storage_category_id'."\n"
-;
-?>
+// 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
diff --git a/install/upgrade_1.3.1.php b/install/upgrade_1.3.1.php
new file mode 100644
index 000000000..3e1e42c14
--- /dev/null
+++ b/install/upgrade_1.3.1.php
@@ -0,0 +1,606 @@
+<?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.x (x >= 1) to 1.4.0
+ */
+
+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!');
+ }
+}
+
+// save data before deletion
+$query = '
+SELECT prefix_thumbnail, mail_webmaster
+ FROM '.PREFIX_TABLE.'config
+;';
+$save = mysql_fetch_array(mysql_query($query));
+
+$queries = array(
+ "
+DROP TABLE phpwebgallery_config
+;",
+
+ "
+CREATE TABLE phpwebgallery_config (
+ param varchar(40) NOT NULL default '',
+ value varchar(255) default NULL,
+ comment varchar(255) default NULL,
+ PRIMARY KEY (param)
+) TYPE=MyISAM COMMENT='configuration table'
+;",
+
+ "
+ALTER TABLE phpwebgallery_categories
+ CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1'
+;",
+
+ "
+ALTER TABLE phpwebgallery_categories
+ ADD COLUMN commentable enum('true','false') NOT NULL default 'true'
+;",
+
+ "
+ALTER TABLE phpwebgallery_categories
+ ADD COLUMN global_rank varchar(255) default NULL
+;",
+
+ "
+ALTER TABLE phpwebgallery_categories
+ ADD INDEX categories_i2 (id_uppercat)
+;",
+
+ "
+ALTER TABLE phpwebgallery_comments
+ ADD COLUMN date_temp int(11) unsigned
+;",
+
+ "
+UPDATE phpwebgallery_comments
+ SET date_temp = date
+;",
+
+ "
+ALTER TABLE phpwebgallery_comments
+ CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
+;",
+
+ "
+UPDATE phpwebgallery_comments
+ SET date = FROM_UNIXTIME(date_temp)
+;",
+
+ "
+ALTER TABLE phpwebgallery_comments
+ DROP COLUMN date_temp
+;",
+
+ "
+ALTER TABLE phpwebgallery_favorites
+ DROP INDEX user_id
+;",
+
+ "
+ALTER TABLE phpwebgallery_favorites
+ ADD PRIMARY KEY (user_id,image_id)
+;",
+
+ "
+ALTER TABLE phpwebgallery_history
+ ADD COLUMN date_temp int(11) unsigned
+;",
+
+ "
+UPDATE phpwebgallery_history
+ SET date_temp = date
+;",
+
+ "
+ALTER TABLE phpwebgallery_history
+ CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
+;",
+
+ "
+UPDATE phpwebgallery_history
+ SET date = FROM_UNIXTIME(date_temp)
+;",
+
+ "
+ALTER TABLE phpwebgallery_history
+ DROP COLUMN date_temp
+;",
+
+ "
+ALTER TABLE phpwebgallery_history
+ ADD INDEX history_i1 (date)
+;",
+
+ "
+ALTER TABLE phpwebgallery_image_category
+ ADD INDEX image_category_i1 (image_id),
+ ADD INDEX image_category_i2 (category_id)
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ CHANGE COLUMN tn_ext tn_ext varchar(4) default ''
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD COLUMN path varchar(255) NOT NULL default ''
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD COLUMN date_metadata_update date default NULL
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD COLUMN average_rate float(5,2) unsigned default NULL
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD COLUMN representative_ext varchar(4) default NULL
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ DROP INDEX storage_category_id
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD INDEX images_i1 (storage_category_id)
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD INDEX images_i2 (date_available)
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD INDEX images_i3 (average_rate)
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD INDEX images_i4 (hit)
+;",
+
+ "
+ALTER TABLE phpwebgallery_images
+ ADD INDEX images_i5 (date_creation)
+;",
+
+ "
+ALTER TABLE phpwebgallery_sessions
+ DROP COLUMN ip
+;",
+
+ "
+ALTER TABLE phpwebgallery_sessions
+ ADD COLUMN expiration_temp int(11) unsigned
+;",
+
+ "
+UPDATE phpwebgallery_sessions
+ SET expiration_temp = expiration
+;",
+
+ "
+ALTER TABLE phpwebgallery_sessions
+ CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
+;",
+
+ "
+UPDATE phpwebgallery_sessions
+ SET expiration = FROM_UNIXTIME(expiration_temp)
+;",
+
+ "
+ALTER TABLE phpwebgallery_sessions
+ DROP COLUMN expiration_temp
+;",
+
+ "
+ALTER TABLE phpwebgallery_sites
+ DROP INDEX galleries_url
+;",
+
+ "
+ALTER TABLE phpwebgallery_sites
+ ADD UNIQUE sites_ui1 (galleries_url)
+;",
+
+ "
+DROP TABLE phpwebgallery_user_category
+;",
+
+ "
+ALTER TABLE phpwebgallery_users
+ DROP COLUMN long_period
+;",
+
+ "
+ALTER TABLE phpwebgallery_users
+ DROP COLUMN short_period
+;",
+
+ "
+ALTER TABLE phpwebgallery_users
+ ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7'
+;",
+
+ "
+ALTER TABLE phpwebgallery_users
+ DROP INDEX username
+;",
+
+ "
+ALTER TABLE phpwebgallery_users
+ ADD UNIQUE users_ui1 (username)
+;",
+
+ "
+CREATE TABLE phpwebgallery_rate (
+ user_id smallint(5) unsigned NOT NULL default '0',
+ element_id mediumint(8) unsigned NOT NULL default '0',
+ rate tinyint(2) unsigned NOT NULL default '0',
+ PRIMARY KEY (user_id,element_id)
+) TYPE=MyISAM
+;",
+
+ "
+CREATE TABLE phpwebgallery_user_forbidden (
+ user_id smallint(5) unsigned NOT NULL default '0',
+ need_update enum('true','false') NOT NULL default 'true',
+ forbidden_categories text,
+ PRIMARY KEY (user_id)
+) TYPE=MyISAM
+;",
+
+ "
+UPDATE phpwebgallery_users
+ SET language = 'en_UK.iso-8859-1'
+ , template = 'default'
+;",
+
+ "
+DELETE FROM phpwebgallery_user_access
+;",
+
+ "
+DELETE FROM phpwebgallery_group_access
+;"
+
+ );
+
+foreach ($queries as $query)
+{
+ $query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
+ pwg_query($query);
+}
+
+//
+// check indexes
+//
+$indexes_of = array(
+ 'categories' => array(
+ 'categories_i2' => array(
+ 'columns' => array('id_uppercat'),
+ 'unique' => false,
+ )
+ ),
+ 'image_category' => array(
+ 'image_category_i1' => array(
+ 'columns' => array('image_id'),
+ 'unique' => false,
+ ),
+ 'image_category_i2' => array(
+ 'columns' => array('category_id'),
+ 'unique' => false,
+ ),
+ ),
+ );
+
+foreach (array_keys($indexes_of) as $table)
+{
+ $existing_indexes = array();
+
+ $query = '
+SHOW INDEX
+ FROM '.PREFIX_TABLE.$table.'
+;';
+ $result = pwg_query($query);
+ while ($row = mysql_fetch_array($result))
+ {
+ if ($row['Key_name'] != 'PRIMARY')
+ {
+ if (!in_array($row['Key_name'], array_keys($indexes_of[$table])))
+ {
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.$table.'
+ DROP INDEX '.$row['Key_name'].'
+;';
+ pwg_query($query);
+ }
+ else
+ {
+ array_push($existing_indexes, $row['Key_name']);
+ }
+ }
+ }
+
+ foreach ($indexes_of[$table] as $index_name => $index)
+ {
+ if (!in_array($index_name, $existing_indexes))
+ {
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.$table.'
+ ADD '.($index['unique'] ? 'UNIQUE' : 'INDEX').' '
+ .$index_name.' ('.implode(',', $index['columns']).')
+;';
+ pwg_query($query);
+ }
+ }
+}
+
+//
+// insert params in new configuration table
+//
+$params = array(
+ array(
+ 'param' => 'prefix_thumbnail',
+ 'value' => $save['prefix_thumbnail'],
+ 'comment' => 'thumbnails filename prefix'
+ ),
+ array(
+ 'param' => 'mail_webmaster',
+ 'value' => $save['mail_webmaster'],
+ 'comment' => 'webmaster mail'
+ ),
+ array(
+ 'param' => 'default_language',
+ 'value' => 'en_UK.iso-8859-1',
+ 'comment' => 'Default gallery language'
+ ),
+ array(
+ 'param' => 'default_template',
+ 'value' => 'default',
+ 'comment' => 'Default gallery style'
+ ),
+ array(
+ 'param' => 'default_maxwidth',
+ 'value' => '',
+ 'comment' => 'maximum width authorized for displaying images'
+ ),
+ array(
+ 'param' => 'default_maxheight',
+ 'value' => '',
+ 'comment' => 'maximum height authorized for the displaying images'
+ ),
+ array(
+ 'param' => 'nb_comment_page',
+ 'value' => '10',
+ 'comment' => 'number of comments to display on each page'
+ ),
+ array(
+ 'param' => 'upload_maxfilesize',
+ 'value' => '150',
+ 'comment' => 'maximum filesize for the uploaded pictures'
+ ),
+ array(
+ 'param' => 'upload_maxwidth',
+ 'value' => '800',
+ 'comment' => 'maximum width authorized for the uploaded images'
+ ),
+ array(
+ 'param' => 'upload_maxheight',
+ 'value' => '600',
+ 'comment' => 'maximum height authorized for the uploaded images'
+ ),
+ array(
+ 'param' => 'upload_maxwidth_thumbnail',
+ 'value' => '150',
+ 'comment' => 'maximum width authorized for the uploaded thumbnails'
+ ),
+ array(
+ 'param' => 'upload_maxheight_thumbnail',
+ 'value' => '100',
+ 'comment' => 'maximum height authorized for the uploaded thumbnails'
+ ),
+ array(
+ 'param' => 'log',
+ 'value' => 'false',
+ 'comment' => 'keep an history of visits on your website'
+ ),
+ array(
+ 'param' => 'comments_validation',
+ 'value' => 'false',
+ 'comment' => 'administrators validate users comments before becoming visible'
+ ),
+ array(
+ 'param' => 'comments_forall',
+ 'value' => 'false',
+ 'comment' => 'even guest not registered can post comments'
+ ),
+ array(
+ 'param' => 'mail_notification',
+ 'value' => 'false',
+ 'comment' => 'automated mail notification for adminsitrators'
+ ),
+ array(
+ 'param' => 'nb_image_line',
+ 'value' => '5',
+ 'comment' => 'Number of images displayed per row'
+ ),
+ array(
+ 'param' => 'nb_line_page',
+ 'value' => '3',
+ 'comment' => 'Number of rows displayed per page'
+ ),
+ array(
+ 'param' => 'recent_period',
+ 'value' => '7',
+ 'comment' => 'Period within which pictures are displayed as new (in days)'
+ ),
+ array(
+ 'param' => 'auto_expand',
+ 'value' => 'false',
+ 'comment' => 'Auto expand of the category tree'
+ ),
+ array(
+ 'param' => 'show_nb_comments',
+ 'value' => 'false',
+ 'comment' => 'Show the number of comments under the thumbnails'
+ ),
+ array(
+ 'param' => 'use_iptc',
+ 'value' => 'false',
+ 'comment' => 'Use IPTC data during database synchronization with files metadata'
+ ),
+ array(
+ 'param' => 'use_exif',
+ 'value' => 'false',
+ 'comment' => 'Use EXIF data during database synchronization with files metadata'
+ ),
+ array(
+ 'param' => 'show_iptc',
+ 'value' => 'false',
+ 'comment' => 'Show IPTC metadata on picture.php if asked by user'
+ ),
+ array(
+ 'param' => 'show_exif',
+ 'value' => 'true',
+ 'comment' => 'Show EXIF metadata on picture.php if asked by user'
+ ),
+ array(
+ 'param' => 'authorize_remembering',
+ 'value' => 'true',
+ 'comment' => 'Authorize users to be remembered, see $conf{remember_me_length}'
+ ),
+ array(
+ 'param' => 'gallery_locked',
+ 'value' => 'false',
+ 'comment' => 'Lock your gallery temporary for non admin users'
+ ),
+ );
+
+mass_inserts(
+ CONFIG_TABLE,
+ array_keys($params[0]),
+ $params
+ );
+
+// refresh calculated datas
+ordering();
+update_global_rank();
+update_category();
+
+// update calculated field "images.path"
+$cat_ids = array();
+
+$query = '
+SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
+ FROM '.IMAGES_TABLE.'
+;';
+$result = pwg_query($query);
+while ($row = mysql_fetch_array($result))
+{
+ array_push($cat_ids, $row['unique_storage_category_id']);
+}
+$fulldirs = get_fulldirs($cat_ids);
+
+foreach ($cat_ids as $cat_id)
+{
+ $query = '
+UPDATE '.IMAGES_TABLE.'
+ SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
+ WHERE storage_category_id = '.$cat_id.'
+;';
+ pwg_query($query);
+}
+
+// all sub-categories of private categories become private
+$cat_ids = array();
+
+$query = '
+SELECT id
+ FROM '.CATEGORIES_TABLE.'
+ WHERE status = \'private\'
+;';
+$result = pwg_query($query);
+while ($row = mysql_fetch_array($result))
+{
+ array_push($cat_ids, $row['id']);
+}
+
+if (count($cat_ids) > 0)
+{
+ $privates = get_subcat_ids($cat_ids);
+
+ $query = '
+UPDATE '.CATEGORIES_TABLE.'
+ SET status = \'private\'
+ WHERE id IN ('.implode(',', $privates).')
+;';
+ pwg_query($query);
+}
+
+$page['infos'] = array_merge(
+ $page['infos'],
+ array(
+ 'all sub-categories of private categories become private',
+
+ 'user permissions and group permissions have been erased',
+
+ 'only thumbnails prefix and webmaster mail address have been saved from
+previous configuration',
+
+ 'in include/mysql.inc.php, before
+<pre style="background-color:lightgray">?&gt;</pre>
+insert
+<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
+ )
+ );
+
+
+// now we upgrade from 1.4.0
+include_once(PHPWG_ROOT_PATH.'install/upgrade_1.4.0.php');
+?> \ No newline at end of file
diff --git a/install/upgrade_1.4.0.php b/install/upgrade_1.4.0.php
index a5f8f38c6..fef961254 100644
--- a/install/upgrade_1.4.0.php
+++ b/install/upgrade_1.4.0.php
@@ -188,12 +188,6 @@ foreach ($queries as $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 *
@@ -287,16 +281,16 @@ foreach ($queries as $query)
pwg_query($query);
}
-$infos = array();
-
if ($prefix_thumbnail != 'TN-')
{
array_push(
- $infos,
+ $page['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
);
}
+// now we upgrade from 1.5.0 to 1.6.0
+include_once(PHPWG_ROOT_PATH.'install/upgrade_1.5.0.php');
?> \ No newline at end of file
diff --git a/install/upgrade_1.4.1.php b/install/upgrade_1.4.1.php
deleted file mode 100644
index a5f8f38c6..000000000
--- a/install/upgrade_1.4.1.php
+++ /dev/null
@@ -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
- );
-}
-
-?> \ No newline at end of file
diff --git a/install/upgrade_1.5.0.php b/install/upgrade_1.5.0.php
index b386c14a4..711625183 100644
--- a/install/upgrade_1.5.0.php
+++ b/install/upgrade_1.5.0.php
@@ -37,6 +37,146 @@ else
}
}
+/**
+ * replace old style #images.keywords by #tags. Requires a big data
+ * migration.
+ *
+ * @return void
+ */
+function tag_replace_keywords()
+{
+ // code taken from upgrades 19 and 22
+
+ $query = '
+CREATE TABLE '.PREFIX_TABLE.'tags (
+ id smallint(5) UNSIGNED NOT NULL auto_increment,
+ name varchar(255) BINARY NOT NULL,
+ url_name varchar(255) BINARY NOT NULL,
+ PRIMARY KEY (id)
+)
+;';
+ pwg_query($query);
+
+ $query = '
+CREATE TABLE '.PREFIX_TABLE.'image_tag (
+ image_id mediumint(8) UNSIGNED NOT NULL,
+ tag_id smallint(5) UNSIGNED NOT NULL,
+ PRIMARY KEY (image_id,tag_id)
+)
+;';
+ pwg_query($query);
+
+ //
+ // Move keywords to tags
+ //
+
+ // each tag label is associated to a numeric identifier
+ $tag_id = array();
+ // to each tag id (key) a list of image ids (value) is associated
+ $tag_images = array();
+
+ $current_id = 1;
+
+ $query = '
+SELECT id, keywords
+ FROM '.PREFIX_TABLE.'images
+ WHERE keywords IS NOT NULL
+;';
+ $result = pwg_query($query);
+ while ($row = mysql_fetch_array($result))
+ {
+ foreach(preg_split('/[,]+/', $row['keywords']) as $keyword)
+ {
+ if (!isset($tag_id[$keyword]))
+ {
+ $tag_id[$keyword] = $current_id++;
+ }
+
+ if (!isset($tag_images[ $tag_id[$keyword] ]))
+ {
+ $tag_images[ $tag_id[$keyword] ] = array();
+ }
+
+ array_push(
+ $tag_images[ $tag_id[$keyword] ],
+ $row['id']
+ );
+ }
+ }
+
+ $datas = array();
+ foreach ($tag_id as $tag_name => $tag_id)
+ {
+ array_push(
+ $datas,
+ array(
+ 'id' => $tag_id,
+ 'name' => $tag_name,
+ 'url_name' => str2url($tag_name),
+ )
+ );
+ }
+
+ if (!empty($datas))
+ {
+ mass_inserts(
+ PREFIX_TABLE.'tags',
+ array_keys($datas[0]),
+ $datas
+ );
+ }
+
+ $datas = array();
+ foreach ($tag_images as $tag_id => $images)
+ {
+ foreach (array_unique($images) as $image_id)
+ {
+ array_push(
+ $datas,
+ array(
+ 'tag_id' => $tag_id,
+ 'image_id' => $image_id,
+ )
+ );
+ }
+ }
+
+ if (!empty($datas))
+ {
+ mass_inserts(
+ PREFIX_TABLE.'image_tag',
+ array_keys($datas[0]),
+ $datas
+ );
+ }
+
+ //
+ // Delete images.keywords
+ //
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.'images DROP COLUMN keywords
+;';
+ pwg_query($query);
+
+ //
+ // Add useful indexes
+ //
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.'tags
+ ADD INDEX tags_i1(url_name)
+;';
+ pwg_query($query);
+
+
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.'image_tag
+ ADD INDEX image_tag_i1(tag_id)
+;';
+ pwg_query($query);
+
+ // print_time('tags have replaced keywords');
+}
+
tag_replace_keywords();
$queries = array(
@@ -297,4 +437,33 @@ INSERT INTO ".CONFIG_TABLE."
";
pwg_query($query);
+// depending on the way the 1.5.0 was installed (from scratch or by upgrade)
+// the database structure has small differences that should be corrected.
+
+$query = '
+ALTER TABLE '.PREFIX_TABLE.'users
+ CHANGE COLUMN password password varchar(32) default NULL
+;';
+pwg_query($query);
+
+$to_keep = array('id', 'username', 'password', 'mail_address');
+
+$query = '
+DESC '.PREFIX_TABLE.'users
+;';
+
+$result = pwg_query($query);
+
+while ($row = mysql_fetch_array($result))
+{
+ if (!in_array($row['Field'], $to_keep))
+ {
+ $query = '
+ALTER TABLE '.PREFIX_TABLE.'users
+ DROP COLUMN '.$row['Field'].'
+;';
+ pwg_query($query);
+ }
+}
+
?> \ No newline at end of file
diff --git a/upgrade.php b/upgrade.php
index 1f460ddbb..ae553dc3e 100644
--- a/upgrade.php
+++ b/upgrade.php
@@ -131,146 +131,6 @@ function print_time($message)
$last_time = $new_time;
}
-/**
- * replace old style #images.keywords by #tags. Requires a big data
- * migration.
- *
- * @return void
- */
-function tag_replace_keywords()
-{
- // code taken from upgrades 19 and 22
-
- $query = '
-CREATE TABLE '.PREFIX_TABLE.'tags (
- id smallint(5) UNSIGNED NOT NULL auto_increment,
- name varchar(255) BINARY NOT NULL,
- url_name varchar(255) BINARY NOT NULL,
- PRIMARY KEY (id)
-)
-;';
- pwg_query($query);
-
- $query = '
-CREATE TABLE '.PREFIX_TABLE.'image_tag (
- image_id mediumint(8) UNSIGNED NOT NULL,
- tag_id smallint(5) UNSIGNED NOT NULL,
- PRIMARY KEY (image_id,tag_id)
-)
-;';
- pwg_query($query);
-
- //
- // Move keywords to tags
- //
-
- // each tag label is associated to a numeric identifier
- $tag_id = array();
- // to each tag id (key) a list of image ids (value) is associated
- $tag_images = array();
-
- $current_id = 1;
-
- $query = '
-SELECT id, keywords
- FROM '.PREFIX_TABLE.'images
- WHERE keywords IS NOT NULL
-;';
- $result = pwg_query($query);
- while ($row = mysql_fetch_array($result))
- {
- foreach(preg_split('/[,]+/', $row['keywords']) as $keyword)
- {
- if (!isset($tag_id[$keyword]))
- {
- $tag_id[$keyword] = $current_id++;
- }
-
- if (!isset($tag_images[ $tag_id[$keyword] ]))
- {
- $tag_images[ $tag_id[$keyword] ] = array();
- }
-
- array_push(
- $tag_images[ $tag_id[$keyword] ],
- $row['id']
- );
- }
- }
-
- $datas = array();
- foreach ($tag_id as $tag_name => $tag_id)
- {
- array_push(
- $datas,
- array(
- 'id' => $tag_id,
- 'name' => $tag_name,
- 'url_name' => str2url($tag_name),
- )
- );
- }
-
- if (!empty($datas))
- {
- mass_inserts(
- PREFIX_TABLE.'tags',
- array_keys($datas[0]),
- $datas
- );
- }
-
- $datas = array();
- foreach ($tag_images as $tag_id => $images)
- {
- foreach (array_unique($images) as $image_id)
- {
- array_push(
- $datas,
- array(
- 'tag_id' => $tag_id,
- 'image_id' => $image_id,
- )
- );
- }
- }
-
- if (!empty($datas))
- {
- mass_inserts(
- PREFIX_TABLE.'image_tag',
- array_keys($datas[0]),
- $datas
- );
- }
-
- //
- // Delete images.keywords
- //
- $query = '
-ALTER TABLE '.PREFIX_TABLE.'images DROP COLUMN keywords
-;';
- pwg_query($query);
-
- //
- // Add useful indexes
- //
- $query = '
-ALTER TABLE '.PREFIX_TABLE.'tags
- ADD INDEX tags_i1(url_name)
-;';
- pwg_query($query);
-
-
- $query = '
-ALTER TABLE '.PREFIX_TABLE.'image_tag
- ADD INDEX image_tag_i1(tag_id)
-;';
- pwg_query($query);
-
- print_time('tags have replaced keywords');
-}
-
// +-----------------------------------------------------------------------+
// | playing zone |
// +-----------------------------------------------------------------------+
@@ -278,6 +138,11 @@ ALTER TABLE '.PREFIX_TABLE.'image_tag
// echo implode('<br>', get_tables());
// echo '<pre>'; print_r(get_columns_of(get_tables())); echo '</pre>';
+// foreach (get_available_upgrade_ids() as $upgrade_id)
+// {
+// echo $upgrade_id, '<br>';
+// }
+
// +-----------------------------------------------------------------------+
// | template initialization |
// +-----------------------------------------------------------------------+
@@ -340,9 +205,34 @@ else
$upgrade_file = PHPWG_ROOT_PATH.'install/upgrade_'.$_GET['version'].'.php';
if (is_file($upgrade_file))
{
+ $page['infos'] = array();
$page['upgrade_start'] = get_moment();
$conf['die_on_sql_error'] = false;
include($upgrade_file);
+
+ // 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)
+ {
+ array_push(
+ $datas,
+ array(
+ 'id' => $upgrade_id,
+ 'applied' => CURRENT_DATE,
+ 'description' => 'upgrade included in upgrade',
+ )
+ );
+ }
+ mass_inserts(
+ UPGRADE_TABLE,
+ array_keys($datas[0]),
+ $datas
+ );
+
$page['upgrade_end'] = get_moment();
$template->assign_block_vars(
@@ -363,18 +253,14 @@ else
)
);
- if (!isset($infos))
- {
- $infos = array();
- }
array_push(
- $infos,
+ $page['infos'],
'[security] delete files "upgrade.php", "install.php" and "install"
directory'
);
array_push(
- $infos,
+ $page['infos'],
'in include/mysql.inc.php, remove
<pre style="background-color:lightgray">
define(\'PHPWG_IN_UPGRADE\', true);
@@ -382,14 +268,14 @@ define(\'PHPWG_IN_UPGRADE\', true);
);
array_push(
- $infos,
+ $page['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)
+ foreach ($page['infos'] as $info)
{
$template->assign_block_vars(
'upgrade.infos.info',
@@ -398,6 +284,12 @@ if you encounter any problem.'
)
);
}
+
+ $query = '
+UPDATE '.USER_CACHE_TABLE.'
+ SET need_update = \'true\'
+;';
+ pwg_query($query);
}
else
{
@@ -405,12 +297,6 @@ if you encounter any problem.'
}
}
-$query = '
-UPDATE '.USER_CACHE_TABLE.'
- SET need_update = \'true\'
-;';
-pwg_query($query);
-
// +-----------------------------------------------------------------------+
// | sending html code |
// +-----------------------------------------------------------------------+