diff options
author | sten <stenmarsh938@gmail.com> | 2016-03-24 13:26:10 +0300 |
---|---|---|
committer | sten <stenmarsh938@gmail.com> | 2016-03-24 13:26:10 +0300 |
commit | ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2 (patch) | |
tree | 61cb0e9e8392af4e730b6fc3df4eb9e7cb7cbec7 | |
parent | 5f2a6e82362774b42dcd7537a81f31317322c3a7 (diff) | |
download | scheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.zip scheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.tar.gz scheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.tar.bz2 |
Fix recurring exceptions detection.
-rwxr-xr-x | SchedulerHelper.php | 11 | ||||
-rwxr-xr-x | SchedulerHelperDate.php | 8 |
2 files changed, 18 insertions, 1 deletions
diff --git a/SchedulerHelper.php b/SchedulerHelper.php index 4fe93e0..de5fd59 100755 --- a/SchedulerHelper.php +++ b/SchedulerHelper.php @@ -33,7 +33,8 @@ abstract class DHelper extends SchedulerHelperConnector public $config = array( "debug" => true, "server_date" => false, - "start_on_monay" => true + "start_on_monay" => true, + "occurrence_timestamp_in_utc" => true ); protected $_mapped_fields = array(); @@ -166,6 +167,11 @@ class Helper extends DHelper implements IHelper return SchedulerHelperDate::getDateTimestamp($date, $this->config["server_date"]); } + private function getTimestampFromUTCTimestamp($timestamp) + { + return SchedulerHelperDate::getTimestampFromUTCTimestamp($timestamp, $this->config["server_date"]); + } + /** * Get recurring events data exceptions. And prepare data to format: [] * @return array @@ -197,6 +203,9 @@ class Helper extends DHelper implements IHelper $events[$eventParentId] = array(); $eventLength = $eventData[$this->getLengthFieldName()]; + if($this->config["occurrence_timestamp_in_utc"]) { + $eventLength = $this->getTimestampFromUTCTimestamp($eventLength); + } $events[$eventParentId][$eventLength] = $eventData; } diff --git a/SchedulerHelperDate.php b/SchedulerHelperDate.php index b664492..0836997 100755 --- a/SchedulerHelperDate.php +++ b/SchedulerHelperDate.php @@ -77,6 +77,14 @@ class SchedulerHelperDate return $timestamp; } + static public function getTimestampFromUTCTimestamp($stamp, $serverDate){ + $date = new DateTime(); + $date->setTimezone(new \DateTimeZone("UTC")); + $date->setTimestamp($stamp); + $date = self::getDateTimestamp($date->format(self::FORMAT_DEFAULT), $serverDate); + return $date; + } + static public function getDayOfWeek($timestamp) { $weekDay = getdate($timestamp)["wday"]; return $weekDay; |