From ab2b3d2755e0b1d54bac84f842426b0b8d3aa006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 5 Dec 2019 14:15:32 +0100 Subject: [PATCH 1/2] Fix external sharing loading script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- apps/federatedfilesharing/appinfo/app.php | 18 +--- apps/federatedfilesharing/js/external.js | 96 +++++++++---------- .../lib/AppInfo/Application.php | 21 +++- 3 files changed, 66 insertions(+), 69 deletions(-) diff --git a/apps/federatedfilesharing/appinfo/app.php b/apps/federatedfilesharing/appinfo/app.php index 6e5a153522..39b47eab65 100644 --- a/apps/federatedfilesharing/appinfo/app.php +++ b/apps/federatedfilesharing/appinfo/app.php @@ -23,22 +23,6 @@ * */ -use OCA\FederatedFileSharing\Notifier; use OCA\FederatedFileSharing\AppInfo\Application; -$app = \OC::$server->query(Application::class); -$eventDispatcher = \OC::$server->getEventDispatcher(); - -$manager = \OC::$server->getNotificationManager(); -$manager->registerNotifierService(Notifier::class); - -$federatedShareProvider = $app->getFederatedShareProvider(); - -$eventDispatcher->addListener( - 'OCA\Files::loadAdditionalScripts', - function() use ($federatedShareProvider) { - if ($federatedShareProvider->isIncomingServer2serverShareEnabled()) { - \OCP\Util::addScript('federatedfilesharing', 'external'); - } - } -); +\OC::$server->query(Application::class); diff --git a/apps/federatedfilesharing/js/external.js b/apps/federatedfilesharing/js/external.js index 1daecd2e74..dd39bcde1e 100644 --- a/apps/federatedfilesharing/js/external.js +++ b/apps/federatedfilesharing/js/external.js @@ -1,4 +1,4 @@ -/* +/** * Copyright (c) 2014 Robin Appelman * * This file is licensed under the Affero General Public License version 3 @@ -7,17 +7,22 @@ * See the COPYING-README file. * */ -(function () { +(function() { + + OCA.Sharing = OCA.Sharing || {} + /** * Shows "add external share" dialog. * - * @param {String} remote remote server URL - * @param {String} owner owner name - * @param {String} name name of the shared folder - * @param {String} token authentication token + * @param {Object} share the share + * @param {String} share.remote remote server URL + * @param {String} share.owner owner name + * @param {String} share.name name of the shared folder + * @param {String} share.token authentication token * @param {bool} passwordProtected true if the share is password protected + * @param {Function} callback the callback */ - OCA.Sharing.showAddExternalDialog = function (share, passwordProtected, callback) { + OCA.Sharing.showAddExternalDialog = function(share, passwordProtected, callback) { var remote = share.remote; var owner = share.ownerDisplayName || share.owner; var name = share.name; @@ -28,10 +33,10 @@ t( 'files_sharing', 'Do you want to add the remote share {name} from {owner}@{remote}?', - {name: name, owner: owner, remote: remoteClean} + { name: name, owner: owner, remote: remoteClean } ), - t('files_sharing','Remote share'), - function (result) { + t('files_sharing', 'Remote share'), + function(result) { callback(result, share); }, true @@ -41,15 +46,15 @@ t( 'files_sharing', 'Do you want to add the remote share {name} from {owner}@{remote}?', - {name: name, owner: owner, remote: remoteClean} + { name: name, owner: owner, remote: remoteClean } ), - t('files_sharing','Remote share'), - function (result, password) { + t('files_sharing', 'Remote share'), + function(result, password) { share.password = password; callback(result, share); }, true, - t('files_sharing','Remote share password'), + t('files_sharing', 'Remote share password'), true ).then(this._adjustDialog); } @@ -93,7 +98,7 @@ processIncomingShareFromUrl: function() { var fileList = this.filesApp.fileList; var params = OC.Util.History.parseUrlQuery(); - //manually add server-to-server share + // manually add server-to-server share if (params.remote && params.token && params.owner && params.name) { var callbackAddShare = function(result, share) { @@ -109,19 +114,15 @@ name: share.name, password: password } - ).done( - function(data) { - if (data.hasOwnProperty('legacyMount')) { - fileList.reload(); - } else { - OC.Notification.showTemporary(data.message); - } - } - ).fail( - function(data) { - OC.Notification.showTemporary(JSON.parse(data.responseText).message); + ).done(function(data) { + if (data.hasOwnProperty('legacyMount')) { + fileList.reload(); + } else { + OC.Notification.showTemporary(data.message); } - ); + }).fail(function(data) { + OC.Notification.showTemporary(JSON.parse(data.responseText).message); + }); } }; @@ -142,36 +143,31 @@ processSharesToConfirm: function() { var fileList = this.filesApp.fileList; // check for new server-to-server shares which need to be approved - $.get(OC.generateUrl('/apps/files_sharing/api/externalShares'), - {}, - function(shares) { + $.get(OC.generateUrl('/apps/files_sharing/api/externalShares'), {}, function(shares) { var index; for (index = 0; index < shares.length; ++index) { OCA.Sharing.showAddExternalDialog( - shares[index], - false, - function(result, share) { - if (result) { - // Accept - $.post(OC.generateUrl('/apps/files_sharing/api/externalShares'), {id: share.id}) - .then(function() { - fileList.reload(); - }); - } else { - // Delete - $.ajax({ - url: OC.generateUrl('/apps/files_sharing/api/externalShares/'+share.id), - type: 'DELETE' + shares[index], + false, + function(result, share) { + if (result) { + // Accept + $.post(OC.generateUrl('/apps/files_sharing/api/externalShares'), {id: share.id}) + .then(function() { + fileList.reload(); }); - } + } else { + // Delete + $.ajax({ + url: OC.generateUrl('/apps/files_sharing/api/externalShares/'+share.id), + type: 'DELETE' + }); } + } ); - } - - }); - + }}); } }; -})(); +})(OC, OCA); OC.Plugins.register('OCA.Files.App', OCA.Sharing.ExternalShareDialogPlugin); diff --git a/apps/federatedfilesharing/lib/AppInfo/Application.php b/apps/federatedfilesharing/lib/AppInfo/Application.php index 07cd8d1ea3..c60c62a975 100644 --- a/apps/federatedfilesharing/lib/AppInfo/Application.php +++ b/apps/federatedfilesharing/lib/AppInfo/Application.php @@ -32,7 +32,7 @@ use OCA\FederatedFileSharing\AddressHandler; use OCA\FederatedFileSharing\Controller\RequestHandlerController; use OCA\FederatedFileSharing\FederatedShareProvider; use OCA\FederatedFileSharing\Notifications; -use OCA\FederatedFileSharing\OCM\CloudFederationProvider; +use OCA\FederatedFileSharing\Notifier; use OCA\FederatedFileSharing\OCM\CloudFederationProviderFiles; use OCP\AppFramework\App; use OCP\GlobalScale\IConfig; @@ -99,6 +99,23 @@ class Application extends App { $server->getCloudFederationProviderManager() ); }); + + // register events listeners + $eventDispatcher = $server->getEventDispatcher(); + $manager = $server->getNotificationManager(); + $federatedShareProvider = $this->getFederatedShareProvider(); + + $manager->registerNotifierService(Notifier::class); + + $eventDispatcher->addListener( + 'OCA\Files::loadAdditionalScripts', + function() use ($federatedShareProvider) { + if ($federatedShareProvider->isIncomingServer2serverShareEnabled()) { + \OCP\Util::addScript('federatedfilesharing', 'external'); + } + } + ); + } /** @@ -106,7 +123,7 @@ class Application extends App { * * @return FederatedShareProvider */ - public function getFederatedShareProvider() { + protected function getFederatedShareProvider() { if ($this->federatedShareProvider === null) { $this->initFederatedShareProvider(); } From 3a563fdfd7051deaa6b75217e1f8315309e8734b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6?= Date: Thu, 5 Dec 2019 20:51:20 +0100 Subject: [PATCH 2/2] revert protected --- apps/federatedfilesharing/lib/AppInfo/Application.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/federatedfilesharing/lib/AppInfo/Application.php b/apps/federatedfilesharing/lib/AppInfo/Application.php index c60c62a975..b86ebebe26 100644 --- a/apps/federatedfilesharing/lib/AppInfo/Application.php +++ b/apps/federatedfilesharing/lib/AppInfo/Application.php @@ -123,7 +123,7 @@ class Application extends App { * * @return FederatedShareProvider */ - protected function getFederatedShareProvider() { + public function getFederatedShareProvider() { if ($this->federatedShareProvider === null) { $this->initFederatedShareProvider(); }