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