aboutsummaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2006-03-04 23:31:46 +0000
committerplegall <plg@piwigo.org>2006-03-04 23:31:46 +0000
commitc08fa6f67ef5b149fdeb3bcc57045e629df8fff4 (patch)
tree8a0eeb15f6a4989b6691584c9cf5123361be4f1c /install
parentc4874071babe878fcdcda10da1cc34ba5ded6aae (diff)
new feature: source/destination links between categories. Will we keep this
feature? Code is complicated and very few people will understand how it works... modification: #images.storage_category_id replaced by #image_category.is_storage improvement: many code refactoring to improve readibility improvement: virtual category creation code was moved to a dedicated function in order to be called from admin/cat_list.php and admin/cat_modify.php (create a new destination category) git-svn-id: http://piwigo.org/svn/trunk@1064 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'install')
-rw-r--r--install/db/10-database.php56
-rw-r--r--install/db/9-database.php90
-rw-r--r--install/phpwebgallery_structure.sql46
3 files changed, 175 insertions, 17 deletions
diff --git a/install/db/10-database.php b/install/db/10-database.php
new file mode 100644
index 000000000..24a7f655e
--- /dev/null
+++ b/install/db/10-database.php
@@ -0,0 +1,56 @@
+<?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/9-database.php b/install/db/9-database.php
new file mode 100644
index 000000000..3abf384a3
--- /dev/null
+++ b/install/db/9-database.php
@@ -0,0 +1,90 @@
+<?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/phpwebgallery_structure.sql b/install/phpwebgallery_structure.sql
index cc8608afe..208f195dd 100644
--- a/install/phpwebgallery_structure.sql
+++ b/install/phpwebgallery_structure.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.9
+-- MySQL dump 9.11
--
--- Host: localhost Database: pwg_dev_bsf
+-- Host: localhost Database: pwg-bsf
-- ------------------------------------------------------
--- Server version 4.1.15-nt
+-- Server version 4.0.24_Debian-10-log
--
-- Table structure for table `phpwebgallery_caddie`
@@ -42,6 +42,17 @@ CREATE TABLE `phpwebgallery_categories` (
) TYPE=MyISAM;
--
+-- Table structure for table `phpwebgallery_categories_link`
+--
+
+DROP TABLE IF EXISTS `phpwebgallery_categories_link`;
+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;
+
+--
-- Table structure for table `phpwebgallery_comments`
--
@@ -127,6 +138,7 @@ DROP TABLE IF EXISTS `phpwebgallery_image_category`;
CREATE TABLE `phpwebgallery_image_category` (
`image_id` mediumint(8) unsigned NOT NULL default '0',
`category_id` smallint(5) unsigned NOT NULL default '0',
+ `is_storage` enum('true','false') default 'false',
PRIMARY KEY (`image_id`,`category_id`),
KEY `image_category_i1` (`image_id`),
KEY `image_category_i2` (`category_id`)
@@ -295,6 +307,20 @@ CREATE TABLE `phpwebgallery_user_infos` (
) TYPE=MyISAM;
--
+-- Table structure for table `phpwebgallery_user_mail_notification`
+--
+
+DROP TABLE IF EXISTS `phpwebgallery_user_mail_notification`;
+CREATE TABLE `phpwebgallery_user_mail_notification` (
+ `user_id` smallint(5) NOT NULL default '0',
+ `check_key` varchar(128) binary NOT NULL default '',
+ `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;
+
+--
-- Table structure for table `phpwebgallery_users`
--
@@ -326,17 +352,3 @@ CREATE TABLE `phpwebgallery_waiting` (
PRIMARY KEY (`id`)
) TYPE=MyISAM;
---
--- Table structure for table `phpwebgallery_user_mail_notification`
---
-
-DROP TABLE IF EXISTS `phpwebgallery_user_mail_notification`;
-CREATE TABLE `phpwebgallery_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;