summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsten <stenmarsh938@gmail.com>2016-03-24 13:26:10 +0300
committersten <stenmarsh938@gmail.com>2016-03-24 13:26:10 +0300
commitee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2 (patch)
tree61cb0e9e8392af4e730b6fc3df4eb9e7cb7cbec7
parent5f2a6e82362774b42dcd7537a81f31317322c3a7 (diff)
downloadscheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.zip
scheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.tar.gz
scheduler-helper-php-ee79b3b45ddeaea99e8fe5db4ea3b1b431f5efd2.tar.bz2
Fix recurring exceptions detection.
-rwxr-xr-xSchedulerHelper.php11
-rwxr-xr-xSchedulerHelperDate.php8
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;