aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Installer.php20
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