• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/volume/mailtemplate.php
  • Класс: Bitrix\Crm\Volume\MailTemplate
  • Вызов: MailTemplate::getAttachmentList
static function getAttachmentList()
{
	static $attachments;

	if (!isset($attachments))
	{
		$attachments = [];
		if (Main\Loader::includeModule('disk'))
		{
			/** @global \CUserTypeManager $USER_FIELD_MANAGER */
			global $USER_FIELD_MANAGER;
			/** @var \Bitrix\Disk\Uf\UserFieldManager $diskUfManager */
			$diskUfManager = Disk\Driver::getInstance()->getUserFieldManager();

			$result = \CCrmMailTemplate::getList(array(), array(), false, false, array('ID'));
			while ($template = $result->fetch())
			{
				$files = $USER_FIELD_MANAGER->getUserFieldValue('CRM_MAIL_TEMPLATE', 'UF_ATTACHMENT', $template['ID']);
				if (!empty($files) && is_array($files))
				{
					$diskUfManager->loadBatchAttachedObject($files);
					foreach ($files as $attachedId)
					{
						if ($attachedObject = $diskUfManager->getAttachedObjectById($attachedId))
						{
							if ($attachedObject instanceof Disk\AttachedObject)
							{
								$attachments[] = (int)$attachedObject->getObjectId();
							}
						}
					}
				}
			}
		}
	}

	return $attachments;
}