- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/file_proxy.php
- Класс: \CCrmFileProxy
- Вызов: CCrmFileProxy::WriteEventFileToResponse
static function WriteEventFileToResponse($eventID, $fileID, &$errors, $options = array())
{
$eventID = intval($eventID);
$fileID = intval($fileID);
if($eventID <= 0 || $fileID <= 0)
{
$errors[] = 'File not found';
return false;
}
//Get event file IDs and check permissions
$dbResult = CCrmEvent::GetListEx(
array(),
array(
'=ID' => $eventID
//'CHECK_PERMISSIONS' => 'Y' //by default
),
false,
false,
array('ID', 'FILES'),
array()
);
$event = $dbResult ? $dbResult->Fetch() : null;
if(!$event)
{
$errors[] = 'File not found';
return false;
}
if(is_array($event['FILES']))
{
$eventFiles = $event['FILES'];
}
elseif(is_string($event['FILES']) && $event['FILES'] !== '')
{
$eventFiles = unserialize($event['FILES'], ['allowed_classes' => false]);
}
else
{
$eventFiles = array();
}
if(
empty($eventFiles)
|| !is_array($eventFiles)
|| !in_array($fileID, $eventFiles, true)
)
{
$errors[] = 'File not found';
return false;
}
return self::InnerWriteFileToResponse($fileID, $errors, $options);
}