From 31fa4086c6d96d1aded6114cd81f15037df87187 Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Sat, 8 Feb 2014 16:17:17 +0100 Subject: [PATCH] Fixed issue #08677: Submitdate and datestamp are always the same as startdate Dev: Who have this idea to believe $_SESSION for date stamp ? Dev: Get the date with dateShift(date) and fill $_SESSION[$this->sessid]['datestamp'] (needed ? EM allow {DATESTAMP} but replaced by empty string somewhere) --- application/helpers/expressions/em_manager_helper.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php index cc3947ac11e..e491d562d94 100644 --- a/application/helpers/expressions/em_manager_helper.php +++ b/application/helpers/expressions/em_manager_helper.php @@ -5203,7 +5203,8 @@ private function _UpdateValuesInDatabase($updatedValues, $finished=false) $setter[] = dbQuoteID('lastpage') . "=" . dbQuoteAll($thisstep); if ($this->surveyOptions['datestamp'] && isset($_SESSION[$this->sessid]['datestamp'])) { - $setter[] = dbQuoteID('datestamp') . "=" . dbQuoteAll($_SESSION[$this->sessid]['datestamp']); + $_SESSION[$this->sessid]['datestamp']=dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", $this->surveyOptions['timeadjust']); + $setter[] = dbQuoteID('datestamp') . "=" . dbQuoteAll(dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", $this->surveyOptions['timeadjust'])); } if ($this->surveyOptions['ipaddr']) { $setter[] = dbQuoteID('ipaddr') . "=" . dbQuoteAll(getIPAddress()); @@ -5311,7 +5312,7 @@ private function _UpdateValuesInDatabase($updatedValues, $finished=false) if($this->surveyOptions['datestamp']) { // Replace with date("Y-m-d H:i:s") ? See timeadjust - $sQuery .= dbQuoteID('submitdate') . "=" . dbQuoteAll($_SESSION[$this->sessid]['datestamp']); + $sQuery .= dbQuoteID('submitdate') . "=" . dbQuoteAll(dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", $this->surveyOptions['timeadjust'])); } else {