From: <gem...@li...> - 2012-12-17 12:27:29
|
Revision: 1067 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=1067&view=rev Author: mennodekker Date: 2012-12-17 12:27:22 +0000 (Mon, 17 Dec 2012) Log Message: ----------- Fixes for date calculations to accept MUtil_Date instead of a string Modified Paths: -------------- trunk/library/classes/Gems/Tracker/RespondentTrack.php trunk/library/classes/Gems/Tracker/Token.php trunk/library/classes/Gems/Util/Translated.php Modified: trunk/library/classes/Gems/Tracker/RespondentTrack.php =================================================================== --- trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-12-17 10:01:04 UTC (rev 1066) +++ trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-12-17 12:27:22 UTC (rev 1067) @@ -410,6 +410,10 @@ } if ($date) { + if ($date instanceof MUtil_Date) { + return $date; + } + if (Zend_Date::isDate($date, Gems_Tracker::DB_DATETIME_FORMAT)) { return new MUtil_Date($date, Gems_Tracker::DB_DATETIME_FORMAT); } Modified: trunk/library/classes/Gems/Tracker/Token.php =================================================================== --- trunk/library/classes/Gems/Tracker/Token.php 2012-12-17 10:01:04 UTC (rev 1066) +++ trunk/library/classes/Gems/Tracker/Token.php 2012-12-17 12:27:22 UTC (rev 1067) @@ -611,6 +611,9 @@ public function getCompletionTime() { if (isset($this->_gemsData['gto_completion_time']) && $this->_gemsData['gto_completion_time']) { + if ($this->_gemsData['gto_completion_time'] instanceof MUtil_Date) { + return $this->_gemsData['gto_completion_time']; + } return new MUtil_Date($this->_gemsData['gto_completion_time'], Gems_Tracker::DB_DATETIME_FORMAT); } } @@ -651,7 +654,10 @@ public function getDateTime($fieldName) { if (isset($this->_gemsData[$fieldName])) { - + if ($this->_gemsData[$fieldName] instanceof MUtil_Date) { + return $this->_gemsData[$fieldName]; + } + if (Zend_Date::isDate($this->_gemsData[$fieldName], Gems_Tracker::DB_DATETIME_FORMAT)) { return new MUtil_Date($this->_gemsData[$fieldName], Gems_Tracker::DB_DATETIME_FORMAT); } @@ -1173,6 +1179,9 @@ public function getValidFrom() { if (isset($this->_gemsData['gto_valid_from']) && $this->_gemsData['gto_valid_from']) { + if ($this->_gemsData['gto_valid_from'] instanceof MUtil_Date) { + return $this->_gemsData['gto_valid_from']; + } return new MUtil_Date($this->_gemsData['gto_valid_from'], Gems_Tracker::DB_DATETIME_FORMAT); } } @@ -1184,6 +1193,9 @@ public function getValidUntil() { if (isset($this->_gemsData['gto_valid_until']) && $this->_gemsData['gto_valid_until']) { + if ($this->_gemsData['gto_valid_until'] instanceof MUtil_Date) { + return $this->_gemsData['gto_valid_until']; + } return new MUtil_Date($this->_gemsData['gto_valid_until'], Gems_Tracker::DB_DATETIME_FORMAT); } } Modified: trunk/library/classes/Gems/Util/Translated.php =================================================================== --- trunk/library/classes/Gems/Util/Translated.php 2012-12-17 10:01:04 UTC (rev 1066) +++ trunk/library/classes/Gems/Util/Translated.php 2012-12-17 12:27:22 UTC (rev 1067) @@ -131,7 +131,11 @@ // MUtil_Echo::track($dateTimeValue, date('c', $dateTime), $dateTime / 86400, date('c', time()), time() / 86400); // TODO: Timezone seems to screw this one up //$days = floor($dateTime / 86400) - floor(time() / 86400); // 86400 = 24*60*60 - $dateTime = new MUtil_Date($dateTimeValue, Zend_Date::ISO_8601); + if ($dateTimeValue instanceof MUtil_Date) { + $dateTime = clone $dateTimeValue; + } else { + $dateTime = new MUtil_Date($dateTimeValue, Zend_Date::ISO_8601); + } $days = $dateTime->diffDays(); switch ($days) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |