• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocumentcompatible.php
  • Класс: BitrixDiskBizProcDocumentCompatible
  • Вызов: BizProcDocumentCompatible::getDocument
static function getDocument($documentId)
{
	$documentId = (int)$documentId;
	if ($documentId <= 0)
	{
		throw new CBPArgumentNullException("documentId");
	}

	$file = File::loadById($documentId);
	if(!$file)
	{
		return null;
	}
	$ufFields = Driver::getInstance()->getUserFieldManager()->getFieldsForObject($file);
	$ufFileRow = array();
	if(!empty($ufFields))
	{
		foreach($ufFields as $fieldKey => $fieldData)
		{
			$ufFileRow[$fieldKey] = $fieldData['VALUE'];
			$ufFileRow[$fieldData['XML_ID']] = $fieldData['VALUE'];
		}
	}

	$fileRow = File::getList(array(
		'with' => array(
			'CREATE_USER', 'UPDATE_USER', 'DELETE_USER',
		),
		'filter' => array(
			'ID' => $documentId
		),
	))->fetch();

	if(!$fileRow)
	{
		return null;
	}

	if(empty($fileRow["CODE"]))
	{
		$fileRow["CODE"] = Loc::getMessage("DISK_BZ_D_NAME_NOT_CODE");
	}

	return array_merge(array(
		"ID" => $fileRow["ID"],
		"CREATE_TIME" => $fileRow["CREATE_TIME"],
		"CREATED_BY" => $fileRow["CREATED_BY"],
		"CREATED_BY_PRINTABLE" => $fileRow['CREATE_USERREF_NAME'].' '.$fileRow['CREATE_USERREF_LAST_NAME'],
		"UPDATE_TIME" => $fileRow["UPDATE_TIME"],
		"UPDATED_BY" => $fileRow["UPDATED_BY"],
		"UPDATED_BY_PRINTABLE" => $fileRow['UPDATE_USERREF_NAME'].' '.$fileRow['UPDATE_USERREF_LAST_NAME'],
		"DELETE_TIME" => $fileRow["DELETE_TIME"],
		"DELETED_BY" => $fileRow["DELETED_BY"],
		"DELETED_BY_PRINTABLE" => $fileRow['DELETE_USERREF_NAME'].' '.$fileRow['DELETE_USERREF_LAST_NAME'],
		"STORAGE_ID" => $fileRow["STORAGE_ID"],
		"NAME" => $fileRow["NAME"],
		"SIZE" => $fileRow["SIZE"],
		"CODE" => $fileRow["CODE"],
		"TIMESTAMP_X" => $fileRow["UPDATE_TIME"],
		"MODIFIED_BY" => $fileRow["CREATED_BY"],
		"MODIFIED_BY_PRINTABLE" => $fileRow['UPDATE_USERREF_NAME'].' '.$fileRow['UPDATE_USERREF_LAST_NAME'],
		"DATE_CREATE" => $fileRow["CREATE_TIME"],
		"FILE_SIZE" => $fileRow["SIZE"],
	), $ufFileRow);
}