- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/queue/event.php
- Класс: BitrixImOpenLinesQueueEvent
- Вызов: Event::onUserDelete
static function onUserDelete($userId)
{
if (
!empty($userId) &&
is_numeric($userId) &&
ImOpenLinesQueue::isRealOperator($userId)
)
{
$linesOperator = self::getLineIsOperator($userId);
$linesIsSessionOperator = self::getLineIsSessionOperatorNotLine($userId);
if (!empty($linesIsSessionOperator))
{
foreach ($linesIsSessionOperator as $lineId)
{
$configManager = self::initialization($lineId);
if(!empty($configManager))
{
$configManager->returnSessionsUsersToQueue([$userId], ImOpenLinesQueue::REASON_OPERATOR_DELETED);
}
}
}
if (!empty($linesOperator))
{
self::$linesUsersDelete[$userId] = $linesOperator;
foreach ($linesOperator as $lineId)
{
$queueManager = new QueueManager($lineId);
$queueManager->deleteItemsConfigQueue([['ENTITY_ID' => $userId, 'ENTITY_TYPE' => 'user']]);
}
}
ImOpenLinesDebug::addQueueEvent( __METHOD__, 0, 0, ['userId' => $userId, 'linesOperator' => $linesOperator, 'linesIsSessionOperator' => $linesIsSessionOperator]);
}
return true;
}