- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
- Класс: CIMMessenger
- Вызов: CIMMessenger::UploadFileFromText
static function UploadFileFromText($params)
{
$params['CHAT_ID'] = intval($params['CHAT_ID']);
if (empty($params['MESSAGE']) || $params['CHAT_ID'] <= 0)
{
return $params;
}
if (preg_match_all("/[DISK=([0-9]+)]/i", $params['MESSAGE'], $matches))
{
$fileFound = false;
$files = [];
foreach ($matches[1] as $fileId)
{
$newFile = CIMDisk::SaveFromLocalDisk($params['CHAT_ID'], $fileId, false, BitrixImCommon::getUserId());
if ($newFile)
{
$files[] = $newFile;
$fileFound = true;
$params['PARAMS']['FILE_ID'][] = $newFile->getId();
}
}
if ($fileFound)
{
$params['MESSAGE'] = preg_replace("/[DISK=([0-9]+)]/i", "", $params['MESSAGE']);
$params['FILES_FROM_TEXT'] = $files;
}
}
return $params;
}