diff --git a/core/relationgraph.class.inc.php b/core/relationgraph.class.inc.php index 37639538a..68f2cdd73 100644 --- a/core/relationgraph.class.inc.php +++ b/core/relationgraph.class.inc.php @@ -1,5 +1,5 @@ GetKey(); + return 'redundancy-'.$sRelCode.'-'.get_class($oSourceObject).'-'.$sNeighbourId.'-'.get_class($oSinkObject).'::'.$oSinkObject->GetKey(); } /** @@ -326,7 +326,7 @@ class RelationGraph extends SimpleGraph $this->AddRelatedObjects($sRelCode, false, $oSinkNode, $iMaxDepth, $bEnableRedundancy); //echo "
After processing of {$oSinkNode->GetId()}
\n".$this->DumpAsHtmlImage()."
\n"; } - + // Mark also the "context" nodes as reached and record the "root causes" for each node $oIterator = new RelationTypeIterator($this, 'Node'); foreach($oIterator as $oNode) @@ -407,11 +407,11 @@ class RelationGraph extends SimpleGraph do { set_time_limit($iLoopTimeLimit); - + $sObjectRef = RelationObjectNode::MakeId($oRelatedObj); $oRelatedNode = $this->GetNode($sObjectRef); if (is_null($oRelatedNode)) - { + { $oRelatedNode = new RelationObjectNode($this, $oRelatedObj); } $oSourceNode = $bDown ? $oObjectNode : $oRelatedNode; @@ -449,8 +449,7 @@ class RelationGraph extends SimpleGraph $oObject = $oToNode->GetProperty('object'); if ($this->IsRedundancyEnabled($sRelCode, $aQueryInfo, $oToNode)) { - - $sId = RelationRedundancyNode::MakeId($sRelCode, $aQueryInfo['sNeighbour'], $oToNode->GetProperty('object')); + $sId = RelationRedundancyNode::MakeId($sRelCode, $aQueryInfo['sNeighbour'], $oFromNode->GetProperty('object'), $oToNode->GetProperty('object')); $oRedundancyNode = $this->GetNode($sId); if (is_null($oRedundancyNode))