CCrmInvoiceRestService::tryExternalizeDiskFileField

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmInvoiceRestService
  4. tryExternalizeDiskFileField
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice_invoice.php
  • Класс: \CCrmInvoiceRestService
  • Вызов: CCrmInvoiceRestService::tryExternalizeDiskFileField
static function tryExternalizeDiskFileField(&$fields, $fieldName, $multiple = false)
{
	if(!isset($fields[$fieldName]))
	{
		return false;
	}

	$options = array(
		'OWNER_TYPE_ID' => CCrmOwnerType::Invoice,
		'OWNER_ID' => $fields['ID'],
		'VIEW_PARAMS' => array('auth' => self::getAuthToken()),
		'USE_ABSOLUTE_PATH' => true
	);

	if(!$multiple)
	{
		$fileID = intval($fields[$fieldName]);
		$info = DiskManager::getFileInfo($fileID, false, $options);
		if(empty($info))
		{
			unset($fields[$fieldName]);
			return false;
		}
		else
		{
			$fields[$fieldName] = array(
				'id' => $fileID,
				'url' => isset($info['VIEW_URL']) ? $info['VIEW_URL'] : ''
			);

			return true;
		}
	}

	$result = array();
	$fileIDs = $fields[$fieldName];
	if(is_array($fileIDs))
	{
		foreach($fileIDs as $fileID)
		{
			$info = DiskManager::getFileInfo($fileID, false, $options);
			if(empty($info))
			{
				continue;
			}

			$result[] = array(
				'id' => $fileID,
				'url' => isset($info['VIEW_URL']) ? $info['VIEW_URL'] : ''
			);
		}
	}

	if(!empty($result))
	{
		$fields[$fieldName] = &$result;
		unset($result);
		return true;
	}

	unset($fields[$fieldName]);
	return false;
}

Добавить комментарий