]> source.dussan.org Git - nextcloud-server.git/commitdiff
Modify and include additional update messages from updating apps
authorMichael Gapczynski <mtgap@owncloud.com>
Sat, 5 Jan 2013 16:28:01 +0000 (11:28 -0500)
committerMichael Gapczynski <mtgap@owncloud.com>
Sat, 5 Jan 2013 16:28:01 +0000 (11:28 -0500)
lib/app.php

index 596f3bf3a79bb75376dcedd0032a7d17eed7d5c4..48bbe53c744a6d1b0d5d6d2413a0b59fe065e1e5 100755 (executable)
@@ -634,15 +634,17 @@ class OC_App{
                if ($currentVersion) {
                        $installedVersion = $versions[$app];
                        if (version_compare($currentVersion, $installedVersion, '>')) {
+                               $info = self::getAppInfo($app);
                                OC_Log::write($app, 'starting app upgrade from '.$installedVersion.' to '.$currentVersion, OC_Log::DEBUG);
                                try {
                                        OC_App::updateApp($app);
+                                       OC_Hook::emit('update', 'success', 'Updated '.$info['name'].' app');
                                }
                                catch (Exception $e) {
                                        echo 'Failed to upgrade "'.$app.'". Exception="'.$e->getMessage().'"';
+                                       OC_Hook::emit('update', 'failure', 'Error updating '.$info['name'].' app: '.$e->getMessage());
                                        die;
                                }
-                               OC_Hook::emit('update', 'success', 'Updated '.$app.' app');
                                OC_Appconfig::setValue($app, 'installed_version', OC_App::getAppVersion($app));
                        }
                }
@@ -665,6 +667,7 @@ class OC_App{
                        if(!isset($info['require']) or (($version[0].'.'.$version[1])>$info['require'])) {
                                OC_Log::write('core', 'App "'.$info['name'].'" ('.$app.') can\'t be used because it is not compatible with this version of ownCloud', OC_Log::ERROR);
                                OC_App::disable( $app );
+                               OC_Hook::emit('update', 'success', 'Disabled '.$info['name'].' app because it is not compatible');
                        }
                }
        }