当前位置: 首页>>代码示例>>PHP>>正文


PHP AJXP_Node::getScheme方法代码示例

本文整理汇总了PHP中AJXP_Node::getScheme方法的典型用法代码示例。如果您正苦于以下问题:PHP AJXP_Node::getScheme方法的具体用法?PHP AJXP_Node::getScheme怎么用?PHP AJXP_Node::getScheme使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AJXP_Node的用法示例。


在下文中一共展示了AJXP_Node::getScheme方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: findMirrorNodesInShares

 /**
  * @param AJXP_Node $node
  * @param String|null $direction "UP", "DOWN"
  * @return array()
  */
 private function findMirrorNodesInShares($node, $direction)
 {
     $result = array();
     if ($direction !== "UP") {
         $upmetas = array();
         $node->collectMetadataInParents("ajxp_shared", AJXP_METADATA_ALLUSERS, AJXP_METADATA_SCOPE_REPOSITORY, false, $upmetas);
         foreach ($upmetas as $metadata) {
             if (is_array($metadata) && !empty($metadata["shares"])) {
                 foreach ($metadata["shares"] as $sId => $sData) {
                     $type = $sData["type"];
                     if ($type == "file") {
                         continue;
                     }
                     $wsId = $sId;
                     if ($type == "minisite") {
                         $minisiteData = $this->getShareStore()->loadShare($sId);
                         $wsId = $minisiteData["REPOSITORY"];
                     }
                     $sharedNode = $metadata["SOURCE_NODE"];
                     $sharedPath = substr($node->getPath(), strlen($sharedNode->getPath()));
                     $sharedNodeUrl = $node->getScheme() . "://" . $wsId . $sharedPath;
                     $result[$wsId] = array(new AJXP_Node($sharedNodeUrl), "DOWN");
                     $this->logDebug('MIRROR NODES', 'Found shared in parent - register node ' . $sharedNodeUrl);
                 }
             }
         }
     }
     if ($direction !== "DOWN") {
         if ($node->getRepository()->hasParent()) {
             $parentRepoId = $node->getRepository()->getParentId();
             $parentRepository = ConfService::getRepositoryById($parentRepoId);
             if (!empty($parentRepository) && !$parentRepository->isTemplate) {
                 $currentRoot = $node->getRepository()->getOption("PATH");
                 $owner = $node->getRepository()->getOwner();
                 $resolveUser = null;
                 if ($owner != null) {
                     $resolveUser = ConfService::getConfStorageImpl()->createUserObject($owner);
                 }
                 $parentRoot = $parentRepository->getOption("PATH", false, $resolveUser);
                 $relative = substr($currentRoot, strlen($parentRoot));
                 $parentNodeURL = $node->getScheme() . "://" . $parentRepoId . $relative . $node->getPath();
                 $this->logDebug("action.share", "Should trigger on " . $parentNodeURL);
                 $parentNode = new AJXP_Node($parentNodeURL);
                 if ($owner != null) {
                     $parentNode->setUser($owner);
                 }
                 $result[$parentRepoId] = array($parentNode, "UP");
             }
         }
     }
     return $result;
 }
开发者ID:saydulk,项目名称:pydio-core,代码行数:57,代码来源:class.ShareCenter.php


注:本文中的AJXP_Node::getScheme方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。