Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit baaf59f

Browse files
committed
Make sure to not propagate a share event to a workspace parent if it's a template.
1 parent 894fdae commit baaf59f

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

core/src/plugins/action.share/class.ShareCenter.php

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -632,19 +632,22 @@ private function findMirrorNodesInShares($node, $direction){
632632
if($direction !== "DOWN"){
633633
if($node->getRepository()->hasParent()){
634634
$parentRepoId = $node->getRepository()->getParentId();
635-
$currentRoot = $node->getRepository()->getOption("PATH");
636-
$owner = $node->getRepository()->getOwner();
637-
$resolveUser = null;
638-
if($owner != null){
639-
$resolveUser = ConfService::getConfStorageImpl()->createUserObject($owner);
640-
}
641-
$parentRoot = ConfService::getRepositoryById($parentRepoId)->getOption("PATH", false, $resolveUser);
642-
$relative = substr($currentRoot, strlen($parentRoot));
643-
$parentNodeURL = $node->getScheme()."://".$parentRepoId.$relative.$node->getPath();
644-
$this->logDebug("action.share", "Should trigger on ".$parentNodeURL);
645-
$parentNode = new AJXP_Node($parentNodeURL);
646-
if($owner != null) $parentNode->setUser($owner);
647-
$result[$parentRepoId] = array($parentNode, "UP");
635+
$parentRepository = ConfService::getRepositoryById($parentRepoId);
636+
if(!empty($parentRepository) && !$parentRepository->isTemplate){
637+
$currentRoot = $node->getRepository()->getOption("PATH");
638+
$owner = $node->getRepository()->getOwner();
639+
$resolveUser = null;
640+
if($owner != null){
641+
$resolveUser = ConfService::getConfStorageImpl()->createUserObject($owner);
642+
}
643+
$parentRoot = $parentRepository->getOption("PATH", false, $resolveUser);
644+
$relative = substr($currentRoot, strlen($parentRoot));
645+
$parentNodeURL = $node->getScheme()."://".$parentRepoId.$relative.$node->getPath();
646+
$this->logDebug("action.share", "Should trigger on ".$parentNodeURL);
647+
$parentNode = new AJXP_Node($parentNodeURL);
648+
if($owner != null) $parentNode->setUser($owner);
649+
$result[$parentRepoId] = array($parentNode, "UP");
650+
}
648651
}
649652
}
650653
return $result;

0 commit comments

Comments
 (0)