]> source.dussan.org Git - nextcloud-server.git/commitdiff
Only check for apps owncloud version requirment when there is a new owncloud version
authorBart Visscher <bartv@thisnet.nl>
Sat, 16 Jun 2012 18:50:52 +0000 (20:50 +0200)
committerBart Visscher <bartv@thisnet.nl>
Thu, 21 Jun 2012 18:13:30 +0000 (20:13 +0200)
lib/app.php
lib/base.php

index 52a1587ae393caf63c17b2fd7c49909edb7e2cea..e57e1e58a2814708637c9c9d833c7bb6597a0d4e 100644 (file)
@@ -514,32 +514,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 );
                        }
-
-
-
                }
-
-
-
        }
 
        /**
index 71e2ed63888aebc0e2be6d0428dfe2f93a7d41be..0e7e370cd6d72b646375612326b284e1f8513ad1 100644 (file)
@@ -237,6 +237,7 @@ class OC{
                                }
 
                                OC_Config::setValue('version',implode('.',OC_Util::getVersion()));
+                               OC_App::checkAppsRequirements();
                        }
 
                        OC_App::updateApps();