- Модуль: 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);
}
}