diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-02-22 22:16:33 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-02-25 16:35:40 +0100 |
commit | 8b93a9a237603185501d0e24e9c08705168fc553 (patch) | |
tree | 6740ffd05a15d2a808103ea74913586c79c050ee /core | |
parent | 862f824d6475606f2d6e1d332680bd5141d74934 (diff) | |
download | nextcloud-server-8b93a9a237603185501d0e24e9c08705168fc553.tar.gz nextcloud-server-8b93a9a237603185501d0e24e9c08705168fc553.zip |
add javascript bindings for OC_AppConfig
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/appconfig.php | 35 | ||||
-rw-r--r-- | core/js/config.js | 55 |
2 files changed, 90 insertions, 0 deletions
diff --git a/core/ajax/appconfig.php b/core/ajax/appconfig.php new file mode 100644 index 00000000000..50984ac32b9 --- /dev/null +++ b/core/ajax/appconfig.php @@ -0,0 +1,35 @@ +<?php +/** + * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +require_once ("../../lib/base.php"); +OC_JSON::checkLoggedIn(); +$action=isset($_POST['action'])?$_POST['action']:$_GET['action']; +$result=false; +switch($action){ + case 'getValue': + $result=OC_Appconfig::getValue($_GET['app'],$_GET['key'],$_GET['default']); + break; + case 'setValue': + $result=OC_Appconfig::setValue($_POST['app'],$_POST['key'],$_POST['value']); + break; + case 'getApps': + $result=OC_Appconfig::getApps(); + break; + case 'getKeys': + $result=OC_Appconfig::getKeys($_GET['app']); + break; + case 'hasKey': + $result=OC_Appconfig::hasKey($_GET['app'],$_GET['key']); + break; + case 'deleteKey': + $result=OC_Appconfig::deleteKey($_POST['app'],$_POST['key']); + break; + case 'deleteApp': + $result=OC_Appconfig::deleteApp($_POST['app']); + break; +} +OC_JSON::success(array('data'=>$result)); diff --git a/core/js/config.js b/core/js/config.js new file mode 100644 index 00000000000..500fe072a64 --- /dev/null +++ b/core/js/config.js @@ -0,0 +1,55 @@ +/** + * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +OC.AppConfig={ + url:OC.filePath('core','ajax','appconfig.php'), + getCall:function(action,data,callback){ + data.action=action; + $.getJSON(OC.AppConfig.url,data,function(result){ + if(result.status='success'){ + if(callback){ + callback(result.data); + } + } + }); + }, + postCall:function(action,data,callback){ + data.action=action; + $.post(OC.AppConfig.url,data,function(result){ + if(result.status='success'){ + if(callback){ + callback(result.data); + } + } + },'json'); + }, + getValue:function(app,key,defaultValue,callback){ + if(typeof defaultValue=='function'){ + callback=defaultValue; + defaultValue=null; + } + OC.AppConfig.getCall('getValue',{app:app,key:key,default:defaultValue},callback); + }, + setValue:function(app,key,value){ + OC.AppConfig.postCall('setValue',{app:app,key:key,value:value}); + }, + getApps:function(callback){ + OC.AppConfig.getCall('getApps',{},callback); + }, + getKeys:function(app,callback){ + OC.AppConfig.getCall('getKeys',{app:app},callback); + }, + hasKey:function(app,key,callback){ + OC.AppConfig.getCall('hasKey',{app:app,key:key},callback); + }, + deleteKey:function(app,key){ + OC.AppConfig.postCall('deleteKey',{app:app,key:key}); + }, + deleteApp:function(app){ + OC.AppConfig.postCall('deleteApp',{app:app}); + }, +} +//TODO OC.Preferences |