1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
rutube.php
См. документацию.
1<?php
2
3namespace Bitrix\Main\UrlPreview\Parser;
4
5use Bitrix\Main\UrlPreview\HtmlDocument;
6use Bitrix\Main\UrlPreview\UrlPreview;
7
8class RuTube extends OpenGraph
9{
10 public function handle(HtmlDocument $document)
11 {
12 parent::handle($document);
13
14 // $video = $document->getExtraField('VIDEO');
15 // Rutube puts page URL instead of video URL to og:video
16 $video = (
17 $document->getMetaContent('og:video:secure_url')
18 ?? $document->getMetaContent('og:video:url')
19 ?? $document->getMetaContent('og:video')
20 ?? ''
21 );
22
23 if (!empty($video) && $document->getExtraField('VIDEO_TYPE') === 'text/html')
24 {
25 $width = $document->getExtraField('VIDEO_WIDTH');
26 if (!$width || $width > UrlPreview::IFRAME_MAX_WIDTH)
27 {
28 $width = UrlPreview::IFRAME_MAX_WIDTH;
29 $document->setExtraField('VIDEO_WIDTH', $width);
30 }
31 $height = $document->getExtraField('VIDEO_HEIGHT');
32 if (!$height || $height > UrlPreview::IFRAME_MAX_HEIGHT)
33 {
34 $height = UrlPreview::IFRAME_MAX_HEIGHT;
35 $document->setExtraField('VIDEO_HEIGHT', $height);
36 }
37 $iframe = '<iframe src="'.$video.'" allowfullscreen="" width="'.$width.'" height="'.$height.'" frameborder="0"></iframe>';
38 $document->setEmbed($iframe);
39 }
40 }
41}
getExtraField($fieldName)
Определения htmldocument.php:246
setExtraField($fieldName, $fieldValue)
Определения htmldocument.php:209
handle(HtmlDocument $document)
Определения rutube.php:10
$width
Определения html.php:68