Esempio n. 1
0
    $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;
}