• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/publicaction/vk.php
  • Класс: BitrixLandingPublicActionVk
  • Вызов: Vk::getVideoInfo
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 = MediaService::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',
					Encoding::convertEncoding(
						$responseItem['content_restricted_message'],
						'utf8',
						SITE_CHARSET
					)
				);
				$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;
}