From 935b69d868ecc7d06f8059ff7ac4ca8dc6ad4e30 Mon Sep 17 00:00:00 2001 From: plegall Date: Thu, 24 Nov 2005 21:37:29 +0000 Subject: - new: system to notify and upgrade database among developers git-svn-id: http://piwigo.org/svn/trunk@953 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/common.inc.php | 42 +++++++++++++++++++++++++++++++++++++++++- include/config_default.inc.php | 8 ++++++++ include/constants.php | 1 + 3 files changed, 50 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/common.inc.php b/include/common.inc.php index 38b0e7de0..a86bbc9ac 100644 --- a/include/common.inc.php +++ b/include/common.inc.php @@ -131,7 +131,47 @@ mysql_connect( $cfgHote, $cfgUser, $cfgPassword ) or die ( "Could not connect to database server" ); mysql_select_db( $cfgBase ) or die ( "Could not connect to database" ); - + +if ($conf['check_upgrade_feed']) +{ + define('PREFIX_TABLE', $prefixeTable); + define('UPGRADES_PATH', PHPWG_ROOT_PATH.'install/db'); + + // retrieve already applied upgrades + $query = ' +SELECT id + FROM '.PREFIX_TABLE.'upgrade +;'; + $applied = array_from_query($query, 'id'); + + // retrieve existing upgrades + $existing = array(); + + if ($contents = opendir(UPGRADES_PATH)) + { + while (($node = readdir($contents)) !== false) + { + if (is_file(UPGRADES_PATH.'/'.$node) + and preg_match('/^(.*?)-database\.php$/', $node, $match)) + { + array_push($existing, $match[1]); + } + } + } + natcasesort($existing); + + // which upgrades need to be applied? + if (count(array_diff($existing, $applied)) > 0) + { + echo + '

' + .'Some database upgrades are missing, ' + .'upgrade now' + .'

' + ; + } +} + // // Setup gallery wide options, if this fails then we output a CRITICAL_ERROR // since basic gallery information is not available diff --git a/include/config_default.inc.php b/include/config_default.inc.php index 3ad250a98..7c7ea9089 100644 --- a/include/config_default.inc.php +++ b/include/config_default.inc.php @@ -182,6 +182,14 @@ $conf['users_page'] = 20; // "options" parameter missing on mail() function execution. $conf['mail_options'] = false; +// check_upgrade_feed: check if there are database upgrade required. Set to +// true, a message will strongly encourage you to upgrade your database if +// needed. +// +// This configuration parameter is set to true in BSF branch and to false +// elsewhere. +$conf['check_upgrade_feed'] = true; + // +-----------------------------------------------------------------------+ // | metadata | // +-----------------------------------------------------------------------+ diff --git a/include/constants.php b/include/constants.php index a7823b230..bb5a1d926 100644 --- a/include/constants.php +++ b/include/constants.php @@ -59,4 +59,5 @@ define('IMAGE_METADATA_TABLE', $prefixeTable.'image_metadata'); define('RATE_TABLE', $prefixeTable.'rate'); define('USER_CACHE_TABLE', $prefixeTable.'user_cache'); define('CADDIE_TABLE', $prefixeTable.'caddie'); +define('UPGRADE_TABLE', $prefixeTable.'upgrade'); ?> -- cgit v1.2.3