$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; }