From e0d919bbfcc3de5839a5134f301b879a949cf6c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Fri, 22 Jul 2016 16:13:26 +0200 Subject: [PATCH 1/3] Adding Open Graph Support for public shares http://ogp.me/ In case no preview is available we display the ownCloud logo Fix unit test --- .../files_sharing/lib/AppInfo/Application.php | 8 +++-- .../lib/Controllers/ShareController.php | 31 ++++++++++++++++-- apps/files_sharing/templates/public.php | 2 +- .../tests/Controllers/ShareControllerTest.php | 6 +++- core/img/favicon-fb.png | Bin 0 -> 9786 bytes 5 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 core/img/favicon-fb.png diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php index 5558ffbdfc4..357860e8fa0 100644 --- a/apps/files_sharing/lib/AppInfo/Application.php +++ b/apps/files_sharing/lib/AppInfo/Application.php @@ -37,12 +37,14 @@ use OCA\Files_Sharing\Controllers\ExternalSharesController; use OCA\Files_Sharing\Controllers\ShareController; use OCA\Files_Sharing\Middleware\SharingCheckMiddleware; use \OCP\IContainer; +use OCP\IServerContainer; class Application extends App { public function __construct(array $urlParams = array()) { parent::__construct('files_sharing', $urlParams); $container = $this->getContainer(); + /** @var IServerContainer $server */ $server = $container->getServer(); /** @@ -63,7 +65,9 @@ class Application extends App { $server->getPreviewManager(), $server->getRootFolder(), $federatedSharingApp->getFederatedShareProvider(), - $server->getEventDispatcher() + $server->getEventDispatcher(), + $server->getL10N($c->query('AppName')), + $server->getThemingDefaults() ); }); $container->registerService('ExternalSharesController', function (SimpleContainer $c) { @@ -133,7 +137,7 @@ class Application extends App { }); // Execute middlewares - $container->registerMiddleware('SharingCheckMiddleware'); + $container->registerMiddleWare('SharingCheckMiddleware'); $container->registerMiddleWare('OCSShareAPIMiddleware'); $container->registerService('MountProvider', function (IContainer $c) { diff --git a/apps/files_sharing/lib/Controllers/ShareController.php b/apps/files_sharing/lib/Controllers/ShareController.php index 5ccaab746fc..8e3405311e9 100644 --- a/apps/files_sharing/lib/Controllers/ShareController.php +++ b/apps/files_sharing/lib/Controllers/ShareController.php @@ -35,6 +35,8 @@ namespace OCA\Files_Sharing\Controllers; use OC_Files; use OC_Util; use OCA\FederatedFileSharing\FederatedShareProvider; +use OCP\Defaults; +use OCP\IL10N; use OCP\Template; use OCP\Share; use OCP\AppFramework\Controller; @@ -84,6 +86,10 @@ class ShareController extends Controller { protected $federatedShareProvider; /** @var EventDispatcherInterface */ protected $eventDispatcher; + /** @var IL10N */ + protected $l10n; + /** @var Defaults */ + protected $defaults; /** * @param string $appName @@ -99,6 +105,8 @@ class ShareController extends Controller { * @param IRootFolder $rootFolder * @param FederatedShareProvider $federatedShareProvider * @param EventDispatcherInterface $eventDispatcher + * @param IL10N $l10n + * @param \OC_Defaults $defaults */ public function __construct($appName, IRequest $request, @@ -112,7 +120,9 @@ class ShareController extends Controller { IPreview $previewManager, IRootFolder $rootFolder, FederatedShareProvider $federatedShareProvider, - EventDispatcherInterface $eventDispatcher) { + EventDispatcherInterface $eventDispatcher, + IL10N $l10n, + \OC_Defaults $defaults) { parent::__construct($appName, $request); $this->config = $config; @@ -126,6 +136,8 @@ class ShareController extends Controller { $this->rootFolder = $rootFolder; $this->federatedShareProvider = $federatedShareProvider; $this->eventDispatcher = $eventDispatcher; + $this->l10n = $l10n; + $this->defaults = $defaults; } /** @@ -352,12 +364,19 @@ class ShareController extends Controller { $shareTmpl['hideFileList'] = $hideFileList; $shareTmpl['shareOwner'] = $this->userManager->get($share->getShareOwner())->getDisplayName(); - $shareTmpl['downloadURL'] = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadShare', array('token' => $token)); + $shareTmpl['downloadURL'] = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadShare', ['token' => $token]); + $shareTmpl['shareUrl'] = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.showShare', ['token' => $token]); $shareTmpl['maxSizeAnimateGif'] = $this->config->getSystemValue('max_filesize_animated_gifs_public_sharing', 10); $shareTmpl['previewEnabled'] = $this->config->getSystemValue('enable_previews', true); $shareTmpl['previewMaxX'] = $this->config->getSystemValue('preview_max_x', 1024); $shareTmpl['previewMaxY'] = $this->config->getSystemValue('preview_max_y', 1024); $shareTmpl['disclaimer'] = $this->config->getAppValue('core', 'shareapi_public_link_disclaimertext', null); + if ($shareTmpl['previewSupported']) { + $shareTmpl['previewImage'] = $this->urlGenerator->linkToRouteAbsolute( 'core_ajax_public_preview', + ['x' => 200, 'y' => 200, 'file' => $shareTmpl['directory_path'], 't' => $shareTmpl['dirToken']]); + } else { + $shareTmpl['previewImage'] = $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'favicon-fb.png')); + } // Load files we need \OCP\Util::addScript('files', 'file-upload'); @@ -382,6 +401,14 @@ class ShareController extends Controller { \OCP\Util::addScript('files', 'keyboardshortcuts'); } + // OpenGraph Support: http://ogp.me/ + \OCP\Util::addHeader('meta', ['property' => "og:title", 'content' => $this->defaults->getName() . ' - ' . $this->defaults->getSlogan()]); + \OCP\Util::addHeader('meta', ['property' => "og:description", 'content' => $this->l10n->t('%s is publicly shared', [$shareTmpl['filename']])]); + \OCP\Util::addHeader('meta', ['property' => "og:site_name", 'content' => $this->defaults->getName()]); + \OCP\Util::addHeader('meta', ['property' => "og:url", 'content' => $shareTmpl['shareUrl']]); + \OCP\Util::addHeader('meta', ['property' => "og:type", 'content' => "object"]); + \OCP\Util::addHeader('meta', ['property' => "og:image", 'content' => $shareTmpl['previewImage']]); + $this->eventDispatcher->dispatch('OCA\Files_Sharing::loadAdditionalScripts'); $csp = new \OCP\AppFramework\Http\ContentSecurityPolicy(); diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index bdedb04d244..80c7d4d7460 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -4,7 +4,7 @@ ?> - +
diff --git a/apps/files_sharing/tests/Controllers/ShareControllerTest.php b/apps/files_sharing/tests/Controllers/ShareControllerTest.php index 1b9fd401f78..cc51d0b1f82 100644 --- a/apps/files_sharing/tests/Controllers/ShareControllerTest.php +++ b/apps/files_sharing/tests/Controllers/ShareControllerTest.php @@ -109,7 +109,9 @@ class ShareControllerTest extends \Test\TestCase { $this->previewManager, $this->getMockBuilder('\OCP\Files\IRootFolder')->getMock(), $this->federatedShareProvider, - $this->eventDispatcher + $this->eventDispatcher, + $this->getMockBuilder('\OCP\IL10N')->getMock(), + $this->getMockBuilder('\OCP\Defaults')->getMock() ); @@ -392,6 +394,8 @@ class ShareControllerTest extends \Test\TestCase { 'hideFileList' => false, 'shareOwner' => 'ownerDisplay', 'disclaimer' => 'My disclaimer text', + 'shareUrl' => null, + 'previewImage' => null ); $csp = new \OCP\AppFramework\Http\ContentSecurityPolicy(); diff --git a/core/img/favicon-fb.png b/core/img/favicon-fb.png new file mode 100644 index 0000000000000000000000000000000000000000..9f0c3f40e08e83caede65d2977f2f0626730badb GIT binary patch literal 9786 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 CWRKkd literal 0 HcmV?d00001 From 57d54c9b720de8ed31f9e20fc09bdd25ee48286a Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Fri, 21 Oct 2016 17:15:18 +0200 Subject: [PATCH 2/3] Use proper image Signed-off-by: Morris Jobke --- core/img/favicon-fb.png | Bin 9786 -> 39535 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/img/favicon-fb.png b/core/img/favicon-fb.png index 9f0c3f40e08e83caede65d2977f2f0626730badb..dc07d7c1c80b2278960de875acc115ac088a9398 100644 GIT binary patch literal 39535 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ℜ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 literal 9786 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 CWRKkd From 7792902808297b79c36f16b1acdffa892a7d3da7 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 21 Oct 2016 21:43:15 +0200 Subject: [PATCH 3/3] Fix tests Signed-off-by: Roeland Jago Douma --- apps/files_sharing/tests/Controllers/ShareControllerTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/files_sharing/tests/Controllers/ShareControllerTest.php b/apps/files_sharing/tests/Controllers/ShareControllerTest.php index cc51d0b1f82..94891d868c2 100644 --- a/apps/files_sharing/tests/Controllers/ShareControllerTest.php +++ b/apps/files_sharing/tests/Controllers/ShareControllerTest.php @@ -111,7 +111,7 @@ class ShareControllerTest extends \Test\TestCase { $this->federatedShareProvider, $this->eventDispatcher, $this->getMockBuilder('\OCP\IL10N')->getMock(), - $this->getMockBuilder('\OCP\Defaults')->getMock() + $this->getMockBuilder('\OC_Defaults')->getMock() );