• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/chat.php
  • Класс: BitrixImOpenLinesChat
  • Вызов: Chat::setCrmFlag
public function setCrmFlag($params)
{
	$result = false;

	$updateDate = [];

	$sessionField = $this->getFieldData(self::FIELD_SESSION);
	$sessionCrmField = $this->getFieldData(self::FIELD_CRM);

	if(isset($params['ACTIVE']))
	{
		$params['ACTIVE'] = $params['ACTIVE'] == 'Y'? 'Y': 'N';
		if($params['ACTIVE'] != $sessionField['CRM'])
		{
			$updateDate[self::FIELD_SESSION]['CRM'] = $params['ACTIVE'];
		}
	}
	if(isset($params['CRM']))
	{
		$params['CRM'] = $params['CRM'] == 'Y'? 'Y': 'N';
		if($params['CRM'] != $sessionField['CRM'])
		{
			$updateDate[self::FIELD_SESSION]['CRM'] = $params['CRM'];
		}
	}
	if(isset($params['ENTITY_TYPE']))
	{
		if($params['ENTITY_TYPE'] != $sessionField['CRM_ENTITY_TYPE'])
		{
			$updateDate[self::FIELD_SESSION]['CRM_ENTITY_TYPE'] = $params['ENTITY_TYPE'];
		}
	}
	if(isset($params['ENTITY_ID']))
	{
		$params['ENTITY_ID'] = intval($params['ENTITY_ID']);
		if($params['ENTITY_ID'] != $sessionField['CRM_ENTITY_ID'])
		{
			$updateDate[self::FIELD_SESSION]['CRM_ENTITY_ID'] = $params['ENTITY_ID'];
		}
	}

	if(isset($params['LEAD']))
	{
		$params['LEAD'] = intval($params['LEAD']);
		if($params['LEAD'] != $sessionCrmField['LEAD'])
		{
			$updateDate[self::FIELD_CRM]['LEAD'] = $params['LEAD'];
		}
	}

	if(isset($params['COMPANY']))
	{
		$params['COMPANY'] = intval($params['COMPANY']);
		if($params['COMPANY'] != $sessionCrmField['COMPANY'])
		{
			$updateDate[self::FIELD_CRM]['COMPANY'] = $params['COMPANY'];
		}
	}

	if(isset($params['CONTACT']))
	{
		$params['CONTACT'] = intval($params['CONTACT']);
		if($params['CONTACT'] != $sessionCrmField['CONTACT'])
		{
			$updateDate[self::FIELD_CRM]['CONTACT'] = $params['CONTACT'];
		}
	}

	if(isset($params['DEAL']))
	{
		$params['DEAL'] = intval($params['DEAL']);
		if($params['DEAL'] != $sessionCrmField['DEAL'])
		{
			$updateDate[self::FIELD_CRM]['DEAL'] = $params['DEAL'];
		}
	}

	if(!empty($updateDate))
	{
		$raw = $this->updateFieldData($updateDate);

		if($raw->isSuccess())
		{
			$result = true;
		}
	}

	return $result;
}