diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/App/AppManager.php | 4 | ||||
-rw-r--r-- | lib/private/Installer.php | 21 | ||||
-rw-r--r-- | lib/private/legacy/app.php | 1 | ||||
-rw-r--r-- | lib/public/App/IAppManager.php | 4 |
4 files changed, 13 insertions, 17 deletions
diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php index 81f1369cb5e..442fc1a0e1b 100644 --- a/lib/private/App/AppManager.php +++ b/lib/private/App/AppManager.php @@ -204,7 +204,9 @@ class AppManager implements IAppManager { } /** - * Check if an app is installed in the instance + * Check if an app is enabled in the instance + * + * Notice: This actually checks if the app is enabled and not only if it is installed. * * @param string $appId * @return bool diff --git a/lib/private/Installer.php b/lib/private/Installer.php index ab0ef836fbb..1b40b4955d6 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -166,17 +166,6 @@ class Installer { } /** - * @brief checks whether or not an app is installed - * @param string $app app - * @returns bool - * - * Checks whether or not an app is installed, i.e. registered in apps table. - */ - public static function isInstalled( $app ) { - return (\OC::$server->getConfig()->getAppValue($app, "installed_version", null) !== null); - } - - /** * Updates the specified app from the appstore * * @param string $appId @@ -510,17 +499,19 @@ class Installer { * @return array Array of error messages (appid => Exception) */ public static function installShippedApps($softErrors = false) { + $appManager = \OC::$server->getAppManager(); + $config = \OC::$server->getConfig(); $errors = []; foreach(\OC::$APPSROOTS as $app_dir) { if($dir = opendir( $app_dir['path'] )) { while( false !== ( $filename = readdir( $dir ))) { if( $filename[0] !== '.' and is_dir($app_dir['path']."/$filename") ) { if( file_exists( $app_dir['path']."/$filename/appinfo/info.xml" )) { - if(!Installer::isInstalled($filename)) { + if($config->getAppValue($filename, "installed_version", null) === null) { $info=OC_App::getAppInfo($filename); $enabled = isset($info['default_enable']); - if (($enabled || in_array($filename, \OC::$server->getAppManager()->getAlwaysEnabledApps())) - && \OC::$server->getConfig()->getAppValue($filename, 'enabled') !== 'no') { + if (($enabled || in_array($filename, $appManager->getAlwaysEnabledApps())) + && $config->getAppValue($filename, 'enabled') !== 'no') { if ($softErrors) { try { Installer::installShippedApp($filename); @@ -534,7 +525,7 @@ class Installer { } else { Installer::installShippedApp($filename); } - \OC::$server->getConfig()->setAppValue($filename, 'enabled', 'yes'); + $config->setAppValue($filename, 'enabled', 'yes'); } } } diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index bc450ffa25d..cabeed1d62d 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -383,6 +383,7 @@ class OC_App { array $groups = []) { // Check if app is already downloaded + /** @var Installer $installer */ $installer = \OC::$server->query(Installer::class); $isDownloaded = $installer->isDownloaded($appId); diff --git a/lib/public/App/IAppManager.php b/lib/public/App/IAppManager.php index f0f14061e35..4840d71d756 100644 --- a/lib/public/App/IAppManager.php +++ b/lib/public/App/IAppManager.php @@ -67,7 +67,9 @@ interface IAppManager { public function isEnabledForUser($appId, $user = null); /** - * Check if an app is installed in the instance + * Check if an app is enabled in the instance + * + * Notice: This actually checks if the app is enabled and not only if it is installed. * * @param string $appId * @return bool |