From 6e9cd63fa1af24781c981c5535876f22fdb17934 Mon Sep 17 00:00:00 2001
From: Bart Visscher <bartv@thisnet.nl>
Date: Sat, 16 Jun 2012 20:50:52 +0200
Subject: [PATCH] Only check for apps owncloud version requirment when there is
 a new owncloud version

---
 lib/app.php  | 29 +++++++++++++++--------------
 lib/base.php |  1 +
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/lib/app.php b/lib/app.php
index 7fdfc93138..c08e977b03 100755
--- a/lib/app.php
+++ b/lib/app.php
@@ -489,32 +489,33 @@ class OC_App{
 			$currentVersion=OC_App::getAppVersion($app);
 			if ($currentVersion) {
 				if (version_compare($currentVersion, $installedVersion, '>')) {
-					OC_Log::write($app,'starting app upgrade from '.$installedVersion.' to '.$currentVersion,OC_Log::DEBUG);
+					OC_Log::write($app, 'starting app upgrade from '.$installedVersion.' to '.$currentVersion,OC_Log::DEBUG);
 					OC_App::updateApp($app);
-					OC_Appconfig::setValue($app,'installed_version',OC_App::getAppVersion($app));
+					OC_Appconfig::setValue($app, 'installed_version', OC_App::getAppVersion($app));
 				}
 			}
 		}
+	}
 
-		// check if the current enabled apps are compatible with the current ownCloud version. disable them if not.
-		// this is important if you upgrade ownCloud and have non ported 3rd party apps installed
-		$apps =OC_App::getEnabledApps();
-		$version=OC_Util::getVersion();
+	/**
+	 * check if the current enabled apps are compatible with the current
+	 * ownCloud version. disable them if not.
+	 * This is important if you upgrade ownCloud and have non ported 3rd
+	 * party apps installed.
+	 */
+	public static function checkAppsRequirements($apps = array()){
+		if (empty($apps)) {
+			$apps = OC_App::getEnabledApps();
+		}
+		$version = OC_Util::getVersion();
 		foreach($apps as $app) {
-
 			// check if the app is compatible with this version of ownCloud
-			$info=OC_App::getAppInfo($app);
+			$info = OC_App::getAppInfo($app);
 			if(!isset($info['require']) or ($version[0]>$info['require'])){
 				OC_Log::write('core','App "'.$info['name'].'" can\'t be used because it is not compatible with this version of ownCloud',OC_Log::ERROR);
 				OC_App::disable( $app );
 			}
-
-
-
 		}
-
-
-
 	}
 
 	/**
diff --git a/lib/base.php b/lib/base.php
index fedc123885..30f7e5bba6 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -229,6 +229,7 @@ class OC{
 				}
 
 				OC_Config::setValue('version',implode('.',OC_Util::getVersion()));
+				OC_App::checkAppsRequirements();
 			}
 
 			OC_App::updateApps();
-- 
GitLab