diff options
author | Frank Karlitschek <frank@owncloud.org> | 2012-05-05 23:42:38 +0200 |
---|---|---|
committer | Frank Karlitschek <frank@owncloud.org> | 2012-05-05 23:42:38 +0200 |
commit | b462795be297f2428c70d5e6a657c04125b028ec (patch) | |
tree | 60c4f0c0012ec463939f732c6b6f4ee2a3a13b59 /webapps.php | |
parent | 565e02d061001524658b0ff0c722e4eac0b657ba (diff) | |
download | nextcloud-server-b462795be297f2428c70d5e6a657c04125b028ec.tar.gz nextcloud-server-b462795be297f2428c70d5e6a657c04125b028ec.zip |
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
Diffstat (limited to 'webapps.php')
-rw-r--r-- | webapps.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/webapps.php b/webapps.php new file mode 100644 index 00000000000..99553fa8ef0 --- /dev/null +++ b/webapps.php @@ -0,0 +1,56 @@ +<?php + +/** +* ownCloud status page. usefull if you want to check from the outside if an owncloud installation exists +* +* @author Frank Karlitschek +* @copyright 2010 Frank Karlitschek karlitschek@kde.org +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the License, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Affero General Public +* License along with this library. If not, see <http://www.gnu.org/licenses/>. +* +*/ + +$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; + + +} + +?> |