mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-22 18:18:46 +02:00
N°2603 - Portal: Fix crash when having comments in some parts of the XML
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Portal\Brick;
|
||||
@@ -636,7 +634,7 @@ abstract class AbstractBrick
|
||||
break;
|
||||
case 'security':
|
||||
/** @var \Combodo\iTop\DesignElement $oSecurityNode */
|
||||
foreach ($oBrickSubNode->childNodes as $oSecurityNode)
|
||||
foreach ($oBrickSubNode->GetNodes('*') as $oSecurityNode)
|
||||
{
|
||||
if ($oSecurityNode->nodeType === XML_TEXT_NODE && $oSecurityNode->GetText() === '')
|
||||
{
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Portal\Brick;
|
||||
@@ -326,7 +324,7 @@ class BrowseBrick extends PortalBrick
|
||||
{
|
||||
case 'levels':
|
||||
/** @var \Combodo\iTop\DesignElement $oLevelNode */
|
||||
foreach ($oBrickSubNode->childNodes as $oLevelNode)
|
||||
foreach ($oBrickSubNode->GetNodes('*') as $oLevelNode)
|
||||
{
|
||||
if ($oLevelNode->nodeName === 'level')
|
||||
{
|
||||
@@ -336,17 +334,17 @@ class BrowseBrick extends PortalBrick
|
||||
break;
|
||||
case 'browse_modes':
|
||||
/** @var \Combodo\iTop\DesignElement $oBrowseModeNode */
|
||||
foreach ($oBrickSubNode->childNodes as $oBrowseModeNode)
|
||||
foreach ($oBrickSubNode->GetNodes('*') as $oBrowseModeNode)
|
||||
{
|
||||
switch ($oBrowseModeNode->nodeName)
|
||||
{
|
||||
case 'availables':
|
||||
/** @var \Combodo\iTop\DesignElement $oModeNode */
|
||||
foreach ($oBrowseModeNode->childNodes as $oModeNode)
|
||||
foreach ($oBrowseModeNode->GetNodes('*') as $oModeNode)
|
||||
{
|
||||
if (!$oModeNode->hasAttribute('id'))
|
||||
{
|
||||
throw new DOMFormatException('BrowseBrick : Browse mode must have a unique ID attribute', null,
|
||||
throw new DOMFormatException('BrowseBrick: Browse mode must have a unique ID attribute', null,
|
||||
null, $oModeNode);
|
||||
}
|
||||
|
||||
@@ -443,7 +441,7 @@ class BrowseBrick extends PortalBrick
|
||||
}
|
||||
// Getting level properties
|
||||
/** @var \Combodo\iTop\DesignElement $oLevelPropertyNode */
|
||||
foreach ($oMDElement->childNodes as $oLevelPropertyNode)
|
||||
foreach ($oMDElement->GetNodes('*') as $oLevelPropertyNode)
|
||||
{
|
||||
switch ($oLevelPropertyNode->nodeName)
|
||||
{
|
||||
@@ -488,7 +486,7 @@ class BrowseBrick extends PortalBrick
|
||||
{
|
||||
$aLevel[$sTagName] = array();
|
||||
/** @var \Combodo\iTop\DesignElement $oFieldNode */
|
||||
foreach ($oLevelPropertyNode->childNodes as $oFieldNode)
|
||||
foreach ($oLevelPropertyNode->GetNodes('*') as $oFieldNode)
|
||||
{
|
||||
if ($oFieldNode->hasAttribute('id') && $oFieldNode->getAttribute('id') !== '')
|
||||
{
|
||||
@@ -517,7 +515,7 @@ class BrowseBrick extends PortalBrick
|
||||
$aLevel[$sTagName] = array();
|
||||
$iActionDefaultRank = 0;
|
||||
/** @var \Combodo\iTop\DesignElement $oActionNode */
|
||||
foreach ($oLevelPropertyNode->childNodes as $oActionNode)
|
||||
foreach ($oLevelPropertyNode->GetNodes('*') as $oActionNode)
|
||||
{
|
||||
if ($oActionNode->hasAttribute('id') && $oActionNode->getAttribute('id') !== '')
|
||||
{
|
||||
@@ -607,7 +605,7 @@ class BrowseBrick extends PortalBrick
|
||||
break;
|
||||
|
||||
case 'levels':
|
||||
foreach ($oLevelPropertyNode->childNodes as $oSubLevelNode)
|
||||
foreach ($oLevelPropertyNode->GetNodes('*') as $oSubLevelNode)
|
||||
{
|
||||
if ($oSubLevelNode->nodeName === 'level')
|
||||
{
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Portal\Brick;
|
||||
@@ -135,7 +133,7 @@ class CreateBrick extends PortalBrick
|
||||
|
||||
case 'rules':
|
||||
/** @var \Combodo\iTop\DesignElement $oRuleNode */
|
||||
foreach ($oBrickSubNode->childNodes as $oRuleNode)
|
||||
foreach ($oBrickSubNode->GetNodes('*') as $oRuleNode)
|
||||
{
|
||||
if ($oRuleNode->hasAttribute('id') && $oRuleNode->getAttribute('id') !== '')
|
||||
{
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Portal\Brick;
|
||||
@@ -208,7 +206,7 @@ class FilterBrick extends PortalBrick
|
||||
{
|
||||
case 'target_brick':
|
||||
/** @var \Combodo\iTop\DesignElement $oTargetBrickNode */
|
||||
foreach ($oBrickSubNode->childNodes as $oTargetBrickNode)
|
||||
foreach ($oBrickSubNode->GetNodes('*') as $oTargetBrickNode)
|
||||
{
|
||||
switch ($oTargetBrickNode->nodeName)
|
||||
{
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Portal\Brick;
|
||||
@@ -749,7 +747,7 @@ class ManageBrick extends PortalBrick
|
||||
{
|
||||
case 'availables';
|
||||
/** @var \Combodo\iTop\DesignElement $oModeNode */
|
||||
foreach ($oDisplayNode->childNodes as $oModeNode)
|
||||
foreach ($oDisplayNode->GetNodes('*') as $oModeNode)
|
||||
{
|
||||
if (!$oModeNode->hasAttribute('id'))
|
||||
{
|
||||
@@ -879,7 +877,7 @@ class ManageBrick extends PortalBrick
|
||||
$aGroup = array();
|
||||
$aGroup['id'] = $sGroupId; // We don't put the group id as the $aGroups key because the array will be sorted later in AddGrouping, which replace array keys by integer ordered keys
|
||||
/** @var \Combodo\iTop\DesignElement $oGroupProperty */
|
||||
foreach ($oGroupNode->childNodes as $oGroupProperty)
|
||||
foreach ($oGroupNode->GetNodes('*') as $oGroupProperty)
|
||||
{
|
||||
switch ($oGroupProperty->nodeName)
|
||||
{
|
||||
|
||||
@@ -81,7 +81,7 @@ class Forms extends AbstractConfiguration
|
||||
if ($oFormNode->GetOptionalElement('properties') !== null)
|
||||
{
|
||||
/** @var \MFElement $oPropertyNode */
|
||||
foreach ($oFormNode->GetOptionalElement('properties')->childNodes as $oPropertyNode)
|
||||
foreach ($oFormNode->GetOptionalElement('properties')->GetNodes('*') as $oPropertyNode)
|
||||
{
|
||||
switch ($oPropertyNode->nodeName)
|
||||
{
|
||||
@@ -95,7 +95,7 @@ class Forms extends AbstractConfiguration
|
||||
|
||||
case 'navigation_rules':
|
||||
/** @var \MFElement $oNavRuleButtonNode */
|
||||
foreach($oPropertyNode->childNodes as $oNavRuleButtonNode)
|
||||
foreach($oPropertyNode->GetNodes('*') as $oNavRuleButtonNode)
|
||||
{
|
||||
$sNavRuleButtonCode = $oNavRuleButtonNode->nodeName;
|
||||
if(!in_array($sNavRuleButtonCode, $aAllowedNavRulesButtonCodes))
|
||||
@@ -104,7 +104,7 @@ class Forms extends AbstractConfiguration
|
||||
}
|
||||
|
||||
/** @var \MFElement $oNavRuleOriginNode */
|
||||
foreach($oNavRuleButtonNode->childNodes as $oNavRuleOriginNode)
|
||||
foreach($oNavRuleButtonNode->GetNodes('*') as $oNavRuleOriginNode)
|
||||
{
|
||||
$sNavRuleOrigin = $oNavRuleOriginNode->nodeName;
|
||||
if(!in_array($sNavRuleOrigin, NavigationRuleHelper::GetAllowedOrigins()))
|
||||
|
||||
@@ -125,7 +125,7 @@ class ContextManipulatorHelper
|
||||
|
||||
// Iterating over the rule's nodes
|
||||
/** @var \Combodo\iTop\DesignElement $oSubNode */
|
||||
foreach ($oRuleNode->childNodes as $oSubNode)
|
||||
foreach ($oRuleNode->GetNodes('*') as $oSubNode)
|
||||
{
|
||||
$sSubNodeName = $oSubNode->nodeName;
|
||||
switch ($sSubNodeName)
|
||||
@@ -142,7 +142,7 @@ class ContextManipulatorHelper
|
||||
case 'presets':
|
||||
case 'retrofits':
|
||||
/** @var \Combodo\iTop\DesignElement $oActionNode */
|
||||
foreach ($oSubNode->childNodes as $oActionNode)
|
||||
foreach ($oSubNode->GetNodes('*') as $oActionNode)
|
||||
{
|
||||
// Note : Caution, the index of $aRule is now $oActionNode->nodeName instead of $sSubNodeName, as we want to match iTopObjectCopier specs like told previously
|
||||
if (in_array($oActionNode->nodeName, array('preset', 'retrofit')))
|
||||
|
||||
@@ -344,7 +344,7 @@ class NavigationRuleHelper
|
||||
);
|
||||
|
||||
/** @var \Combodo\iTop\DesignElement $oPropNode */
|
||||
foreach($oRuleNode->childNodes as $oPropNode)
|
||||
foreach($oRuleNode->GetNodes('*') as $oPropNode)
|
||||
{
|
||||
switch($oPropNode->nodeName)
|
||||
{
|
||||
@@ -395,7 +395,7 @@ class NavigationRuleHelper
|
||||
$aRule = $this->GetDefaultGoToBrickRuleDefinition();
|
||||
|
||||
/** @var \Combodo\iTop\DesignElement $oPropNode */
|
||||
foreach($oRuleNode->childNodes as $oPropNode)
|
||||
foreach($oRuleNode->GetNodes('*') as $oPropNode)
|
||||
{
|
||||
switch($oPropNode->nodeName)
|
||||
{
|
||||
@@ -403,7 +403,7 @@ class NavigationRuleHelper
|
||||
/** @var array $aRouteProperties Route ID and parameters */
|
||||
$aRouteProperties = array();
|
||||
/** @var DesignElement $oRoutePropNode */
|
||||
foreach($oPropNode->childNodes as $oRoutePropNode)
|
||||
foreach($oPropNode->GetNodes('*') as $oRoutePropNode)
|
||||
{
|
||||
switch($oRoutePropNode->nodeName)
|
||||
{
|
||||
@@ -413,7 +413,7 @@ class NavigationRuleHelper
|
||||
|
||||
case 'params':
|
||||
/** @var DesignElement $oRouteParamNode */
|
||||
foreach($oRoutePropNode->childNodes as $oRouteParamNode)
|
||||
foreach($oRoutePropNode->GetNodes('*') as $oRouteParamNode)
|
||||
{
|
||||
$sRouteParamId = $oRouteParamNode->getAttribute('id');
|
||||
$sRouteParamValue = $oRouteParamNode->GetText();
|
||||
@@ -468,7 +468,7 @@ class NavigationRuleHelper
|
||||
);
|
||||
|
||||
/** @var \Combodo\iTop\DesignElement $oPropNode */
|
||||
foreach($oRuleNode->childNodes as $oPropNode)
|
||||
foreach($oRuleNode->GetNodes('*') as $oPropNode)
|
||||
{
|
||||
$sRouteParamId = (array_key_exists($oPropNode->nodeName, $aParamsMapping)) ? $aParamsMapping[$oPropNode->nodeName] : $oPropNode->nodeName;
|
||||
$aRule['properties']['route']['params'][$sRouteParamId] = $oPropNode->GetText();
|
||||
@@ -502,7 +502,7 @@ class NavigationRuleHelper
|
||||
);
|
||||
|
||||
/** @var \Combodo\iTop\DesignElement $oPropNode */
|
||||
foreach($oRuleNode->childNodes as $oPropNode)
|
||||
foreach($oRuleNode->GetNodes('*') as $oPropNode)
|
||||
{
|
||||
$sRouteParamId = (array_key_exists($oPropNode->nodeName, $aParamsMapping)) ? $aParamsMapping[$oPropNode->nodeName] : $oPropNode->nodeName;
|
||||
$aRule['properties']['route']['params'][$sRouteParamId] = $oPropNode->GetText();
|
||||
|
||||
Reference in New Issue
Block a user