• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/tracker.php
  • Класс: BitrixImOpenLinesTracker
  • Вызов: Tracker::change
public function change($messageId, $newEntityType, $newEntityId)
{
	$return = false;
	$messageId = intval($messageId);
	$newEntityId = intval($newEntityId);

	/*if (BitrixMainLoader::includeModule('crm') && $messageId > 0 && in_array($newEntityType, Array(Crm::ENTITY_COMPANY, Crm::ENTITY_LEAD, Crm::ENTITY_CONTACT)) && $newEntityId > 0)
	{
		$log = Array();
		$delete = Array();

		$sessionId = 0;
		$messageOriginId = 0;

		$action = '';
		$entityType = '';
		$entityId = 0;

		$orm = ModelTrackerTable::getList(Array(
			'filter' => Array('=MESSAGE_ID' => $messageId)
		));

		$return = true;

		while ($row = $orm->fetch())
		{
			$entityType = $row['CRM_ENTITY_TYPE'];
			$entityId = $row['CRM_ENTITY_ID'];
			$action = $row['ACTION'];
			$fieldId = $row['FIELD_ID'];
			$fieldType = $row['FIELD_TYPE'];

			$sessionId = $row['SESSION_ID'];
			$messageOriginId = $row['MESSAGE_ORIGIN_ID'];

			if ($newEntityType == $entityType && $newEntityId == $entityId)
				$return = false;

			$log[$entityType][$entityId][$action][$fieldId][$fieldType][] = $row['FIELD_VALUE'];
			$delete[] = $row['ID'];
		}

		if($return && !empty($delete))
		{
			foreach ($log as $entityType => $entityTypeValue)
			{
				if($entityType == Crm::ENTITY_ACTIVITY)
				{
					self::cancelActivity($entityTypeValue);
				}
				else
				{
					self::changeLeadContactCompany($entityType, $entityTypeValue);
				}
			}

			foreach ($delete as $id)
			{
				ModelTrackerTable::delete($id);
			}

			$return = true;

			if ($messageOriginId)
			{
				$sessionData = ModelSessionTable::getByIdPerformance($sessionId)->fetch();

				$session = new Session();
				$result = $session->load(Array(
					'USER_CODE' => $sessionData['USER_CODE']
				));
				if ($result)
				{
					$messageData = BitrixImModelMessageTable::getById($messageOriginId)->fetch();
					$this->message(Array(
						'SESSION' => $session,
						'MESSAGE' => Array(
							'ID' => $messageData["ID"],
							'TEXT' => $messageData["MESSAGE"],
						),
						'UPDATE_ID' => $messageId,
						'CRM' => Array(
							'ENTITY_TYPE' => $newEntityType,
							'ENTITY_ID' => $newEntityId,
						)
					));
				}
			}
		}
		else
		{
			$return = false;
		}
	}*/

	return $return;
}