CAllCrmSonetSubscription::ReplaceSubscriptionByEntity

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmSonetSubscription
  4. ReplaceSubscriptionByEntity
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/sonet_subscription.php
  • Класс: \CAllCrmSonetSubscription
  • Вызов: CAllCrmSonetSubscription::ReplaceSubscriptionByEntity
static function ReplaceSubscriptionByEntity($entityTypeID, $entityID, $typeID, $currentUserID, $previousUserID, $force = false)
{
	$currentUserID = max(intval($currentUserID), 0);
	$previousUserID = max(intval($previousUserID), 0);
	if($currentUserID === $previousUserID)
	{
		return;
	}

	if(!CCrmOwnerType::IsDefined($entityTypeID))
	{
		return;
	}

	$entityID = intval($entityID);
	if($entityID <= 0)
	{
		return;
	}

	$typeID = intval($typeID);
	if(!CCrmSonetSubscriptionType::IsDefined($typeID))
	{
		$typeID = CCrmSonetSubscriptionType::Observation;
	}

	$current = self::GetCurrent();
	if($currentUserID > 0)
	{
		$result = $current->UpdateByEntity($entityTypeID, $entityID, $typeID, $currentUserID);
		if(!$result && $force)
		{
			$current->Register($entityTypeID, $entityID, $typeID, $currentUserID);
		}
	}
	elseif($previousUserID > 0)
	{
		$current->UnRegister($entityTypeID, $entityID, $typeID, $previousUserID);
	}
}

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