Display events in the datamodel page

This commit is contained in:
Eric Espie
2022-06-01 08:44:12 +02:00
parent 1ceef602f0
commit f6855b0d2b
8 changed files with 338 additions and 198 deletions

View File

@@ -26,8 +26,8 @@
namespace Combodo\iTop;
use \DOMDocument;
use \DOMFormatException;
use DOMDocument;
use DOMFormatException;
/**
* Class \Combodo\iTop\DesignDocument
@@ -175,6 +175,26 @@ class DesignElement extends \DOMElement
return $this->ownerDocument->GetNodes($sXPath, $this);
}
public static function ToArray(DesignElement $oNode)
{
$aRes = [];
if ($oNode->GetNodes('./*')->length == 0) {
return $oNode->GetText('');
}
foreach ($oNode->GetNodes('./*') as $oSubNode) {
/** @var \Combodo\iTop\DesignElement $oSubNode */
$aSubArray = DesignElement::ToArray($oSubNode);
if ($oSubNode->hasAttribute('id')) {
$aRes[$oSubNode->getAttribute('id')] = $aSubArray;
} else {
$aRes[$oSubNode->tagName] = $aSubArray;
}
}
return $aRes;
}
/**
* Create an HTML representation of the DOM, for debugging purposes
*