- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/controller/session/groupactions.php
- Класс: BitrixImOpenLinesControllerSessionGroupActions
- Вызов: GroupActions::getDialogAction
public function getDialogAction(): array
{
$result = [];
$filter = [
' Session::STATUS_CLOSE,
'!=CLOSED' => 'Y',
'CONFIG_ID' => Config::getIdConfigCanJoin()
];
$requestData = $this->request->toArray();
$currentFilter = BitrixImopenlinesHelpersFilter::getFilter($requestData['fields']['filterId']);
if ($currentFilter)
{
$filter = array_merge($filter, $currentFilter);
}
$sessions = SessionTable::getList([
'filter' => $filter,
'select' => [
'ID',
'CHAT_ID'
]
]);
while ($session = $sessions->fetch())
{
if (
!empty($session['ID'])
&& !empty($session['CHAT_ID'])
)
{
$result[] = [
'sessionId' => $session['ID'],
'chatId' => $session['CHAT_ID']
];
}
}
$this->declareTotalItems(count($result));
$this->declareProcessDone();
return $this->preformProcessAnswer([
'sessions' => $result,
]);
}