mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Compilation issue
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
|
||||
namespace Combodo\iTop;
|
||||
|
||||
use DOMComment;
|
||||
use DOMDocument;
|
||||
use DOMFormatException;
|
||||
use DOMNode;
|
||||
@@ -35,9 +34,7 @@ use DOMXPath;
|
||||
use Exception;
|
||||
use IssueLog;
|
||||
use LogAPI;
|
||||
use MFDocument;
|
||||
use MFElement;
|
||||
use ModelFactory;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
@@ -242,6 +239,56 @@ class DesignElement extends \DOMElement
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Compatibility with PHP8.0
|
||||
*
|
||||
* @return \DOMElement|null
|
||||
*
|
||||
* @since 3.1.2
|
||||
*/
|
||||
public function GetFirstElementChild()
|
||||
{
|
||||
if (property_exists($this, 'firstElementChild')) {
|
||||
return $this->firstElementChild;
|
||||
}
|
||||
|
||||
$oChildNode = $this->firstChild;
|
||||
while (!is_null($oChildNode)) {
|
||||
if ($oChildNode instanceof \DOMElement) {
|
||||
return $oChildNode;
|
||||
}
|
||||
$oChildNode = $oChildNode->nextSibling;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compatibility with PHP8.0
|
||||
*
|
||||
* @return \DOMElement|null
|
||||
*
|
||||
* @since 3.1.2
|
||||
*/
|
||||
public function GetNextElementSibling()
|
||||
{
|
||||
if (property_exists($this, 'nextElementSibling')) {
|
||||
return $this->nextElementSibling;
|
||||
}
|
||||
|
||||
$oSibling = $this->nextSibling;
|
||||
while (!is_null($oSibling)) {
|
||||
if ($oSibling instanceof \DOMElement) {
|
||||
return $oSibling;
|
||||
}
|
||||
$oSibling = $oSibling->nextSibling;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the node directly under the given node
|
||||
* @param $sTagName
|
||||
|
||||
@@ -848,7 +848,7 @@ class ModelFactory
|
||||
// Do not continue deeper
|
||||
$oTargetNode = null;
|
||||
} else {
|
||||
if (!$bSpecifiedMerge && $sMode === self::LOAD_DELTA_MODE_STRICT && ($sSearchId !== '' || is_null($oSourceNode->firstElementChild))) {
|
||||
if (!$bSpecifiedMerge && $sMode === self::LOAD_DELTA_MODE_STRICT && ($sSearchId !== '' || is_null($oSourceNode->GetFirstElementChild()))) {
|
||||
$iLine = ModelFactory::GetXMLLineNumber($oSourceNode);
|
||||
$sItopNodePath = DesignDocument::GetItopNodePath($oSourceNode);
|
||||
throw new MFException($sItopNodePath.' at line '.$iLine.': could not be found or marked as removed (strict mode)',
|
||||
@@ -889,7 +889,7 @@ class ModelFactory
|
||||
$oTargetParentNode->insertBefore($oCommentNode, $oTargetNode);
|
||||
}
|
||||
// Continue deeper
|
||||
for ($oSourceChild = $oSourceNode->firstElementChild; !is_null($oSourceChild); $oSourceChild = $oSourceChild->nextElementSibling) {
|
||||
for ($oSourceChild = $oSourceNode->GetFirstElementChild(); !is_null($oSourceChild); $oSourceChild = $oSourceChild->GetNextElementSibling()) {
|
||||
$this->LoadFlattenDelta($oSourceChild, $oTargetDocument, $oTargetNode, $sMode);
|
||||
}
|
||||
$oTargetNode = null;
|
||||
@@ -898,7 +898,7 @@ class ModelFactory
|
||||
}
|
||||
|
||||
if ($oTargetNode) {
|
||||
if (is_null($oSourceNode->firstElementChild) && $oTargetParentNode instanceof MFElement) {
|
||||
if (is_null($oSourceNode->GetFirstElementChild()) && $oTargetParentNode instanceof MFElement) {
|
||||
// Leaf node
|
||||
if ($sMode === self::LOAD_DELTA_MODE_STRICT && !$oSourceNode->hasAttribute('_rename_from') && trim($oSourceNode->GetText('')) !== '') {
|
||||
$iLine = ModelFactory::GetXMLLineNumber($oSourceNode);
|
||||
@@ -916,7 +916,7 @@ class ModelFactory
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for ($oSourceChild = $oSourceNode->firstElementChild; !is_null($oSourceChild); $oSourceChild = $oSourceChild->nextElementSibling) {
|
||||
for ($oSourceChild = $oSourceNode->GetFirstElementChild(); !is_null($oSourceChild); $oSourceChild = $oSourceChild->GetNextElementSibling()) {
|
||||
// Continue deeper
|
||||
$this->LoadFlattenDelta($oSourceChild, $oTargetDocument, $oTargetNode, $sMode);
|
||||
}
|
||||
@@ -1042,7 +1042,7 @@ class ModelFactory
|
||||
}
|
||||
if (!$bIsRoot) {
|
||||
// Hard deletion is necessary
|
||||
$oClassNode->remove();
|
||||
$oClassNode->parentNode->removeChild($oClassNode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1574,7 +1574,7 @@ EOF
|
||||
public function GetClass($sClassName, $bIncludeMetas = false)
|
||||
{
|
||||
// Check if class among XML classes
|
||||
/** @var \MFElemen|null $oClassNode */
|
||||
/** @var \MFElement|null $oClassNode */
|
||||
$oClassNode = $this->GetNodes("/itop_design/classes/class[@id='$sClassName']")->item(0);
|
||||
|
||||
// If not, check if class among exposed meta classes (PHP classes)
|
||||
|
||||
Reference in New Issue
Block a user