- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/embed/sign.php
- Класс: Bitrix\Crm\WebForm\Embed\Sign
- Вызов: Sign::pack
public function pack(): string
{
$data = [];
$data[] = implode(
self::delimiterDataList,
array_map(
function ($item)
{
return $item['ENTITY_TYPE_ID'] . self::delimiterDataItem . $item['ENTITY_ID'];
},
$this->entities->toSimpleArray()
)
);
$data[] = implode(
self::delimiterDataList,
array_map(
function ($key, $value)
{
$value = str_replace(
[
self::delimiterData,
self::delimiterSign,
self::delimiterDataItem,
self::delimiterDataList,
],
'',
$value
);
return urlencode($key . self::delimiterDataItem . $value);
},
array_keys($this->properties),
array_values($this->properties)
)
);
$data = implode(self::delimiterData, $data);
$data = rtrim($data, ';');
return $this->getSigner()->sign($data, self::signTime, self::signSalt);
}