Example #1
0
 function _isInMeta($id, $metaId, $type = 'FILE')
 {
     if ($type == 'FILE') {
         $elementData = $this->GetObject(array('element_id' => intval($id)));
         if ($elementData['not_found']) {
             return false;
         }
         $sectionId = $elementData['parent_id'];
     } else {
         $sectionData = $this->GetObject(array('section_id' => intval($id)));
         $sectionId = $sectionData['item_id'];
     }
     list($contextType, $contextEntityId) = $this->getContextData();
     $sectionData = $this->getSectionDataForLinkAnalyze($sectionId, array(), false);
     if (CWebDavSymlinkHelper::isLink($contextType, $contextEntityId, $sectionData)) {
         $parentSectionData = CWebDavSymlinkHelper::getLinkData($contextType, $contextEntityId, $sectionData);
         if ($parentSectionData) {
             $linkWebdav = new self($parentSectionData[self::UF_LINK_IBLOCK_ID], $this->base_url . $this->_path, array('ROOT_SECTION_ID' => $parentSectionData[self::UF_LINK_ROOT_SECTION_ID], 'symlinkMode' => true, 'symlinkSectionData' => $parentSectionData, 'symlinkRealRootSectionData' => $this->arRootSection));
             return $linkWebdav->_isInMeta($id, $metaId, $type);
         }
     }
     $sectionMetaId = $this->GetMetaID($metaId, false);
     foreach (CWebDavSymlinkHelper::getNavChain($this->IBLOCK_ID, $sectionId) as $res) {
         if ($sectionMetaId == $res['ID']) {
             return true;
         }
     }
     unset($res);
     return false;
 }