diff --git a/core/dbobjectsearch.class.php b/core/dbobjectsearch.class.php index 83b4e9ea4..c42203234 100644 --- a/core/dbobjectsearch.class.php +++ b/core/dbobjectsearch.class.php @@ -1074,7 +1074,7 @@ class DBObjectSearch extends DBSearch $oSQLQuery = $this->MakeSQLObjectQuery($oBuild, null, array()); $oSQLQuery->SetCondition($oBuild->m_oQBExpressions->GetCondition()); $oSQLQuery->SetSelect($oBuild->m_oQBExpressions->GetSelect()); - $aScalarArgs = array_merge(MetaModel::PrepareQueryArguments($aArgs), $this->GetInternalParams()); + $aScalarArgs = MetaModel::PrepareQueryArguments($aArgs, $this->GetInternalParams()); return $oSQLQuery->RenderDelete($aScalarArgs); } @@ -1086,7 +1086,7 @@ class DBObjectSearch extends DBSearch $oSQLQuery = $this->MakeSQLObjectQuery($oBuild, null, $aValues); $oSQLQuery->SetCondition($oBuild->m_oQBExpressions->GetCondition()); $oSQLQuery->SetSelect($oBuild->m_oQBExpressions->GetSelect()); - $aScalarArgs = array_merge(MetaModel::PrepareQueryArguments($aArgs), $this->GetInternalParams()); + $aScalarArgs = MetaModel::PrepareQueryArguments($aArgs, $this->GetInternalParams()); return $oSQLQuery->RenderUpdate($aScalarArgs); } diff --git a/core/dbsearch.class.php b/core/dbsearch.class.php index c4830deac..cf54ab066 100644 --- a/core/dbsearch.class.php +++ b/core/dbsearch.class.php @@ -377,7 +377,7 @@ abstract class DBSearch $aAttToLoad = array(); $oSQLQuery = $oQueryFilter->GetSQLQuery(array(), $aArgs, $aAttToLoad, null, 0, 0, false, $aGroupByExpr); - $aScalarArgs = array_merge(MetaModel::PrepareQueryArguments($aArgs), $this->GetInternalParams()); + $aScalarArgs = MetaModel::PrepareQueryArguments($aArgs, $this->GetInternalParams()); try { $bBeautifulSQL = self::$m_bTraceQueries || self::$m_bDebugQuery || self::$m_bIndentQueries; diff --git a/core/metamodel.class.php b/core/metamodel.class.php index b7fbdb711..f64e8040a 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -2456,12 +2456,13 @@ abstract class MetaModel * - current_user (DBObject) * * @param array $aArgs Context arguments (some can be persistent objects) - * @param array $aScalarArgs Other query parameters (only scalars allowed here) + * @param array $aMoreArgs Other query parameters * @return array */ - public static function PrepareQueryArguments($aArgs, $aScalarArgs = array()) + public static function PrepareQueryArguments($aArgs, $aMoreArgs = array()) { - foreach($aArgs as $sArgName => $value) + $aScalarArgs = array(); + foreach(array_merge($aArgs, $aMoreArgs) as $sArgName => $value) { if (self::IsValidObject($value)) {