From 523fdda39915dd49190727ac74458a28f2d00f10 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 30 Mar 2012 14:39:07 +0200 Subject: [PATCH] add the option to only load apps of a specific type --- apps/files_archive/appinfo/info.xml | 3 ++ apps/files_encryption/appinfo/info.xml | 3 ++ apps/files_remote/appinfo/info.xml | 3 ++ apps/files_sharing/appinfo/info.xml | 3 ++ files/ajax/download.php | 3 ++ files/ajax/list.php | 3 ++ files/ajax/mimeicon.php | 3 ++ files/webdav.php | 3 ++ lib/app.php | 51 +++++++++++++++++++++++--- lib/base.php | 7 +++- 10 files changed, 76 insertions(+), 6 deletions(-) diff --git a/apps/files_archive/appinfo/info.xml b/apps/files_archive/appinfo/info.xml index df767d39f6..236b5a64b0 100644 --- a/apps/files_archive/appinfo/info.xml +++ b/apps/files_archive/appinfo/info.xml @@ -7,4 +7,7 @@ AGPL Robin Appelman 3 + + + diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml index 053044aaed..691b265bf6 100644 --- a/apps/files_encryption/appinfo/info.xml +++ b/apps/files_encryption/appinfo/info.xml @@ -7,4 +7,7 @@ AGPL Robin Appelman 3 + + + diff --git a/apps/files_remote/appinfo/info.xml b/apps/files_remote/appinfo/info.xml index 0720b6095b..8cf66ddbc3 100644 --- a/apps/files_remote/appinfo/info.xml +++ b/apps/files_remote/appinfo/info.xml @@ -7,4 +7,7 @@ AGPL Robin Appelman 3 + + + diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml index abf847b448..8fda775520 100644 --- a/apps/files_sharing/appinfo/info.xml +++ b/apps/files_sharing/appinfo/info.xml @@ -8,4 +8,7 @@ Michael Gapczynski 2 + + + diff --git a/files/ajax/download.php b/files/ajax/download.php index 198069f3fa..39852613ab 100644 --- a/files/ajax/download.php +++ b/files/ajax/download.php @@ -21,6 +21,9 @@ * */ +// only need filesystem apps +$RUNTIME_APPTYPES=array('filesystem'); + // Init owncloud require_once('../../lib/base.php'); diff --git a/files/ajax/list.php b/files/ajax/list.php index 8a414827e1..ec9ab7342d 100644 --- a/files/ajax/list.php +++ b/files/ajax/list.php @@ -1,5 +1,8 @@ children() as $child){ - $data[$child->getName()]=(string)$child; + if($child->getName()=='types'){ + $data['types']=array(); + foreach($child->children() as $type){ + $data['types'][]=$type->getName(); + } + }else{ + $data[$child->getName()]=(string)$child; + } } + self::$appInfo[$appid]=$data; return $data; } diff --git a/lib/base.php b/lib/base.php index b07ac5af41..b031572f17 100644 --- a/lib/base.php +++ b/lib/base.php @@ -333,8 +333,13 @@ class OC{ // Load Apps // This includes plugins for users and filesystems as well global $RUNTIME_NOAPPS; + global $RUNTIME_APPTYPES; if(!$RUNTIME_NOAPPS ){ - OC_App::loadApps(); + if($RUNTIME_APPTYPES){ + OC_App::loadApps($RUNTIME_APPTYPES); + }else{ + OC_App::loadApps(); + } } //make sure temporary files are cleaned up