• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice_invoice.php
  • Класс: \CCrmInvoiceRestService
  • Вызов: CCrmInvoiceRestService::prepareWebDavIBlock
static function prepareWebDavIBlock($settings = null)
{
	if(self::$webdavIBlock !== null)
	{
		return self::$webdavIBlock;
	}

	if(!CModule::IncludeModule('webdav'))
	{
		throw new RestException('Could not load webdav module.');
	}

	if(!is_array($settings) || empty($settings))
	{
		$settings = self::getWebDavSettings();
	}

	$iblockID = isset($settings['IBLOCK_ID']) ? $settings['IBLOCK_ID'] : 0;
	if($iblockID <= 0)
	{
		throw new RestException('Could not find webdav iblock.');
	}

	$sectionId = isset($settings['IBLOCK_SECTION_ID']) ? $settings['IBLOCK_SECTION_ID'] : 0;
	if($sectionId <= 0)
	{
		throw new RestException('Could not find webdav section.');
	}

	$user = CCrmSecurityHelper::GetCurrentUser();
	self::$webdavIBlock = new CWebDavIblock(
		$iblockID,
		'',
		array(
			'ROOT_SECTION_ID' => $sectionId,
			'DOCUMENT_TYPE' => array('webdav', 'CIBlockDocumentWebdavSocnet', 'iblock_'.$sectionId.'_user_'.$user->GetID())
		)
	);

	return self::$webdavIBlock;
}