source: trunk/upgrade_feed.php @ 1027

Last change on this file since 1027 was 1027, checked in by plg, 18 years ago

improvement: upgrades id retrieving in include/common.inc.php and
upgrade_feed.php are now made by dedicated function
get_available_upgrade_ids.

bug fixed: after an installation, you had to play all available upgrades,
which was wrong. install.php inserts informations related to all available
upgrades at installation time. Thus avoiding automatic upgrades.

File size: 3.6 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
28define('PHPWG_ROOT_PATH', './');
29
30include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
31include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
32include(PHPWG_ROOT_PATH.'include/template.php');
33include(PHPWG_ROOT_PATH.'include/mysql.inc.php');
34
35define('PREFIX_TABLE', $prefixeTable);
36define('UPGRADES_PATH', PHPWG_ROOT_PATH.'install/db');
37
38// +-----------------------------------------------------------------------+
39// |                         Database connection                           |
40// +-----------------------------------------------------------------------+
41
42mysql_connect($cfgHote, $cfgUser, $cfgPassword)
43or die("Could not connect to database server");
44mysql_select_db($cfgBase)
45or die("Could not connect to database");
46
47// +-----------------------------------------------------------------------+
48// |                              Upgrades                                 |
49// +-----------------------------------------------------------------------+
50
51// retrieve already applied upgrades
52$query = '
53SELECT id
54  FROM '.PREFIX_TABLE.'upgrade
55;';
56$applied = array_from_query($query, 'id');
57
58// retrieve existing upgrades
59$existing = get_available_upgrade_ids();
60
61// which upgrades need to be applied?
62$to_apply = array_diff($existing, $applied);
63
64echo '<pre>';
65echo count($to_apply).' upgrades to apply';
66
67foreach ($to_apply as $upgrade_id)
68{
69  unset($upgrade_description);
70 
71  echo "\n\n";
72  echo '=== upgrade '.$upgrade_id."\n";
73
74  // include & execute upgrade script. Each upgrade script must contain
75  // $upgrade_description variable which describe briefly what the upgrade
76  // script does.
77  include(UPGRADES_PATH.'/'.$upgrade_id.'-database.php');
78
79  // notify upgrade
80  $query = '
81INSERT INTO '.PREFIX_TABLE.'upgrade
82  (id, applied, description)
83  VALUES
84  (\''.$upgrade_id.'\', NOW(), \''.$upgrade_description.'\')
85;';
86  pwg_query($query);
87}
88
89echo '</pre>';
90?>
Note: See TracBrowser for help on using the repository browser.