• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/session/agent.php
  • Класс: BitrixImOpenLinesSessionAgent
  • Вызов: Agent::deleteBrokenSession
static function deleteBrokenSession(): string
{
	$sessList = BitrixImOpenLinesModelSessionTable::getList([
		'select' => ['ID', 'CHAT_ID'],
		'filter' => ['=CONFIG.ID' => null]
	]);
	while ($session = $sessList->fetch())
	{
		Im::chatHide($session['CHAT_ID']);
		Session::deleteSession($session['ID']);
	}

	$checkList = BitrixImOpenLinesModelSessionCheckTable::getList([
		'filter' => ['=SESSION.ID' => null]
	]);
	while ($session = $checkList->fetch())
	{
		BitrixImOpenLinesModelSessionCheckTable::delete($session['SESSION_ID']);
	}

	if (BitrixMainLoader::includeModule('pull'))
	{
		BitrixPullEvent::send();
	}

	return __METHOD__. '();';
}