From 91023875735830ba44027353e8ad355012212328 Mon Sep 17 00:00:00 2001 From: celestora Date: Tue, 7 Feb 2023 22:39:07 +0200 Subject: [PATCH] Minor improvements in video attachments --- Web/Models/VideoDrivers/VideoDriver.php | 2 +- Web/Models/VideoDrivers/YouTubeVideoDriver.php | 6 +++--- Web/Presenters/templates/Videos/View.xml | 2 +- .../templates/components/attachment.xml | 16 +++++++++++++--- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Web/Models/VideoDrivers/VideoDriver.php b/Web/Models/VideoDrivers/VideoDriver.php index 141e738b..04c4d23a 100644 --- a/Web/Models/VideoDrivers/VideoDriver.php +++ b/Web/Models/VideoDrivers/VideoDriver.php @@ -14,5 +14,5 @@ abstract class VideoDriver abstract function getURL(): string; - abstract function getEmbed(): string; + abstract function getEmbed(int $w = 600, int $h = 340): string; } diff --git a/Web/Models/VideoDrivers/YouTubeVideoDriver.php b/Web/Models/VideoDrivers/YouTubeVideoDriver.php index 93aee0e5..a4bc58c7 100644 --- a/Web/Models/VideoDrivers/YouTubeVideoDriver.php +++ b/Web/Models/VideoDrivers/YouTubeVideoDriver.php @@ -13,12 +13,12 @@ final class YouTubeVideoDriver extends VideoDriver return "https://youtu.be/$this->id"; } - function getEmbed(): string + function getEmbed(int $w = 600, int $h = 340): string { return <<getEmbed()|noescape} + {$driver->getEmbed(-1, -1)|noescape} {/if} {/if} diff --git a/Web/Presenters/templates/components/attachment.xml b/Web/Presenters/templates/components/attachment.xml index 3b5f9915..dccca5c8 100644 --- a/Web/Presenters/templates/components/attachment.xml +++ b/Web/Presenters/templates/components/attachment.xml @@ -9,9 +9,19 @@ {/if} {elseif $attachment instanceof \openvk\Web\Models\Entities\Video} -
- -
+ {if $attachment->getType() === 0} +
+ +
+ {else} + {var $driver = $attachment->getVideoDriver()} + {if !$driver} + {_version_incompatibility} + {else} + {$driver->getEmbed()|noescape} + {/if} + {/if} +