Skip to content

Commit

Permalink
feat(files_sharing): Add opengraph meta tags for multimedia, change o…
Browse files Browse the repository at this point in the history
…pengraph type to website

- Adds the following opengraph tags
  - images:
    - `og:image:type`: the mimetype of the image file
  - audio:
    - `og:audio`: a direct link to the audio file
    - `og:audio:type`: the mimetype of the audio file
  - video:
    - `og:video`: a direct link to the video file
    - `og:video:type`: the mimetype of the video file
- Changes th `og:type` meta tag from `object` (which is not valid) to `website`

Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
  • Loading branch information
solonovamax committed Dec 15, 2024
1 parent 8e7cdf9 commit 7a6611d
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,20 @@ protected function addMetaHeaders(IShare $share): void {
Util::addHeader('meta', ['property' => 'og:description', 'content' => $description]);
Util::addHeader('meta', ['property' => 'og:site_name', 'content' => $siteName]);
Util::addHeader('meta', ['property' => 'og:url', 'content' => $shareUrl]);
Util::addHeader('meta', ['property' => 'og:type', 'content' => 'object']);
Util::addHeader('meta', ['property' => 'og:image', 'content' => $ogPreview]);
Util::addHeader('meta', ['property' => 'og:type', 'content' => 'website']);
Util::addHeader('meta', ['property' => 'og:image', 'content' => $ogPreview]); // recommended to always have the image
if ($shareNode->getMimePart() === 'image') {
Util::addHeader('meta', ['property' => 'og:image:type', 'content' => $shareNode->getMimeType()]);
} elseif ($shareNode->getMimePart() === 'audio') {
$audio = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadshare', ['token' => $token]);
Util::addHeader('meta', ['property' => 'og:audio', 'content' => $audio]);
Util::addHeader('meta', ['property' => 'og:audio:type', 'content' => $shareNode->getMimeType()]);
} elseif ($shareNode->getMimePart() === 'video') {
$video = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadshare', ['token' => $token]);
Util::addHeader('meta', ['property' => 'og:video', 'content' => $video]);
Util::addHeader('meta', ['property' => 'og:video:type', 'content' => $shareNode->getMimeType()]);
}


// Twitter Support: https://developer.x.com/en/docs/x-for-websites/cards/overview/markup
Util::addHeader('meta', ['property' => 'twitter:title', 'content' => $title]);
Expand Down

0 comments on commit 7a6611d

Please sign in to comment.