From ced87e71cb8f8bee809a9f64b7559f0f8b29f50a Mon Sep 17 00:00:00 2001 From: Romain Quetiez Date: Fri, 4 Mar 2016 15:03:46 +0000 Subject: [PATCH] Magic query arguments - fixed a regression: URL exceeding 4000 characters (!) because the serialized queries were including magic arguments. Those arguments must be computed right before executing the query. An alternative to this implementation could be to serialize a DBSearch with its parameters computed at serialization time. SVN:trunk[3939] --- core/dbobjectset.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/dbobjectset.class.php b/core/dbobjectset.class.php index 6b55e5b66..da8d90c46 100644 --- a/core/dbobjectset.class.php +++ b/core/dbobjectset.class.php @@ -366,7 +366,7 @@ class DBObjectSet $oFilter = $this->m_oFilter->DeepClone(); // Note: the arguments found within a set can be object (but not in a filter) // That's why PrepareQueryArguments must be invoked there - $oFilter->SetInternalParams(array_merge($oFilter->GetInternalParams(), MetaModel::PrepareQueryArguments($this->m_aArgs))); + $oFilter->SetInternalParams(array_merge($oFilter->GetInternalParams(), $this->m_aArgs)); if (count($this->m_aAddedIds) == 0) { @@ -1091,8 +1091,8 @@ class DBObjectSet public function ApplyParameters() { - $aScalarArgs = MetaModel::PrepareQueryArguments($this->m_aArgs, $this->m_oFilter->GetInternalParams()); - $this->m_oFilter->ApplyParameters($aScalarArgs); + $aAllArgs = array_merge($this->m_aArgs, $this->m_oFilter->GetInternalParams()); + $this->m_oFilter->ApplyParameters($aAllArgs); } }