diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index dd9509575b..44ab5c0de9 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -56,3 +56,10 @@ $this->create('sharing_external_test_remote', '/testremote') '/apps/files_sharing/api/v1/shares/{id}', array('\OCA\Files_Sharing\API\Local', 'deleteShare'), 'files_sharing'); + +// Register with the capabilities API +\OC_API::register('get', + '/cloud/capabilities', + array('OCA\Files_Sharing\Capabilities', 'getCapabilities'), + 'files_sharing', + \OC_API::USER_AUTH); diff --git a/apps/files_sharing/lib/capabilities.php b/apps/files_sharing/lib/capabilities.php new file mode 100644 index 0000000000..712eb2317b --- /dev/null +++ b/apps/files_sharing/lib/capabilities.php @@ -0,0 +1,53 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\Files_Sharing; + + +/** + * Class Capabilities + * + * @package OCA\Files_Sharing + */ +class Capabilities { + + /** + * @return \OC_OCS_Result + */ + public static function getCapabilities() { + $config = \OC::$server->getConfig(); + + $res = array(); + if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === "yes") { + $res["allow_links"] = 1; + + if ($config->getAppValue('core', 'shareapi_enforce_links_password', 'yes') === "yes") { + $res["enforce_links_password"] = 1; + } else { + $res["enforce_links_password"] = 0; + } + + if ($config->getAppValue('core', 'shareapi_allow_public_upload', 'yes') === "yes") { + $res["allow_public_upload"] = 1; + } else { + $res["allow_public_upload"] = 0; + } + } else { + $res["allow_links"] = 0; + } + + return new \OC_OCS_Result(array( + 'capabilities' => array( + 'files' => array( + 'sharing' => $res + ), + ), + )); + } + +}