From 0f1809eced9296ab6b9cb9ea9084563781e74941 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:07:20 +0100 Subject: [PATCH] Migrate FTP external storage to new API --- apps/files_external/appinfo/app.php | 13 ----- apps/files_external/appinfo/application.php | 1 + apps/files_external/lib/backend/ftp.php | 53 +++++++++++++++++++++ 3 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 apps/files_external/lib/backend/ftp.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 6b9be44f368..576a8be45c2 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -111,19 +111,6 @@ OC_Mount_Config::registerBackend('\OC\Files\Storage\Dropbox', [ 'has_dependencies' => true, ]); -OC_Mount_Config::registerBackend('\OC\Files\Storage\FTP', [ - 'backend' => 'FTP', - 'priority' => 100, - 'configuration' => [ - 'host' => (string)$l->t('Host'), - 'user' => (string)$l->t('Username'), - 'password' => '*'.$l->t('Password'), - 'root' => '&'.$l->t('Remote subfolder'), - 'secure' => '!'.$l->t('Secure ftps://') - ], - 'has_dependencies' => true, -]); - OC_Mount_Config::registerBackend('\OC\Files\Storage\Google', [ 'backend' => 'Google Drive', 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index f971b2ec635..0e0c2f3e265 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -61,6 +61,7 @@ class Application extends App { $service->registerBackends([ $container->query('OCA\Files_External\Lib\Backend\Local'), + $container->query('OCA\Files_External\Lib\Backend\FTP'), ]); } diff --git a/apps/files_external/lib/backend/ftp.php b/apps/files_external/lib/backend/ftp.php new file mode 100644 index 00000000000..df6ca37679e --- /dev/null +++ b/apps/files_external/lib/backend/ftp.php @@ -0,0 +1,53 @@ + + * + * @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 FTP extends Backend { + + public function __construct(IL10N $l, Password $legacyAuth) { + $this + ->setIdentifier('ftp') + ->addIdentifierAlias('\OC\Files\Storage\FTP') // legacy compat + ->setStorageClass('\OC\Files\Storage\FTP') + ->setText($l->t('FTP')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('root', $l->t('Remote subfolder'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('secure', $l->t('Secure ftps://'))) + ->setType(DefinitionParameter::VALUE_BOOLEAN), + ]) + ->setDependencyCheck('\OC\Files\Storage\FTP::checkDependencies') + ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +}