source: trunk/upgrade_feed.php @ 2645

Last change on this file since 2645 was 2645, checked in by plg, 16 years ago

bug 861 completed: $confcheck_upgrade_feed is tested to allow this
script execution.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 4.1 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24define('PHPWG_ROOT_PATH', './');
25
26include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
27include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
28include_once(PHPWG_ROOT_PATH.'admin/include/functions_upgrade.php');
29include(PHPWG_ROOT_PATH.'include/mysql.inc.php');
30include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
31@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
32
33// +-----------------------------------------------------------------------+
34// | Check Access and exit when it is not ok                               |
35// +-----------------------------------------------------------------------+
36
37if (!$conf['check_upgrade_feed'])
38{
39  die("upgrade feed is not active");
40}
41
42prepare_conf_upgrade();
43
44define('PREFIX_TABLE', $prefixeTable);
45define('UPGRADES_PATH', PHPWG_ROOT_PATH.'install/db');
46
47// +-----------------------------------------------------------------------+
48// |                         Database connection                           |
49// +-----------------------------------------------------------------------+
50
51mysql_connect($cfgHote, $cfgUser, $cfgPassword) or die("Could not connect to database server");
52mysql_select_db($cfgBase) or die("Could not connect to database");
53if ( version_compare(mysql_get_server_info(), '4.1.0', '>=')
54    and defined('DB_CHARSET') and DB_CHARSET!='' )
55{
56  pwg_query('SET NAMES "'.DB_CHARSET.'"');
57}
58
59
60// +-----------------------------------------------------------------------+
61// |                              Upgrades                                 |
62// +-----------------------------------------------------------------------+
63
64// retrieve already applied upgrades
65$query = '
66SELECT id
67  FROM '.PREFIX_TABLE.'upgrade
68;';
69$applied = array_from_query($query, 'id');
70
71// retrieve existing upgrades
72$existing = get_available_upgrade_ids();
73
74// which upgrades need to be applied?
75$to_apply = array_diff($existing, $applied);
76
77echo '<pre>';
78echo count($to_apply).' upgrades to apply';
79
80foreach ($to_apply as $upgrade_id)
81{
82  unset($upgrade_description);
83
84  echo "\n\n";
85  echo '=== upgrade '.$upgrade_id."\n";
86
87  // include & execute upgrade script. Each upgrade script must contain
88  // $upgrade_description variable which describe briefly what the upgrade
89  // script does.
90  include(UPGRADES_PATH.'/'.$upgrade_id.'-database.php');
91
92  // notify upgrade
93  $query = '
94INSERT INTO '.PREFIX_TABLE.'upgrade
95  (id, applied, description)
96  VALUES
97  (\''.$upgrade_id.'\', NOW(), \''.$upgrade_description.'\')
98;';
99  pwg_query($query);
100}
101
102echo '</pre>';
103?>
Note: See TracBrowser for help on using the repository browser.