CCrmRestProxyBase::tryExternalizeFileField

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

	$ownerTypeID = $this->getOwnerTypeID();
	$ownerID = isset($fields['ID']) ? intval($fields['ID']) : 0;
	if(!$multiple)
	{
		$fileID = intval($fields[$fieldName]);
		if($fileID <= 0)
		{
			unset($fields[$fieldName]);
			return false;
		}

		$fields[$fieldName] = $this->externalizeFile($ownerTypeID, $ownerID, $fieldName, $fileID, $dynamic);
	}
	else
	{
		$result = array();
		$filesID = $fields[$fieldName];
		if(!is_array($filesID))
		{
			$filesID = array($filesID);
		}

		foreach($filesID as $fileID)
		{
			$fileID = intval($fileID);
			if($fileID > 0)
			{
				$result[] = $this->externalizeFile($ownerTypeID, $ownerID, $fieldName, $fileID, $dynamic);
			}
		}
		$fields[$fieldName] = &$result;
		unset($result);
	}

	return true;
}

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