summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-03-13 11:18:39 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-03-13 11:18:39 +0100
commit40b28897857cf81bafb23223a7a34fd19de02b13 (patch)
treec63ea583b79df8e9cedbf2c75a3b1da94ef608fe
parentc546f0bf46a51dc297be15aa1acbca5ed9a84de9 (diff)
downloadnextcloud-server-40b28897857cf81bafb23223a7a34fd19de02b13.tar.gz
nextcloud-server-40b28897857cf81bafb23223a7a34fd19de02b13.zip
shipped apps are now defined in core/shipped.json - the shipped tag in info.xml is ignored from now on - never trust an app :speak_no_evil:
-rw-r--r--core/shipped.json25
-rw-r--r--lib/private/app.php17
2 files changed, 37 insertions, 5 deletions
diff --git a/core/shipped.json b/core/shipped.json
new file mode 100644
index 00000000000..0674177a6c9
--- /dev/null
+++ b/core/shipped.json
@@ -0,0 +1,25 @@
+{
+ "_comment" : "As shipped with owncloud-8.0.2.tar.bz2",
+ "core-version": "8.1.0.0",
+ "shippedApps": [
+ "activity",
+ "files",
+ "files_external",
+ "files_pdfviewer",
+ "files_texteditor",
+ "files_versions",
+ "firstrunwizard",
+ "templateeditor",
+ "user_external",
+ "user_webdavauth external",
+ "files_encryption",
+ "files_locking",
+ "files_sharing",
+ "files_trashbin",
+ "files_videoviewer",
+ "gallery",
+ "provisioning_api",
+ "updater",
+ "user_ldap"
+ ]
+}
diff --git a/lib/private/app.php b/lib/private/app.php
index 9ae4ae30d74..29bcf153464 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -42,6 +42,7 @@ class OC_App {
static private $appTypes = array();
static private $loadedApps = array();
static private $altLogin = array();
+ private static $shippedApps = null;
/**
* clean the appId
@@ -182,12 +183,18 @@ class OC_App {
* Check if an app that is installed is a shipped app or installed from the appstore.
*/
public static function isShipped($appId) {
- $info = self::getAppInfo($appId);
- if (isset($info['shipped']) && $info['shipped'] == 'true') {
- return true;
- } else {
- return false;
+ if (is_null(self::$shippedApps)) {
+ $shippedJson = \OC::$SERVERROOT . '/core/shipped.json';
+ if (file_exists($shippedJson)) {
+ self::$shippedApps = json_decode(file_get_contents($shippedJson), true);
+ self::$shippedApps = self::$shippedApps['shippedApps'];
+ } else {
+ self::$shippedApps = ['files', 'files_encryption', 'files_external',
+ 'files_sharing', 'files_trashbin', 'files_versions', 'provisioning_api',
+ 'user_ldap', 'user_webdavauth'];
+ }
}
+ return in_array($appId, self::$shippedApps);
}
/**