From b462795be297f2428c70d5e6a657c04125b028ec Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Sat, 5 May 2012 23:42:38 +0200 Subject: [PATCH] added a nice API to get the installes Apps with names, urls and icon from the outside. This is useful for some nice upcoming desktop and mobile integration --- apps/bookmarks/appinfo/info.xml | 3 +- apps/contacts/appinfo/info.xml | 1 + apps/files/appinfo/info.xml | 1 + apps/gallery/appinfo/info.xml | 1 + apps/media/appinfo/info.xml | 1 + webapps.php | 56 +++++++++++++++++++++++++++++++++ 6 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 webapps.php diff --git a/apps/bookmarks/appinfo/info.xml b/apps/bookmarks/appinfo/info.xml index 39779483d8..4dbb74bb76 100644 --- a/apps/bookmarks/appinfo/info.xml +++ b/apps/bookmarks/appinfo/info.xml @@ -5,5 +5,6 @@ Bookmark manager for ownCloud AGPL Arthur Schiwon, Marvin Thomas Rabe + 2 - \ No newline at end of file + diff --git a/apps/contacts/appinfo/info.xml b/apps/contacts/appinfo/info.xml index 55ddf42ccc..4d2fe38372 100644 --- a/apps/contacts/appinfo/info.xml +++ b/apps/contacts/appinfo/info.xml @@ -6,5 +6,6 @@ Jakob Sack 2 Address book with CardDAV support. + diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index 2abf54e7da..03076dee98 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -6,5 +6,6 @@ AGPL Robin Appelman 2 + diff --git a/apps/gallery/appinfo/info.xml b/apps/gallery/appinfo/info.xml index 7dc85374b0..5b5ee0f731 100644 --- a/apps/gallery/appinfo/info.xml +++ b/apps/gallery/appinfo/info.xml @@ -6,5 +6,6 @@ Bartek Przybylski 2 Dedicated pictures application + diff --git a/apps/media/appinfo/info.xml b/apps/media/appinfo/info.xml index 01145d4a94..ea5b77c9c8 100644 --- a/apps/media/appinfo/info.xml +++ b/apps/media/appinfo/info.xml @@ -6,5 +6,6 @@ AGPL Robin Appelman 2 + diff --git a/webapps.php b/webapps.php new file mode 100644 index 0000000000..99553fa8ef --- /dev/null +++ b/webapps.php @@ -0,0 +1,56 @@ +. +* +*/ + +$RUNTIME_NOAPPS = TRUE; //no apps, yet + +require_once('lib/base.php'); + + +//valid user account +if(isset($_SERVER['PHP_AUTH_USER'])) $authuser=$_SERVER['PHP_AUTH_USER']; else $authuser=''; +if(isset($_SERVER['PHP_AUTH_PW'])) $authpw=$_SERVER['PHP_AUTH_PW']; else $authpw=''; + +if(!OC_User::login($authuser,$authpw)){ + header('WWW-Authenticate: Basic realm="your valid user account"'); + header('HTTP/1.0 401 Unauthorized'); + exit; +}else{ + + $apps=OC_App::getEnabledApps(); + $values=array(); + foreach($apps as $app) { + $info=OC_App::getAppInfo($app); + if(isset($info['standalone'])) { + $newvalue=array('name'=>$info['name'],'url'=>OC_Helper::linkToAbsolute($app,''),'icon'=>''); + $values[]=$newvalue; + } + + } + + echo(json_encode($values)); + exit; + + +} + +?>