$elementId = filter_var($_REQUEST['elementId'], FILTER_SANITIZE_STRING); if ($userFieldId === false) { die; } if (isset($_REQUEST['url'])) { $url = filter_var($_REQUEST['url'], FILTER_VALIDATE_URL); $urlMetadata = UrlPreview::getMetadataByUrl($url); } else { if (isset($_REQUEST['id'])) { $signer = new \Bitrix\Main\Security\Sign\Signer(); try { $id = $signer->unsign($_REQUEST['id'], UrlPreview::SIGN_SALT); } catch (Bitrix\Main\SystemException $e) { die; } $metadata = UrlPreview::getMetadataAndHtmlByIds(array($id), true); if (isset($metadata[$id])) { $urlMetadata = $metadata[$id]; } } } if (!isset($urlMetadata['ID'])) { die; } $userFieldParams = array('arUserField' => \CUserTypeEntity::getById($userFieldId), 'urlPreviewId' => $elementId); $userField = array('VALUE' => array($urlMetadata['ID'])); $APPLICATION->ShowAjaxHead(); $outputHtml = UrlPreview::showEdit($userField, $userFieldParams); echo $outputHtml; die; }
public static function getAttachments($id, $typeArray = false) { $attachArray = array(); if (is_array($id)) { foreach ($id as $key => $value) { $id[$key] = intval($value); } } else { $id = array(intval($id)); } $params = UrlPreview\UrlPreview::getMetadataAndHtmlByIds($id); foreach ($params as $id => $linkParam) { if ($attach = self::formatAttach($linkParam)) { $attachArray[$id] = $typeArray ? $attach->GetArray() : $attach; } } return $attachArray; }