diff --git a/core/constant_inc.php b/core/constant_inc.php index 1861f69..e4ec709 100644 --- a/core/constant_inc.php +++ b/core/constant_inc.php @@ -372,6 +372,7 @@ define( 'ERROR_PLUGIN_ALREADY_INSTALLED', 2501 ); define( 'ERROR_PLUGIN_PAGE_NOT_FOUND', 2502 ); define( 'ERROR_PLUGIN_UPGRADE_FAILED', 2503 ); define( 'ERROR_PLUGIN_INSTALL_FAILED', 2504 ); +define( 'ERROR_PLUGIN_UPGRADE_NEEDED', 2505 ); define( 'ERROR_PLUGIN_GENERIC', 2599 ); # ERROR_COLUMNS_* diff --git a/lang/strings_english.txt b/lang/strings_english.txt index c14081b..d42b52e 100644 --- a/lang/strings_english.txt +++ b/lang/strings_english.txt @@ -291,6 +291,7 @@ $MANTIS_ERROR[ERROR_PLUGIN_ALREADY_INSTALLED] = 'Plugin is already installed.'; $MANTIS_ERROR[ERROR_PLUGIN_PAGE_NOT_FOUND] = 'Plugin page not found.'; $MANTIS_ERROR[ERROR_PLUGIN_INSTALL_FAILED] = 'Plugin installation failed: %1$s.'; $MANTIS_ERROR[ERROR_PLUGIN_UPGRADE_FAILED] = 'Upgrading the plugin schema failed in block #%1$s.'; +$MANTIS_ERROR[ERROR_PLUGIN_UPGRADE_NEEDED] = 'The "%1$s" plugin needs to be upgraded before you can access this page.'; $MANTIS_ERROR[ERROR_PLUGIN_GENERIC] = 'There was an unknown error "%1$s" during execution of the "%2$s" plugin.'; $MANTIS_ERROR[ERROR_COLUMNS_DUPLICATE] = 'Field "%1$s" contains duplicate column "%2$s".'; $MANTIS_ERROR[ERROR_COLUMNS_INVALID] = 'Field "%1$s" contains invalid field "%2$s".'; diff --git a/plugin.php b/plugin.php index 2fc968e..5d5d94e 100644 --- a/plugin.php +++ b/plugin.php @@ -48,6 +48,11 @@ if ( !is_file( $t_page ) ) { trigger_error( ERROR_PLUGIN_PAGE_NOT_FOUND, ERROR ); } +if( plugin_needs_upgrade( $g_plugin_cache[$t_basename] ) ) { + error_parameters( $t_basename ); + trigger_error( ERROR_PLUGIN_UPGRADE_NEEDED, ERROR ); +} + plugin_push_current( $t_basename ); include( $t_page );