From 6cc4a6e1bef9185405b5f72febe242227abc65ff Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Mon, 28 May 2018 14:08:31 +0000 Subject: [PATCH] PHP 7.2 compatibility: count(null) now generates a PHP warning !! SVN:trunk[5815] --- application/cmdbabstract.class.inc.php | 4 ++-- core/dbobject.class.php | 2 +- core/metamodel.class.php | 2 +- sources/application/search/searchform.class.inc.php | 5 +++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 30331316d..2d8b548ad 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -2367,7 +2367,7 @@ EOF else { $aAllowedValues = MetaModel::GetAllowedValues_att($sClass, $sAttCode, $aArgs); - if (count($aAllowedValues) == 1) + if (is_array($aAllowedValues) && (count($aAllowedValues) == 1)) { $aValues = array_keys($aAllowedValues); $oObj->Set($sAttCode, $aValues[0]); @@ -3461,7 +3461,7 @@ EOF foreach (MetaModel::EnumPlugins('iApplicationObjectExtension') as $oExtensionInstance) { $aNewIssues = $oExtensionInstance->OnCheckToWrite($this); - if (count($aNewIssues) > 0) + if (is_array($aNewIssues) && (count($aNewIssues) > 0)) // Some extensions return null instead of an empty array { $this->m_aCheckIssues = array_merge($this->m_aCheckIssues, $aNewIssues); } diff --git a/core/dbobject.class.php b/core/dbobject.class.php index b409d3606..598fed8f7 100644 --- a/core/dbobject.class.php +++ b/core/dbobject.class.php @@ -1234,7 +1234,7 @@ abstract class DBObject implements iDisplay elseif ($oAtt->IsScalar()) { $aValues = $oAtt->GetAllowedValues($this->ToArgsForQuery()); - if (count($aValues) > 0) + if (is_array($aValues) && (count($aValues) > 0)) { if (!array_key_exists($toCheck, $aValues)) { diff --git a/core/metamodel.class.php b/core/metamodel.class.php index d7dce5a9a..1e0abab86 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -6185,7 +6185,7 @@ abstract class MetaModel { $sQuerySign .= '_all_'; } - if (count($aModifierProperties)) + if (is_array($aModifierProperties) && (count($aModifierProperties) > 0)) { array_multisort($aModifierProperties); $sModifierProperties = json_encode($aModifierProperties); diff --git a/sources/application/search/searchform.class.inc.php b/sources/application/search/searchform.class.inc.php index e720d26a3..22dcb80bb 100644 --- a/sources/application/search/searchform.class.inc.php +++ b/sources/application/search/searchform.class.inc.php @@ -457,7 +457,8 @@ class SearchForm $aAllowedValues = $oAttrDef->GetAllowedValues(); - return array('values' => $aAllowedValues, 'count' => count($aAllowedValues)); + $iCount = is_array($aAllowedValues) ? count($aAllowedValues) : 0; + return array('values' => $aAllowedValues, 'count' => $iCount); } /** @@ -668,4 +669,4 @@ class SearchForm return $aOrCriterion; } -} \ No newline at end of file +}