1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
vk.php
См. документацию.
1<?php
2
3namespace Bitrix\Main\UrlPreview\Parser;
4
5use Bitrix\Main\UrlPreview\HtmlDocument;
6use Bitrix\Main\Web\Uri;
7use Bitrix\Main\UrlPreview\UrlPreview;
8
9class Vk extends OpenGraph
10{
11 public function handle(HtmlDocument $document)
12 {
13 $uri = $document->getUri();
14 if(!str_starts_with($uri->getPath(), '/video'))
15 {
16 return;
17 }
18
19 parent::handle($document);
20
21 if(!empty($document->getExtraField('VIDEO')))
22 {
23 $ogVideo = $document->getExtraField('VIDEO');
24 $uri = new Uri($ogVideo);
25 $query = $uri->getQuery();
26 if(!empty($query))
27 {
28 parse_str($query, $params);
29 if(isset($params['oid']) && isset($params['id']) && isset($params['hash']))
30 {
31 $embedUri = new Uri('https://vk.com/video_ext.php');
32 $embedUri->addParams(array('oid' => $params['oid'], 'id' => $params['id'], 'hash' => $params['hash']));
33 if($document->getExtraField('VIDEO_WIDTH') && $document->getExtraField('VIDEO_WIDTH') < UrlPreview::IFRAME_MAX_WIDTH)
34 {
35 $width = $document->getExtraField('VIDEO_WIDTH');
36 }
37 else
38 {
39 $width = UrlPreview::IFRAME_MAX_WIDTH;
40 }
41 if($document->getExtraField('VIDEO_HEIGHT') && $document->getExtraField('VIDEO_HEIGHT') < UrlPreview::IFRAME_MAX_HEIGHT)
42 {
43 $height = $document->getExtraField('VIDEO_HEIGHT');
44 }
45 else
46 {
47 $height = UrlPreview::IFRAME_MAX_HEIGHT;
48 }
49 $iframe = '<iframe src="'.$embedUri->getLocator().'" allowfullscreen="" width="'.$width.'" height="'.$height.'" frameborder="0"></iframe>';
50 $document->setEmbed($iframe);
51 $document->setExtraField('PROVIDER_NAME', 'VK');
52 }
53 }
54 }
55 }
56}
getExtraField($fieldName)
Определения htmldocument.php:246
setExtraField($fieldName, $fieldValue)
Определения htmldocument.php:209
handle(HtmlDocument $document)
Определения vk.php:11
Определения uri.php:17
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$query
Определения get_search.php:11
if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/urlrewrite.php")) $uri
Определения urlrewrite.php:61
$width
Определения html.php:68
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799