source: branches/branch-1_6/install/db/9-database.php @ 1133

Last change on this file since 1133 was 1064, checked in by plg, 19 years ago

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)

File size: 3.2 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | PhpWebGallery - a PHP based picture gallery                           |
4// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
5// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
6// +-----------------------------------------------------------------------+
7// | branch        : BSF (Best So Far)
8// | file          : $RCSfile$
9// | last update   : $Date: 2005-09-21 00:04:57 +0200 (mer, 21 sep 2005) $
10// | last modifier : $Author: plg $
11// | revision      : $Revision: 870 $
12// +-----------------------------------------------------------------------+
13// | This program is free software; you can redistribute it and/or modify  |
14// | it under the terms of the GNU General Public License as published by  |
15// | the Free Software Foundation                                          |
16// |                                                                       |
17// | This program is distributed in the hope that it will be useful, but   |
18// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
19// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
20// | General Public License for more details.                              |
21// |                                                                       |
22// | You should have received a copy of the GNU General Public License     |
23// | along with this program; if not, write to the Free Software           |
24// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
25// | USA.                                                                  |
26// +-----------------------------------------------------------------------+
27
28if (!defined('PHPWG_ROOT_PATH'))
29{
30  die('Hacking attempt!');
31}
32
33$upgrade_description =
34  'Column #image_category.is_storage replaces #images.storage_category_id';
35
36// +-----------------------------------------------------------------------+
37// |                            Upgrade content                            |
38// +-----------------------------------------------------------------------+
39
40$query = "
41ALTER TABLE ".PREFIX_TABLE."image_category
42  ADD COLUMN is_storage ENUM('true','false') DEFAULT 'false'
43;";
44pwg_query($query);
45
46$query = '
47SELECT id, storage_category_id
48  FROM '.PREFIX_TABLE.'images
49;';
50$result = pwg_query($query);
51
52$datas = array();
53
54while ($row = mysql_fetch_array($result))
55{
56  array_push(
57    $datas,
58    array(
59      'image_id'    => $row['id'],
60      'category_id' => $row['storage_category_id'],
61      'is_storage'  => 'true',
62      )
63    );
64}
65
66mass_updates(
67  PREFIX_TABLE.'image_category',
68  array(
69    'primary' => array('image_id', 'category_id'),
70    'update'  => array('is_storage')
71    ),
72  $datas
73  );
74
75$query = '
76ALTER TABLE '.PREFIX_TABLE.'images
77  DROP COLUMN storage_category_id
78;';
79pwg_query($query);
80
81// +-----------------------------------------------------------------------+
82// |                           End notification                            |
83// +-----------------------------------------------------------------------+
84
85echo
86"\n"
87.'Column '.PREFIX_TABLE.'image_category.is_storage created and filled'
88."\n"
89;
90?>
Note: See TracBrowser for help on using the repository browser.