From 16389270ffc36becba628002a80789acfb2eb83d Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:19:32 +0100 Subject: [PATCH] Migrate SFTP external storage to new API --- apps/files_external/appinfo/app.php | 11 ----- apps/files_external/appinfo/application.php | 1 + apps/files_external/lib/backend/sftp.php | 50 +++++++++++++++++++++ 3 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 apps/files_external/lib/backend/sftp.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index aa10b9b300f..3d8e610db4d 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -157,17 +157,6 @@ if (!OC_Util::runningOnWindows()) { ]); } -OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP', [ - 'backend' => 'SFTP', - 'priority' => 100, - 'configuration' => [ - 'host' => (string)$l->t('Host'), - 'user' => (string)$l->t('Username'), - 'password' => '*'.$l->t('Password'), - 'root' => '&'.$l->t('Remote subfolder'), - ], -]); - OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP_Key', [ 'backend' => (string)$l->t('SFTP with secret key login'), 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 93ecbd50b29..4520a8737be 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -64,6 +64,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\FTP'), $container->query('OCA\Files_External\Lib\Backend\DAV'), $container->query('OCA\Files_External\Lib\Backend\OwnCloud'), + $container->query('OCA\Files_External\Lib\Backend\SFTP'), ]); if (!\OC_Util::runningOnWindows()) { diff --git a/apps/files_external/lib/backend/sftp.php b/apps/files_external/lib/backend/sftp.php new file mode 100644 index 00000000000..dd0f5d8e2e0 --- /dev/null +++ b/apps/files_external/lib/backend/sftp.php @@ -0,0 +1,50 @@ + + * + * @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\Password\Password; + +class SFTP extends Backend { + + public function __construct(IL10N $l, Password $legacyAuth) { + $this + ->setIdentifier('sftp') + ->addIdentifierAlias('\OC\Files\Storage\SFTP') // legacy compat + ->setStorageClass('\OC\Files\Storage\SFTP') + ->setText($l->t('SFTP')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('root', $l->t('Root'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +}