diff options
-rw-r--r-- | lib/private/Installer.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/private/Installer.php b/lib/private/Installer.php index eb1f8a456bf..4dcf5a8dad9 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -395,6 +395,10 @@ class Installer { return false; } + if ($this->isInstalledFromGit($appId) === true) { + return false; + } + if ($this->apps === null) { $this->apps = $this->appFetcher->get(); } @@ -415,6 +419,22 @@ class Installer { } /** + * Check if app has been installed from git + * @param string $name name of the application to remove + * @return boolean + * + * The function will check if the path contains a .git folder + */ + private function isInstalledFromGit($appId) { + $app = \OC_App::findAppInDirectories($appId); + if($app === false) { + return false; + } + $basedir = $app['path'].'/'.$appId; + return file_exists($basedir.'/.git/'); + } + + /** * Check if app is already downloaded * @param string $name name of the application to remove * @return boolean |