• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/tracker.php
  • Класс: BitrixImOpenLinesTracker
  • Вызов: Tracker::cancelActivity
static function cancelActivity($params)
{
	foreach ($params as $entityId => $entityIdValue)
	{
		foreach ($entityIdValue as $action => $actionValue)
		{
			if ($action == self::ACTION_CREATE)
			{
				CCrmActivity::Delete($entityId);
			}
			else
			{
				$bindings = CAllCrmActivity::GetBindings($entityId);

				foreach ($bindings as $key => $value)
				{
					unset($bindings[$key]['ID']);
				}

				foreach ($actionValue as $fieldId => $fieldIdValue)
				{
					foreach ($fieldIdValue as $fieldType => $fieldTypeValue)
					{
						foreach ($fieldTypeValue as $value)
						{
							$deleteBinding = array(
								"OWNER_TYPE_ID" => CCrmOwnerType::ResolveID($fieldId),
								"OWNER_ID" => $value
							);

							if(in_array($deleteBinding, $bindings))
							{
								$key = array_search($deleteBinding, $bindings);

								unset($bindings[$key]);
							}
						}
					}
				}

				CAllCrmActivity::SaveBindings($entityId, $bindings);
			}
		}
	}
}