本文整理汇总了PHP中AJXP_Node::collectMetadataInParents方法的典型用法代码示例。如果您正苦于以下问题:PHP AJXP_Node::collectMetadataInParents方法的具体用法?PHP AJXP_Node::collectMetadataInParents怎么用?PHP AJXP_Node::collectMetadataInParents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AJXP_Node
的用法示例。
在下文中一共展示了AJXP_Node::collectMetadataInParents方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collectSharesInParent
/**
* @param AJXP_Node $node
* @param $metas
*/
public function collectSharesInParent($node, &$metas)
{
$node->collectMetadataInParents(AJXP_SHARED_META_NAMESPACE, AJXP_METADATA_ALLUSERS, AJXP_METADATA_SCOPE_REPOSITORY, false, $metas);
}
示例2: 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;
}