mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-01 23:24:12 +01:00
Fixed an incorrect detection of the maximum recursion level
SVN:trunk[1079]
This commit is contained in:
@@ -59,12 +59,10 @@ function AddNodeDetails(&$oNode, $oObj)
|
||||
* @param DBObject $oObj The current object
|
||||
* @param string $sRelation The name of the relation to search with
|
||||
*/
|
||||
function GetRelatedObjectsAsXml(DBObject $oObj, $sRelationName, &$oLinks, &$oXmlDoc, &$oXmlNode)
|
||||
function GetRelatedObjectsAsXml(DBObject $oObj, $sRelationName, &$oLinks, &$oXmlDoc, &$oXmlNode, $iDepth = 0)
|
||||
{
|
||||
$aResults = array();
|
||||
$oObj->GetRelatedObjects($sRelationName, 1 /* iMaxDepth */, $aResults);
|
||||
static $iDepth = 0;
|
||||
$iDepth++;
|
||||
if ($iDepth > MAX_RECURSION_DEPTH) return;
|
||||
|
||||
foreach($aResults as $sRelatedClass => $aObjects)
|
||||
@@ -85,7 +83,7 @@ function GetRelatedObjectsAsXml(DBObject $oObj, $sRelationName, &$oLinks, &$oXml
|
||||
AddNodeDetails($oLinkedNode, $oTargetObj);
|
||||
$oSubLinks = $oXmlDoc->CreateElement('links');
|
||||
// Recurse
|
||||
GetRelatedObjectsAsXml($oTargetObj, $sRelationName, $oSubLinks, $oXmlDoc, $oLinkedNode);
|
||||
GetRelatedObjectsAsXml($oTargetObj, $sRelationName, $oSubLinks, $oXmlDoc, $oLinkedNode, $iDepth++);
|
||||
$oLinkingNode->AppendChild($oLinkedNode);
|
||||
$oLinks->AppendChild($oLinkingNode);
|
||||
}
|
||||
@@ -185,4 +183,4 @@ catch(Exception $e)
|
||||
{
|
||||
echo "Error: ".$e->getMessage();
|
||||
}
|
||||
?>
|
||||
?>
|
||||
Reference in New Issue
Block a user