]> source.dussan.org Git - nextcloud-server.git/commitdiff
check during ownCloud upgrade if all the installed apps are compatible with the new...
authorFrank Karlitschek <frank@owncloud.org>
Sat, 26 May 2012 18:37:10 +0000 (20:37 +0200)
committerFrank Karlitschek <frank@owncloud.org>
Sat, 26 May 2012 18:37:10 +0000 (20:37 +0200)
lib/app.php [changed mode: 0644->0755]
settings/js/apps.js

old mode 100644 (file)
new mode 100755 (executable)
index c639d2c..78de0fa
@@ -189,11 +189,11 @@ class OC_App{
                        }
                }
                if($app!==false){
-                       // check if the app is compatible with this version of ownCloud
+                       // check if the app is compatible with this version of ownCloud
                        $info=OC_App::getAppInfo($app);
                        $version=OC_Util::getVersion(); 
                        if(!isset($info['require']) or ($version[0]>$info['require'])){
-                               OC_Log::write('core','App can\'t be installed because it is not compatible with this version of ownCloud',OC_Log::ERROR);
+                               OC_Log::write('core','App "'.$info['name'].'" can\'t be installed because it is not compatible with this version of ownCloud',OC_Log::ERROR);
                                return false;
                        }else{
                                OC_Appconfig::setValue( $app, 'enabled', 'yes' );
@@ -525,6 +525,26 @@ class OC_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();
+               foreach($apps as $app) {
+               
+                       // check if the app is compatible with this version of ownCloud
+                       $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 8aa54463b3bed3d8fec7638683631a749ce8354b..f6e08b608bd6d52f77d6590e826d71479a1e1dba 100644 (file)
@@ -41,7 +41,7 @@ $(document).ready(function(){
                        if(active){
                                $.post(OC.filePath('settings','ajax','disableapp.php'),{appid:app},function(result){
                                        if(!result || result.status!='success'){
-                                               OC.dialogs.alert('Error','Error while disabling app');
+                                               OC.dialogs.alert('Error while disabling app','Error');
                                        }
                                        else {
                                                element.data('active',false);
@@ -54,7 +54,7 @@ $(document).ready(function(){
                        }else{
                                $.post(OC.filePath('settings','ajax','enableapp.php'),{appid:app},function(result){
                                        if(!result || result.status!='success'){
-                                               OC.dialogs.alert('Error','Error while enabling app');
+                                               OC.dialogs.alert('Error while enabling app','Error');
                                        }
                                        else {
                                                element.data('active',true);