|
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.
|