Sign::pack

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Sign
  4. pack
  • Модуль: 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);
}

Добавить комментарий