• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recovery/entityrecoverydata.php
  • Класс: Bitrix\Crm\Recovery\EntityRecoveryData
  • Вызов: EntityRecoveryData::initializeFromFields
protected function initializeFromFields(array $fields)
{
	$this->ID = isset($fields['ID']) ? intval($fields['ID']) : 0;
	$this->entityID = isset($fields['ENTITY_ID']) ? intval($fields['ENTITY_ID']) : 0;
	$this->entityTypeID = isset($fields['ENTITY_TYPE_ID']) ? intval($fields['ENTITY_TYPE_ID']) : 0;
	$this->contextID = isset($fields['CONTEXT_ID']) ? intval($fields['CONTEXT_ID']) : 0;
	$this->userID = isset($fields['USER_ID']) ? intval($fields['USER_ID']) : 0;
	$this->responsibleID = isset($fields['RESPONSIBLE_ID']) ? intval($fields['RESPONSIBLE_ID']) : 0;
	$this->title = isset($fields['TITLE']) ? $fields['TITLE'] : '';

	if(isset($fields['REGISTRATION_TIME']))
	{
		$this->registrationTime = $fields['REGISTRATION_TIME'];
	}

	$data = isset($fields['DATA']) ? $fields['DATA'] : '';
	if($data !== '')
	{
		$isCompressed = isset($fields['IS_COMPRESSED']) ? $fields['IS_COMPRESSED'] : '';
		if($isCompressed === 'Y')
		{
			if(!self::isCompressionEnabled())
			{
				throw new Main\NotSupportedException("Could not prepare recovery date. Compression is disabled in current environment.");
			}
			$data = gzuncompress($data);
			if($data === false)
			{
				$data = '';
			}
		}
	}
	$this->data = $data !== '' ? unserialize($data, ['allowed_classes' => false]) : array();
}