• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/status.php
  • Класс: BitrixImConnectorStatus
  • Вызов: Status::deleteLinesExcept
static function deleteLinesExcept(string $connector, int $lineToKeep): bool
{
	if (!empty(self::$instance[$connector]) && is_array(self::$instance[$connector]))
	{
		foreach (self::$instance[$connector] as $lineId => $lines)
		{
			if ($lineId != $lineToKeep)
			{
				unset(self::$instance[$connector][$lineId]);
			}
		}
	}

	$result = true;

	$raw = StatusConnectorsTable::getList([
		'select' => ['ID', 'LINE'],
		'filter' => [
			'!=LINE' => $lineToKeep,
			'=CONNECTOR' => $connector
		]
	]);
	while ($row = $raw->fetch())
	{
		$deleteResult = StatusConnectorsTable::delete($row['ID']);
		if (!$deleteResult->isSuccess())
		{
			$result = false;
		}

		$dataEvent = [
			'connector' => $connector,
			'line' => $row['LINE'],
		];
		$event = new Event(Library::MODULE_ID, Library::EVENT_STATUS_DELETE, $dataEvent);
		$event->send();
	}

	return $result;
}