...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_webdav_helper.php
- Класс: \CCrmWebDavHelper
- Вызов: CCrmWebDavHelper::GetElementInfo
static function GetElementInfo($elementID, $checkPermissions = true) { if (!(IsModuleInstalled('iblock') && IsModuleInstalled('webdav') && CModule::IncludeModule('iblock') && CModule::IncludeModule('webdav'))) { return array(); } if($checkPermissions && !self::CheckElementReadPermission($elementID)) { return array(); } $arElement = self::GetElement($elementID); if(!$arElement) { return array(); } if(self::$URL_TEMPLATES === null && method_exists('CWebDavIblock', 'GetULRsFromIBlockID')) { self::$URL_TEMPLATES = CWebDavIblock::GetULRsFromIBlockID($arElement['IBLOCK_ID']); } $showUrlTemplate = ''; $viewUrlTemplate = ''; $editUrlTemplate = ''; $deleteUrlTemplate = ''; if(is_array(self::$URL_TEMPLATES) && !empty(self::$URL_TEMPLATES)) { if(isset(self::$URL_TEMPLATES['view'])) { $showUrlTemplate = self::$URL_TEMPLATES['view']; } if(isset(self::$URL_TEMPLATES['history_get'])) { $viewUrlTemplate = self::$URL_TEMPLATES['history_get']; } if(isset(self::$URL_TEMPLATES['edit'])) { $editUrlTemplate = self::$URL_TEMPLATES['edit']; } if(isset(self::$URL_TEMPLATES['delete_dropped'])) { $deleteUrlTemplate = self::$URL_TEMPLATES['delete_dropped']; } } if($showUrlTemplate === '') { $showUrlTemplate = CWebDavIblock::LibOptions('lib_paths', true, $arElement['IBLOCK_ID']); if(!is_string($showUrlTemplate)) { $showUrlTemplate = ''; } } if($showUrlTemplate === '') { //HACK: Build default paths. if(\Bitrix\Main\ModuleManager::isModuleInstalled('bitrix24')) { $showUrlTemplate = '/docs/element/view/#ELEMENT_ID#/'; $viewUrlTemplate = '/docs/element/historyget/#ELEMENT_ID#/#ELEMENT_NAME#'; $editUrlTemplate = '/docs/element/edit/edit/#ELEMENT_ID#/'; } else { $showUrlTemplate = SITE_DIR.'docs/shared/element/view/#ELEMENT_ID#/'; $viewUrlTemplate = SITE_DIR.'docs/shared/element/historyget/#ELEMENT_ID#/#ELEMENT_NAME#'; $editUrlTemplate = SITE_DIR.'docs/shared/element/edit/edit/#ELEMENT_ID#/'; } } $showUrl = self::PrepareUrl($showUrlTemplate, $arElement); $viewUrl = $viewUrlTemplate !== '' ? self::PrepareUrl($viewUrlTemplate, $arElement) : str_replace('view', 'historyget', $showUrl); $editUrl = $editUrlTemplate !== '' ? self::PrepareUrl($editUrlTemplate, $arElement) : str_replace('view', 'edit', $showUrl).'EDIT/'; $deleteUrl = $deleteUrlTemplate !== '' ? self::PrepareUrl($deleteUrlTemplate, $arElement) : (preg_match('/\/docs\/shared\//i', $showUrl) ? '' : str_replace('view', 'edit', $showUrl).'DELETE_DROPPED/'); $size = ''; $dbSize = CIBlockElement::GetProperty($arElement['IBLOCK_ID'], $arElement['ID'], array(), array('CODE' => 'WEBDAV_SIZE')); if ($dbSize && $arSize=$dbSize->Fetch()) { $size = CFile::FormatSize($arSize['VALUE']); } return array( 'ID' => $elementID, 'FILE_ID' => $arElement['PROPERTY_FILE_VALUE'], 'NAME' => $arElement['NAME'], 'EDIT_URL' => CHTTP::urlAddParams($editUrl, array('ncc' => '1')), 'VIEW_URL' => CHTTP::urlAddParams($viewUrl, array('ncc' => '1')), 'DELETE_URL' => CHTTP::urlAddParams($deleteUrl, array('ncc' => '1')), 'SHOW_URL' => CHTTP::urlAddParams($showUrl, array('ncc' => '1')), 'SIZE' => $size ); }