- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
- Класс: CIMMessenger
- Вызов: CIMMessenger::GetById
static function GetById($ID, $params = Array())
{
global $DB;
$ID = intval($ID);
$strSql = "
SELECT
DISTINCT M.*,
".$DB->DatetimeToTimestampFunction('M.DATE_CREATE')." DATE_CREATE,
C.TYPE MESSAGE_TYPE,
C.AUTHOR_ID CHAT_AUTHOR_ID,
C.ENTITY_TYPE CHAT_ENTITY_TYPE,
C.ENTITY_ID CHAT_ENTITY_ID,
C.PARENT_ID CHAT_PARENT_ID,
C.PARENT_MID CHAT_PARENT_MID,
C.ENTITY_DATA_1 CHAT_ENTITY_DATA_1,
C.ENTITY_DATA_2 CHAT_ENTITY_DATA_2,
C.ENTITY_DATA_3 CHAT_ENTITY_DATA_3
FROM b_im_message M
LEFT JOIN b_im_chat C ON M.CHAT_ID = C.ID
WHERE M.ID = ".$ID;
$dbRes = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
if ($arRes = $dbRes->Fetch())
{
$param = CIMMessageParam::Get($arRes['ID']);
$arRes['PARAMS'] = $param? $param: Array();
}
if ($arRes && ($params['WITH_FILES'] ?? null) === 'Y')
{
$arFiles = Array();
if (isset($arRes['PARAMS']['FILE_ID']))
{
foreach ($arRes['PARAMS']['FILE_ID'] as $fileId)
{
$arFiles[$fileId] = $fileId;
}
}
$arRes['FILES'] = CIMDisk::GetFiles($arRes['CHAT_ID'], $arFiles, false);
}
return $arRes;
}