Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/landing/lib/publicaction/ |
Upload File : |
<?php namespace Bitrix\Landing\PublicAction; use Bitrix\Landing\Error; use Bitrix\Landing\PublicActionResult; use Bitrix\Main\Loader; use Bitrix\Seo\Retargeting; use Bitrix\Seo\Media; class Vk { public static function isAuthorized(): PublicActionResult { $result = new PublicActionResult(); if (!Loader::includeModule('seo')) { $error = new Error; $error->addError('SEO_NOT_INCLUDED'); $result->setError($error); return $result; } $service = Media\Service::getInstance(); $authAdapter = Retargeting\AuthAdapter::create('vkontakte', $service); $result->setResult($authAdapter->hasAuth()); return $result; } public static function getAuthUrl(): PublicActionResult { $result = new PublicActionResult(); if (!Loader::includeModule('seo')) { $error = new Error; $error->addError('SEO_NOT_INCLUDED'); $result->setError($error); return $result; } $service = Media\Service::getInstance(); $authAdapter = Retargeting\AuthAdapter::create('vkontakte', $service); $result->setResult($authAdapter->getAuthUrl()); return $result; } public static function getVideoInfo(string $videoId): PublicActionResult { $result = new PublicActionResult(); if (!Loader::includeModule('seo')) { $error = new Error; $error->addError('SEO_NOT_INCLUDED'); $result->setError($error); $result->setResult(false); return $result; } $response = Media\Service::getVideo($videoId); if ($response->isSuccess()) { $responseData = $response->getData(); if ($responseData['count']) { $responseItem = $responseData['items'][0]; if ($responseItem['content_restricted'] && $responseItem['content_restricted_message']) { $error = new Error; $error->addError( 'CONTENT_RESTRICTED', $responseItem['content_restricted_message'] ); $result->setError($error); } else { $result->setResult([ 'player' => $responseItem['player'], 'preview' => $responseItem['image'][min(count($responseItem['image']), 4) - 1], ]); } } else { $result->setResult([]); } } else { $error = new Error; foreach ($response->getErrors() as $err) { $error->addError($err->getCode(), $err->getMessage()); } $result->setError($error); } return $result; } }