• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/Configuration/EventHandler.php
  • Класс: BitrixImConfigurationEventHandler
  • Вызов: EventHandler::onAfterUserDelete
static function onAfterUserDelete($userId): void
{
	$userId = (int)$userId;

	$row = OptionUserTable::getById($userId);
	if (!$row->fetch())
	{
		return;
	}

	$connection = Application::getConnection();
	$connection->query("DELETE FROM b_im_option_user where USER_ID = " . $userId);

	$userGroupId =
		OptionGroupTable::query()
			->addSelect('ID')
			->where('USER_ID', $userId)
			->fetch()['ID']
	;

	if (!$userGroupId)
	{
		return;
	}

	$userGroupId = (int)$userGroupId;
	$accessCode = 'U' . $userId;

	$connection->query("DELETE FROM b_im_option_access WHERE ACCESS_CODE = '$accessCode'");
	$connection->query("DELETE FROM b_im_option_state WHERE GROUP_ID = " . $userGroupId);
	$connection->query("DELETE FROM b_im_option_group WHERE ID = " . $userGroupId);
}