diff options
Diffstat (limited to '')
-rw-r--r-- | include/common.inc.php | 42 | ||||
-rw-r--r-- | include/config_default.inc.php | 8 | ||||
-rw-r--r-- | include/constants.php | 1 |
3 files changed, 50 insertions, 1 deletions
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 + '<p>' + .'Some database upgrades are missing, ' + .'<a href="'.PHPWG_ROOT_PATH.'upgrade_feed.php">upgrade now</a>' + .'</p>' + ; + } +} + // // 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'); ?> |