• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/rest.php
  • Класс: BitrixImOpenLinesRest
  • Вызов: Rest::sessionGetHistory
static function sessionGetHistory($arParams, $n, CRestServer $server)
{
	$control = new BitrixImOpenLinesOperator(0);
	$result = $control->getSessionHistory($arParams['SESSION_ID']);

	if (!$result)
	{
		throw new RestException($control->getError()->msg, $control->getError()->code, CRestServer::STATUS_WRONG_REQUEST);
	}

	return self::objectEncode([
		'CHAT_ID' => $result['chatId'],
		'CAN_JOIN' => $result['canJoin'],
		'CAN_VOTE_HEAD' => $result['canVoteAsHead'],
		'SESSION_ID' => $result['sessionId'],
		'SESSION_VOTE_HEAD' => $result['sessionVoteHead'],
		'SESSION_COMMENT_HEAD' => $result['sessionCommentHead'],
		'USER_ID' => 'chat'.$result['chatId'],
		'MESSAGE' => isset($result['message']) ? $result['message'] : [],
		'USERS_MESSAGE' => isset($result['message']) ? $result['usersMessage'] : [],
		'USERS' => isset($result['users']) ? $result['users'] : [],
		'OPENLINES' => isset($result['openlines']) ? $result['openlines'] : [],
		'USER_IN_GROUP' => isset($result['userInGroup']) ? $result['userInGroup'] : [],
		'WO_USER_IN_GROUP' => isset($result['woUserInGroup']) ? $result['woUserInGroup'] : [],
		'CHAT' => isset($result['chat']) ? $result['chat'] : [],
		'USER_BLOCK_CHAT' => isset($result['userChatBlockStatus']) ? $result['userChatBlockStatus'] : [],
		'USER_IN_CHAT' => isset($result['userInChat']) ? $result['userInChat'] : [],
		'FILES' => isset($result['files']) ? $result['files'] : [],
	]);
}