Bitrix API

UrlPreview

Table of Contents

Constants

FILE_RANGE  = 1023
IFRAME_MAX_HEIGHT  = 340
IFRAME_MAX_WIDTH  = 640
MAX_DESCRIPTION  = 500
MAX_FILE_SIZE  = 1048576
SIGN_SALT  = 'url_preview'
USER_AGENT  = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 (Bitrix link preview)'

Methods

checkDynamicPreviewAccess()  : bool
Returns true if current user has read access to the content behind internal url.
fetchVideoMetaData()  : array<string|int, mixed>|false
Returns video metaData for $url if its host is trusted.
getCurrentUserId()  : int
Returns id of currently logged user.
getDynamicPreview()  : string|false
Returns HTML code for the dynamic (internal url) preview.
getImAttach()  : CIMMessageParamAttach|false
Returns attach for the IM message with the requested internal entity content.
getImRich()  : RichData|false
getInnerFrameUrl()  : bool|string
Returns inner frame url to embed third parties html video players.
getMetadataAndHtmlByIds()  : array<string|int, mixed>|false
Returns stored metadata for array of IDs
getMetadataAndHtmlByUrl()  : array<string|int, mixed>|false
If url is remote - returns metadata for this url. If url is local - checks current user access to the entity behind the url, and returns html preview for this entity.
getMetadataByIds()  : mixed
getMetadataByUrl()  : array<string|int, mixed>|false
Returns associated metadata for the specified URL
isEnabled()  : bool
Checks if UrlPreview is enabled in module option
isHostTrusted()  : bool
Returns true if host of $uri is in $trustedHosts list.
isIpAddressPrivate()  : bool
isUrlCached()  : bool
Checks if metadata for the provided url is already fetched and cached.
reserveIdForUrl()  : int
Creates temporary record for url
resolveTemporaryMetadata()  : array<string|int, mixed>|false
Fetches and stores metadata for temporary record, created by UrlPreview::reserveIdForUrl. If metadata could not be fetched, deletes record.
setMetadataImage()  : bool
Sets main image url for the metadata with given id.
showEdit()  : string
Returns html code for url preview edit form
showView()  : string
Returns html code for url preview
sign()  : string
Signs value using UrlPreview salt

Constants

FILE_RANGE

public int FILE_RANGE = 1023

Range to read picture size

IFRAME_MAX_HEIGHT

public mixed IFRAME_MAX_HEIGHT = 340

IFRAME_MAX_WIDTH

public mixed IFRAME_MAX_WIDTH = 640

MAX_DESCRIPTION

public int MAX_DESCRIPTION = 500

Maximum allowed length of the description.

MAX_FILE_SIZE

public int MAX_FILE_SIZE = 1048576

Maximum allowed picture size

SIGN_SALT

public mixed SIGN_SALT = 'url_preview'

USER_AGENT

public mixed USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 (Bitrix link preview)'

Methods

checkDynamicPreviewAccess()

Returns true if current user has read access to the content behind internal url.

public static checkDynamicPreviewAccess(string $url[, mixed $userId = 0 ]) : bool
Parameters
$url : string

URL of the internal document.

$userId : mixed = 0
Tags
params

int $userId. ID of the users to check access. If userId == 0, will check access for current user.

Return values
bool —

True if current user has read access to the main entity of the document, or false otherwise.

fetchVideoMetaData()

Returns video metaData for $url if its host is trusted.

public static fetchVideoMetaData(string $url) : array<string|int, mixed>|false
Parameters
$url : string
Return values
array<string|int, mixed>|false

getCurrentUserId()

Returns id of currently logged user.

public static getCurrentUserId() : int
Return values
int —

User's id.

getDynamicPreview()

Returns HTML code for the dynamic (internal url) preview.

public static getDynamicPreview(string $url[, bool $checkAccess = true ][, mixed $userId = 0 ]) : string|false
Parameters
$url : string

URL of the internal document.

$checkAccess : bool = true

Should method check current user's access to the entity, or not.

$userId : mixed = 0
Tags
params

int $userId. ID of the users to check access. If userId == 0, will check access for current user.

Return values
string|false —

HTML code of the preview, or false if case of any errors (including access denied)/

getImAttach()

Returns attach for the IM message with the requested internal entity content.

public static getImAttach(string $url[, bool $checkAccess = true ][, mixed $userId = 0 ]) : CIMMessageParamAttach|false
Parameters
$url : string

URL of the internal document.

$checkAccess : bool = true

Should method check current user's access to the entity, or not.

$userId : mixed = 0
Tags
params

int $userId. ID of the users to check access. If userId == 0, will check access for current user.

Return values
CIMMessageParamAttach|false

getImRich()

public static getImRich(mixed $url[, bool $checkAccess = true ][, int $userId = 0 ]) : RichData|false
Parameters
$url : mixed
$checkAccess : bool = true
$userId : int = 0
Return values
RichData|false

getInnerFrameUrl()

Returns inner frame url to embed third parties html video players.

public static getInnerFrameUrl(int $id[, string $provider = '' ]) : bool|string
Parameters
$id : int
$provider : string = ''
Return values
bool|string

getMetadataAndHtmlByIds()

Returns stored metadata for array of IDs

public static getMetadataAndHtmlByIds(array<string|int, mixed> $ids[, bool $checkAccess = true ][, mixed $userId = 0 ]) : array<string|int, mixed>|false
Parameters
$ids : array<string|int, mixed>

Array of record's IDs.

$checkAccess : bool = true

Should method check current user's access to the internal entities, or not.

$userId : mixed = 0
Tags
params

int $userId. ID of the users to check access. If == 0, will check access for current user.

Return values
array<string|int, mixed>|false —

Array with provided IDs as the keys.

getMetadataAndHtmlByUrl()

If url is remote - returns metadata for this url. If url is local - checks current user access to the entity behind the url, and returns html preview for this entity.

public static getMetadataAndHtmlByUrl(string $url[, bool $addIfNew = true ][, mixed $reuseExistingMetadata = true ]) : array<string|int, mixed>|false
Parameters
$url : string

Document's URL.

$addIfNew : bool = true

Should method fetch and store metadata for the document, if it is not found in database.

$reuseExistingMetadata : mixed = true
Tags
params

bool $reuseExistingMetadata Allow reading of the cached metadata.

Return values
array<string|int, mixed>|false —

Metadata for the document, or false if metadata could not be fetched/parsed.

getMetadataByIds()

public static getMetadataByIds(array<string|int, mixed> $ids) : mixed
Parameters
$ids : array<string|int, mixed>

getMetadataByUrl()

Returns associated metadata for the specified URL

public static getMetadataByUrl(string $url[, bool $addIfNew = true ][, bool $reuseExistingMetadata = true ]) : array<string|int, mixed>|false
Parameters
$url : string

URL.

$addIfNew : bool = true

Should metadata be fetched and saved, if not found in database.

$reuseExistingMetadata : bool = true

Allow reading of the cached metadata.

Return values
array<string|int, mixed>|false —

Metadata for the URL if found, or false otherwise.

isEnabled()

Checks if UrlPreview is enabled in module option

public static isEnabled() : bool
Return values
bool —

True if UrlPreview is enabled in module options.

isHostTrusted()

Returns true if host of $uri is in $trustedHosts list.

public static isHostTrusted(Uri $uri) : bool
Parameters
$uri : Uri
Return values
bool

isIpAddressPrivate()

public static isIpAddressPrivate(string $ipAddress) : bool

Will be removed.

Parameters
$ipAddress : string
Return values
bool

isUrlCached()

Checks if metadata for the provided url is already fetched and cached.

public static isUrlCached(string $url) : bool
Parameters
$url : string

Document's URL.

Return values
bool —

True if metadata for the url is located in database, false otherwise.

reserveIdForUrl()

Creates temporary record for url

public static reserveIdForUrl(string $url) : int
Parameters
$url : string

URL for which temporary record should be created.

Return values
int —

Temporary record's id.

resolveTemporaryMetadata()

Fetches and stores metadata for temporary record, created by UrlPreview::reserveIdForUrl. If metadata could not be fetched, deletes record.

public static resolveTemporaryMetadata(int $id[, bool $checkAccess = true ][, mixed $userId = 0 ]) : array<string|int, mixed>|false
Parameters
$id : int

Metadata record's id.

$checkAccess : bool = true

Should method check current user's access to the entity, or not.

$userId : mixed = 0
Tags
params

int $userId. ID of the users to check access. If == 0, will check access for current user.

Return values
array<string|int, mixed>|false —

Metadata if fetched, false otherwise.

setMetadataImage()

Sets main image url for the metadata with given id.

public static setMetadataImage(int $id, string $imageUrl) : bool
Parameters
$id : int

ID of the metadata to set image url.

$imageUrl : string

Url of the image.

Tags
throws
ArgumentException
Return values
bool —

Returns true in case of successful update, or false otherwise.

showEdit()

Returns html code for url preview edit form

public static showEdit(array<string|int, mixed> $userField, array<string|int, mixed> $userFieldParams) : string
Parameters
$userField : array<string|int, mixed>

Userfield's value.

$userFieldParams : array<string|int, mixed>

Userfield's parameters.

Return values
string —

HTML code for the preview.

showView()

Returns html code for url preview

public static showView(array<string|int, mixed> $userField, array<string|int, mixed> $userFieldParams, string &$cacheTag[, bool $edit = false ]) : string
Parameters
$userField : array<string|int, mixed>

Userfield's value.

$userFieldParams : array<string|int, mixed>

Userfield's parameters.

$cacheTag : string

Cache tag for returned preview (out param).

$edit : bool = false

Show method build preview for editing the userfield.

Return values
string —

HTML code for the preview.

sign()

Signs value using UrlPreview salt

public static sign(string $id) : string
Parameters
$id : string

Unsigned value.

Tags
throws
ArgumentTypeException
Return values
string —

Signed value.


        
On this page

Search results