diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 4bdfd316799..6b9be44f368 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -70,18 +70,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\Local', [ - 'backend' => (string)$l->t('Local'), - 'priority' => 150, - 'configuration' => [ - 'datadir' => (string)$l->t('Location') - ], -]); -// Local must only be visible to the admin -$appContainer->query('OCA\Files_External\Service\BackendService') - ->getBackend('\OC\Files\Storage\Local') - ->setAllowedVisibility(\OCA\Files_External\Service\BackendService::VISIBILITY_ADMIN); - OC_Mount_Config::registerBackend('\OC\Files\Storage\AmazonS3', [ 'backend' => (string)$l->t('Amazon S3'), 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index d9c877a54d1..f971b2ec635 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -28,8 +28,6 @@ use \OCA\Files_External\Controller\AjaxController; use \OCP\AppFramework\App; use \OCP\IContainer; use \OCA\Files_External\Service\BackendService; -use \OCA\Files_External\Lib\BackendConfig; -use \OCA\Files_External\Lib\BackendParameter; /** * @package OCA\Files_External\Appinfo @@ -60,6 +58,10 @@ class Application extends App { protected function loadBackends() { $container = $this->getContainer(); $service = $container->query('OCA\\Files_External\\Service\\BackendService'); + + $service->registerBackends([ + $container->query('OCA\Files_External\Lib\Backend\Local'), + ]); } /** diff --git a/apps/files_external/lib/backend/local.php b/apps/files_external/lib/backend/local.php new file mode 100644 index 00000000000..a80b437fab7 --- /dev/null +++ b/apps/files_external/lib/backend/local.php @@ -0,0 +1,49 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program 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, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\NullMechanism; + +class Local extends Backend { + + public function __construct(IL10N $l, NullMechanism $legacyAuth) { + $this + ->setIdentifier('local') + ->addIdentifierAlias('\OC\Files\Storage\Local') // legacy compat + ->setStorageClass('\OC\Files\Storage\Local') + ->setText($l->t('Local')) + ->addParameters([ + (new DefinitionParameter('datadir', $l->t('Location'))), + ]) + ->setAllowedVisibility(BackendService::VISIBILITY_ADMIN) + ->setPriority(BackendService::PRIORITY_DEFAULT + 50) + ->addAuthScheme(AuthMechanism::SCHEME_NULL) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +}