summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexKlimenkov <shurick.klimenkov@gmail.com>2016-03-24 16:06:52 +0300
committerAlexKlimenkov <shurick.klimenkov@gmail.com>2016-03-24 16:06:52 +0300
commit3302a00e737f2039f4fb4075d21e5d597bdeff24 (patch)
treefb351f77aebbfc2b2036ffd6b8d2022665c4c14d
parent2aebc0fb22e7502bbf610e7ffcf655ddd77fefae (diff)
parent551d156dd610c2ab5b79a99f08d9a73856004ffb (diff)
downloadscheduler-helper-php-3302a00e737f2039f4fb4075d21e5d597bdeff24.zip
scheduler-helper-php-3302a00e737f2039f4fb4075d21e5d597bdeff24.tar.gz
scheduler-helper-php-3302a00e737f2039f4fb4075d21e5d597bdeff24.tar.bz2
Merge pull request #21 from mperednya/master
Fix recurrings detection.
-rw-r--r--RecurringType.php16
-rwxr-xr-xSchedulerHelper.php19
-rwxr-xr-xSchedulerHelperDate.php38
-rw-r--r--tests/Data_getData/ExceptionsInRecurrings/source.json20
-rw-r--r--tests/Data_getData/ExceptionsInRecurrings/target.json247
-rw-r--r--tests/Data_getData/WeekRecurrings/source.json38
-rw-r--r--tests/Data_getData/WeekRecurrings/target.json349
-rw-r--r--tests/SchedulerHelperTest.php2
8 files changed, 668 insertions, 61 deletions
diff --git a/RecurringType.php b/RecurringType.php
index 55b79e2..4a09d59 100644
--- a/RecurringType.php
+++ b/RecurringType.php
@@ -34,9 +34,9 @@ class RecurringType {
private $_recurring_start_date_stamp;
private $_recurring_end_date_stamp;
- public static $start_on_monday = true;
+ private $_config = array();
- public function __construct($recurringType, $recurringStartDateStamp, $recurringEndDateStamp)
+ public function __construct($recurringType, $recurringStartDateStamp, $recurringEndDateStamp, $config = array())
{
if(is_array($recurringType))
$recurringType = self::parseRecurringDataArrayToString($recurringType);
@@ -44,6 +44,7 @@ class RecurringType {
$this->_fields_values = self::_parseRecurringDataString($recurringType);
$this->_recurring_start_date_stamp = $recurringStartDateStamp;
$this->_recurring_end_date_stamp = $recurringEndDateStamp;
+ $this->_config = $config;
}
public static function getInstance($recurringTypeString, $recurringStartDateStamp, $recurringEndDateStamp) {
@@ -271,7 +272,7 @@ class RecurringType {
if($recurringStartDateStamp < $intervalStartDateStamp) {
$step = $this->_transpose_size[$type] * $this->getRecurringTypeStepValue();
$day = 24 * 60 * 60;
- $delta = floor(($intervalStartDateStamp - $recurringStartDateStamp) / ($day * $step)) || 1;
+ $delta = floor(($intervalStartDateStamp - $recurringStartDateStamp) / ($day * $step));
$recurringInterval["start_date_stamp"] = $recurringStartDateStamp + $delta * $step * $day;
}
}
@@ -334,7 +335,7 @@ class RecurringType {
private function _getRecurringDayStep($dateStamp, $recurringWeekDay)
{
$weekDay = SchedulerHelperDate::getDayOfWeek($dateStamp);
- if(self::$start_on_monday) {
+ if($this->_config["start_on_monday"]) {
$recurringWeekDay = $recurringWeekDay == 0 ? 7 : $recurringWeekDay;
}
$dayStep = $recurringWeekDay - $weekDay;
@@ -401,6 +402,7 @@ class RecurringType {
$intervalStartDateStamp = $correctedInterval["start_date_stamp"];
$intervalEndDateStamp = $correctedInterval["end_date_stamp"];
$currentRecurringStartDateStamp = $intervalStartDateStamp;
+ $correcterRecurringStartDateStamp = $currentRecurringStartDateStamp;
$recurringDates = array();
$recurringStartDateStamp = $this->_recurring_start_date_stamp;
$recurringEndDateStamp = $this->_recurring_end_date_stamp;
@@ -411,7 +413,7 @@ class RecurringType {
(!is_null($countDates) && ($countRecurringCycles <= $countDates))
|| (
($intervalStartDateStamp <= $currentRecurringStartDateStamp)
- && ($currentRecurringStartDateStamp < $intervalEndDateStamp)
+ && ($correcterRecurringStartDateStamp < $intervalEndDateStamp)
)
) {
$countRecurringCycles++;
@@ -421,18 +423,22 @@ class RecurringType {
switch($recType) {
case self::REC_TYPE_DAY:
$currentRecurringStartDateStamp = SchedulerHelperDate::addDays($currentRecurringStartDateStamp, $recurringTypeStep);
+ $correcterRecurringStartDateStamp = $currentRecurringStartDateStamp;
break;
case self::REC_TYPE_WEEK:
$currentRecurringStartDateStamp = SchedulerHelperDate::addWeeks($currentRecurringStartDateStamp, $recurringTypeStep);
+ $correcterRecurringStartDateStamp = SchedulerHelperDate::weekStart($currentRecurringStartDateStamp);
break;
case self::REC_TYPE_MONTH:
$currentRecurringStartDateStamp = SchedulerHelperDate::addMonths($currentRecurringStartDateStamp, $recurringTypeStep);
+ $correcterRecurringStartDateStamp = SchedulerHelperDate::monthStart($currentRecurringStartDateStamp);
break;
case self::REC_TYPE_YEAR:
$currentRecurringStartDateStamp = SchedulerHelperDate::addYears($currentRecurringStartDateStamp, $recurringTypeStep);
+ $correcterRecurringStartDateStamp = SchedulerHelperDate::yearStart($currentRecurringStartDateStamp);
break;
}
}
diff --git a/SchedulerHelper.php b/SchedulerHelper.php
index 4fe93e0..81ef4f6 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_monday" => 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;
}
@@ -365,8 +374,10 @@ class Helper extends DHelper implements IHelper
$recField = $this->getRecurringTypeFieldName();
$startField = $this->getStartDateFieldName();
$endField = $this->getEndDateFieldName();
-
- RecurringType::$start_on_monday = $this->config["start_on_monay"];
+ $recConfig = array(
+ "start_on_monday" => $this->config["start_on_monday"]
+ );
+
$recCount = count($recurringEvents);
for($i = 0; $i < $recCount; $i++) {
$eventData = $recurringEvents[$i];
@@ -375,7 +386,7 @@ class Helper extends DHelper implements IHelper
$recurringTypeData = $eventData[$recField];
$recurringStartDateStamp = $this->getDateTimestamp($eventData[$startField]);
$recurringEndDateStamp = $this->getDateTimestamp($eventData[$endField]);
- $recurringTypeObj = new RecurringType($recurringTypeData, $recurringStartDateStamp, $recurringEndDateStamp);
+ $recurringTypeObj = new RecurringType($recurringTypeData, $recurringStartDateStamp, $recurringEndDateStamp, $recConfig);
//Get recurring dates by parsed format.
$recurringDatesStamps = $recurringTypeObj->getRecurringDates($intervalStartDateStamp, $intervalEndDateStamp);
diff --git a/SchedulerHelperDate.php b/SchedulerHelperDate.php
index b664492..33635a9 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;
@@ -110,4 +118,34 @@ class SchedulerHelperDate
return self::addDate($timestamp, self::$INTERVAL_UNITS["year"], $count);
}
+ static public function weekStart($timestamp, $startOnMonday = true){
+ $shift = self::getDayOfWeek($timestamp);
+ if($startOnMonday){
+ if($shift === 0){
+ $shift = 6;
+ }
+ else{
+ $shift--;
+ }
+ }
+ return self::addDays($timestamp, -1*$shift);
+ }
+
+ static public function monthStart($timestamp){
+ $date = new DateTime();
+ $date->setTimestamp($timestamp);
+ $m = $date->format('m');
+ $y = $date->format('Y');
+ $date->setDate($y, $m, 1);
+ return $date->getTimestamp();
+ }
+
+ static public function yearStart($timestamp){
+ $date = new DateTime();
+ $date->setTimestamp($timestamp);
+ $y = $date->format('Y');
+ $date->setDate($y, 1, 1);
+ return $date->getTimestamp();
+ }
+
} \ No newline at end of file
diff --git a/tests/Data_getData/ExceptionsInRecurrings/source.json b/tests/Data_getData/ExceptionsInRecurrings/source.json
new file mode 100644
index 0000000..2168fd8
--- /dev/null
+++ b/tests/Data_getData/ExceptionsInRecurrings/source.json
@@ -0,0 +1,20 @@
+{
+ "settings": {
+ "start_date": "2016-03-01 00:00:00",
+ "end_date": "2016-03-31 24:00:00"
+ },
+ "data": [{ "id": "10", "start_date": "2016-03-02 00:00:00", "end_date": "2016-03-22 00:00:00", "text": "Day Event 1", "rec_type": "day_1___#20", "event_pid": "0", "event_length": "86400", "rec_pattern": "day_1___"},
+ { "id": "11", "start_date": "2016-03-01 00:00:00", "end_date": "2016-03-02 00:00:00", "text": "Day Event 1", "rec_type": "", "event_pid": "10", "event_length": "1457568000", "rec_pattern": ""},
+ { "id": "12", "start_date": "2016-03-31 00:00:00", "end_date": "2016-04-01 00:00:00", "text": "Day Event 1", "rec_type": "", "event_pid": "10", "event_length": "1457654400", "rec_pattern": ""},
+ { "id": "13", "start_date": "2016-03-16 00:00:00", "end_date": "2016-03-17 00:00:00", "text": "Day Event 1", "rec_type": "none", "event_pid": "10", "event_length": "1458086400", "rec_pattern": "none"},
+ { "id": "14", "start_date": "2016-03-21 00:00:00", "end_date": "2016-03-22 00:00:00", "text": "Day Event 1", "rec_type": "none", "event_pid": "10", "event_length": "1458518400", "rec_pattern": "none"},
+ { "id": "15", "start_date": "2016-03-24 00:00:00", "end_date": "2016-03-25 00:00:00", "text": "Day Event Changed Text", "rec_type": "", "event_pid": "10", "event_length": "1458345600", "rec_pattern": ""},
+ { "id": "16", "start_date": "2016-02-29 00:00:00", "end_date": "2016-03-01 00:00:00", "text": "Day Event 1", "rec_type": "", "event_pid": "10", "event_length": "1458000000", "rec_pattern": ""},
+ { "id": "17", "start_date": "2016-02-20 00:00:00", "end_date": "9999-02-01 00:00:00", "text": "Week Event 1", "rec_type": "week_2___0,1,2,6#no", "event_pid": "0", "event_length": "300", "rec_pattern": "week_2___0,1,2,6"},
+ { "id": "18", "start_date": "2016-03-19 00:00:00", "end_date": "2016-03-19 00:05:00", "text": "Week Event 1", "rec_type": "none", "event_pid": "17", "event_length": "1458345600", "rec_pattern": "none"},
+ { "id": "19", "start_date": "2016-03-16 00:00:00", "end_date": "2016-03-16 00:05:00", "text": "Week Event 1", "rec_type": "", "event_pid": "17", "event_length": "1458000000", "rec_pattern": ""},
+ { "id": "20", "start_date": "2016-02-01 00:00:00", "end_date": "9999-02-01 00:00:00", "text": "Month Event 1", "rec_type": "month_1_1_1_#no", "event_pid": "0", "event_length": "300", "rec_pattern": "month_1_1_1_"},
+ { "id": "21", "start_date": "2016-03-10 04:20:00", "end_date": "2016-03-10 13:20:00", "text": "Month Event 1 edited occurence", "rec_type": "", "event_pid": "20", "event_length": "1457308800", "rec_pattern": ""},
+ { "id": "22", "start_date": "2015-03-09 00:00:00", "end_date": "9999-02-01 00:00:00", "text": "Year Event 1", "rec_type": "year_1___#no", "event_pid": "0", "event_length": "300", "rec_pattern": "year_1___"},
+ { "id": "23", "start_date": "2016-03-17 00:00:00", "end_date": "2016-03-18 00:00:00", "text": "Year Event 1 Edited occurence", "rec_type": "", "event_pid": "22", "event_length": "1457481600", "rec_pattern": ""}]
+} \ No newline at end of file
diff --git a/tests/Data_getData/ExceptionsInRecurrings/target.json b/tests/Data_getData/ExceptionsInRecurrings/target.json
new file mode 100644
index 0000000..225f3d8
--- /dev/null
+++ b/tests/Data_getData/ExceptionsInRecurrings/target.json
@@ -0,0 +1,247 @@
+{
+ "data": [
+ {
+ "start_date": "2016-03-02 00:00:00",
+ "end_date": "2016-03-03 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-03 00:00:00",
+ "end_date": "2016-03-04 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-04 00:00:00",
+ "end_date": "2016-03-05 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-05 00:00:00",
+ "end_date": "2016-03-06 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-06 00:00:00",
+ "end_date": "2016-03-07 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-07 00:00:00",
+ "end_date": "2016-03-08 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-08 00:00:00",
+ "end_date": "2016-03-09 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-09 00:00:00",
+ "end_date": "2016-03-10 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-12 00:00:00",
+ "end_date": "2016-03-13 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-13 00:00:00",
+ "end_date": "2016-03-14 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-14 00:00:00",
+ "end_date": "2016-03-15 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-17 00:00:00",
+ "end_date": "2016-03-18 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-18 00:00:00",
+ "end_date": "2016-03-19 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "start_date": "2016-03-20 00:00:00",
+ "end_date": "2016-03-21 00:00:00",
+ "event_pid": "0",
+ "text": "Day Event 1",
+ "id": "10",
+ "rec_type": "day_1___#20",
+ "event_length": "86400"
+ },
+ {
+ "id": "11",
+ "start_date": "2016-03-01 00:00:00",
+ "end_date": "2016-03-02 00:00:00",
+ "text": "Day Event 1",
+ "rec_type": "",
+ "event_pid": "10",
+ "event_length": "1457568000"
+ },
+ {
+ "id": "12",
+ "start_date": "2016-03-31 00:00:00",
+ "end_date": "2016-04-01 00:00:00",
+ "text": "Day Event 1",
+ "rec_type": "",
+ "event_pid": "10",
+ "event_length": "1457654400"
+ },
+ {
+ "id": "15",
+ "start_date": "2016-03-24 00:00:00",
+ "end_date": "2016-03-25 00:00:00",
+ "text": "Day Event Changed Text",
+ "rec_type": "",
+ "event_pid": "10",
+ "event_length": "1458345600"
+ },
+ {
+ "start_date": "2016-03-01 00:00:00",
+ "end_date": "2016-03-01 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-05 00:00:00",
+ "end_date": "2016-03-05 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-06 00:00:00",
+ "end_date": "2016-03-06 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-14 00:00:00",
+ "end_date": "2016-03-14 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-20 00:00:00",
+ "end_date": "2016-03-20 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-28 00:00:00",
+ "end_date": "2016-03-28 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-29 00:00:00",
+ "end_date": "2016-03-29 00:05:00",
+ "event_pid": "0",
+ "text": "Week Event 1",
+ "id": "17",
+ "rec_type": "week_2___0,1,2,6#no",
+ "event_length": "300"
+ },
+ {
+ "id": "19",
+ "start_date": "2016-03-16 00:00:00",
+ "end_date": "2016-03-16 00:05:00",
+ "text": "Week Event 1",
+ "rec_type": "",
+ "event_pid": "17",
+ "event_length": "1458000000"
+ },
+ {
+ "id": "21",
+ "start_date": "2016-03-10 04:20:00",
+ "end_date": "2016-03-10 13:20:00",
+ "text": "Month Event 1 edited occurence",
+ "rec_type": "",
+ "event_pid": "20",
+ "event_length": "1457308800"
+ },
+ {
+ "id": "23",
+ "start_date": "2016-03-17 00:00:00",
+ "end_date": "2016-03-18 00:00:00",
+ "text": "Year Event 1 Edited occurence",
+ "rec_type": "",
+ "event_pid": "22",
+ "event_length": "1457481600"
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/Data_getData/WeekRecurrings/source.json b/tests/Data_getData/WeekRecurrings/source.json
index 3ad4afe..7a2a9d5 100644
--- a/tests/Data_getData/WeekRecurrings/source.json
+++ b/tests/Data_getData/WeekRecurrings/source.json
@@ -12,8 +12,7 @@
"rec_type": "week_2___0,1,2,3,4,5,6#40",
"event_pid": "0",
"event_length": "21900",
- "rec_pattern": "week_2___0,1,2,3,4,5,6",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_2___0,1,2,3,4,5,6"
},
{
"id": "2",
@@ -21,10 +20,9 @@
"end_date": "2016-03-27 00:00:00",
"text": "Week event 2",
"rec_type": "week_2___2,5#",
- "event_pid": "",
+ "event_pid": "0",
"event_length": "14400",
- "rec_pattern": "week_2___2,5",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_2___2,5"
},
{
"id": "3",
@@ -32,10 +30,9 @@
"end_date": "9999-02-01 00:00:00",
"text": "Week Event 3",
"rec_type": "week_2___0,6#no",
- "event_pid": "",
+ "event_pid": "0",
"event_length": "300",
- "rec_pattern": "week_2___0,6",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_2___0,6"
},
{
"id": "4",
@@ -43,10 +40,9 @@
"end_date": "2016-03-27 10:00:00",
"text": "Week Event 4",
"rec_type": "week_2___0,1,5#8",
- "event_pid": "",
+ "event_pid": "0",
"event_length": "18000",
- "rec_pattern": "week_2___0,1,5",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_2___0,1,5"
},
{
"id": "5",
@@ -54,10 +50,9 @@
"end_date": "2016-04-27 00:00:00",
"text": "Week Event 5",
"rec_type": "week_1___3#",
- "event_pid": "",
+ "event_pid": "0",
"event_length": "300",
- "rec_pattern": "week_1___3",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_1___3"
},
{
"id": "6",
@@ -65,10 +60,19 @@
"end_date": "9999-02-01 00:00:00",
"text": "Week Event 6",
"rec_type": "week_1___1,2,4,5#no",
- "event_pid": "",
+ "event_pid": "0",
"event_length": "300",
- "rec_pattern": "week_1___1,2,4,5",
- "!nativeeditor_status": ""
+ "rec_pattern": "week_1___1,2,4,5"
+ },
+ {
+ "id": "7",
+ "start_date": "2016-02-29 00:00:00",
+ "end_date": "9999-02-01 00:00:00",
+ "text": "Week Event 7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_pid": "0",
+ "event_length": "86400",
+ "rec_pattern": "week_1___0,1,2,3,4,5,6"
}
]
} \ No newline at end of file
diff --git a/tests/Data_getData/WeekRecurrings/target.json b/tests/Data_getData/WeekRecurrings/target.json
index 3740f93..5e530fa 100644
--- a/tests/Data_getData/WeekRecurrings/target.json
+++ b/tests/Data_getData/WeekRecurrings/target.json
@@ -7,7 +7,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-02 10:00:00",
@@ -16,7 +16,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-03 10:00:00",
@@ -25,7 +25,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-04 10:00:00",
@@ -34,7 +34,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-05 10:00:00",
@@ -43,7 +43,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-06 10:00:00",
@@ -52,7 +52,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-14 10:00:00",
@@ -61,7 +61,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-15 10:00:00",
@@ -70,7 +70,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-16 10:00:00",
@@ -79,7 +79,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-17 10:00:00",
@@ -88,7 +88,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-18 10:00:00",
@@ -97,7 +97,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-19 10:00:00",
@@ -106,7 +106,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-20 10:00:00",
@@ -115,7 +115,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-28 10:00:00",
@@ -124,7 +124,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-29 10:00:00",
@@ -133,7 +133,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-30 10:00:00",
@@ -142,7 +142,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-31 10:00:00",
@@ -151,7 +151,7 @@
"text": "Week event 1",
"id": "1",
"rec_type": "week_2___0,1,2,3,4,5,6#40",
- "event_length": 21900
+ "event_length": "21900"
},
{
"start_date": "2016-03-08 12:45:00",
@@ -160,7 +160,7 @@
"text": "Week event 2",
"id": "2",
"rec_type": "week_2___2,5#",
- "event_length": 14400
+ "event_length": "14400"
},
{
"start_date": "2016-03-11 12:45:00",
@@ -169,7 +169,7 @@
"text": "Week event 2",
"id": "2",
"rec_type": "week_2___2,5#",
- "event_length": 14400
+ "event_length": "14400"
},
{
"start_date": "2016-03-22 12:45:00",
@@ -178,7 +178,7 @@
"text": "Week event 2",
"id": "2",
"rec_type": "week_2___2,5#",
- "event_length": 14400
+ "event_length": "14400"
},
{
"start_date": "2016-03-25 12:45:00",
@@ -187,7 +187,7 @@
"text": "Week event 2",
"id": "2",
"rec_type": "week_2___2,5#",
- "event_length": 14400
+ "event_length": "14400"
},
{
"start_date": "2016-03-12 00:00:00",
@@ -196,7 +196,7 @@
"text": "Week Event 3",
"id": "3",
"rec_type": "week_2___0,6#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-13 00:00:00",
@@ -205,7 +205,7 @@
"text": "Week Event 3",
"id": "3",
"rec_type": "week_2___0,6#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-26 00:00:00",
@@ -214,7 +214,7 @@
"text": "Week Event 3",
"id": "3",
"rec_type": "week_2___0,6#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-27 00:00:00",
@@ -223,7 +223,7 @@
"text": "Week Event 3",
"id": "3",
"rec_type": "week_2___0,6#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-07 10:00:00",
@@ -232,7 +232,7 @@
"text": "Week Event 4",
"id": "4",
"rec_type": "week_2___0,1,5#8",
- "event_length": 18000
+ "event_length": "18000"
},
{
"start_date": "2016-03-11 10:00:00",
@@ -241,7 +241,7 @@
"text": "Week Event 4",
"id": "4",
"rec_type": "week_2___0,1,5#8",
- "event_length": 18000
+ "event_length": "18000"
},
{
"start_date": "2016-03-13 10:00:00",
@@ -250,7 +250,7 @@
"text": "Week Event 4",
"id": "4",
"rec_type": "week_2___0,1,5#8",
- "event_length": 18000
+ "event_length": "18000"
},
{
"start_date": "2016-03-21 10:00:00",
@@ -259,7 +259,7 @@
"text": "Week Event 4",
"id": "4",
"rec_type": "week_2___0,1,5#8",
- "event_length": 18000
+ "event_length": "18000"
},
{
"start_date": "2016-03-25 10:00:00",
@@ -268,7 +268,7 @@
"text": "Week Event 4",
"id": "4",
"rec_type": "week_2___0,1,5#8",
- "event_length": 18000
+ "event_length": "18000"
},
{
"start_date": "2016-03-23 00:00:00",
@@ -277,7 +277,7 @@
"text": "Week Event 5",
"id": "5",
"rec_type": "week_1___3#",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-30 00:00:00",
@@ -286,7 +286,7 @@
"text": "Week Event 5",
"id": "5",
"rec_type": "week_1___3#",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-28 00:00:00",
@@ -295,7 +295,7 @@
"text": "Week Event 6",
"id": "6",
"rec_type": "week_1___1,2,4,5#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-29 00:00:00",
@@ -304,7 +304,7 @@
"text": "Week Event 6",
"id": "6",
"rec_type": "week_1___1,2,4,5#no",
- "event_length": 300
+ "event_length": "300"
},
{
"start_date": "2016-03-31 00:00:00",
@@ -313,7 +313,286 @@
"text": "Week Event 6",
"id": "6",
"rec_type": "week_1___1,2,4,5#no",
- "event_length": 300
+ "event_length": "300"
+ },
+ {
+ "start_date": "2016-03-01 00:00:00",
+ "end_date": "2016-03-02 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-02 00:00:00",
+ "end_date": "2016-03-03 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-03 00:00:00",
+ "end_date": "2016-03-04 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-04 00:00:00",
+ "end_date": "2016-03-05 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-05 00:00:00",
+ "end_date": "2016-03-06 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-06 00:00:00",
+ "end_date": "2016-03-07 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-07 00:00:00",
+ "end_date": "2016-03-08 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-08 00:00:00",
+ "end_date": "2016-03-09 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-09 00:00:00",
+ "end_date": "2016-03-10 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-10 00:00:00",
+ "end_date": "2016-03-11 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-11 00:00:00",
+ "end_date": "2016-03-12 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-12 00:00:00",
+ "end_date": "2016-03-13 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-13 00:00:00",
+ "end_date": "2016-03-14 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-14 00:00:00",
+ "end_date": "2016-03-15 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-15 00:00:00",
+ "end_date": "2016-03-16 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-16 00:00:00",
+ "end_date": "2016-03-17 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-17 00:00:00",
+ "end_date": "2016-03-18 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-18 00:00:00",
+ "end_date": "2016-03-19 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-19 00:00:00",
+ "end_date": "2016-03-20 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-20 00:00:00",
+ "end_date": "2016-03-21 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-21 00:00:00",
+ "end_date": "2016-03-22 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-22 00:00:00",
+ "end_date": "2016-03-23 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-23 00:00:00",
+ "end_date": "2016-03-24 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-24 00:00:00",
+ "end_date": "2016-03-25 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-25 00:00:00",
+ "end_date": "2016-03-26 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-26 00:00:00",
+ "end_date": "2016-03-27 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-27 00:00:00",
+ "end_date": "2016-03-28 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-28 00:00:00",
+ "end_date": "2016-03-29 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-29 00:00:00",
+ "end_date": "2016-03-30 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-30 00:00:00",
+ "end_date": "2016-03-31 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
+ },
+ {
+ "start_date": "2016-03-31 00:00:00",
+ "end_date": "2016-04-01 00:00:00",
+ "event_pid": "0",
+ "text": "Week Event 7",
+ "id": "7",
+ "rec_type": "week_1___0,1,2,3,4,5,6#no",
+ "event_length": 86400
}
]
} \ No newline at end of file
diff --git a/tests/SchedulerHelperTest.php b/tests/SchedulerHelperTest.php
index 9b13998..679a852 100644
--- a/tests/SchedulerHelperTest.php
+++ b/tests/SchedulerHelperTest.php
@@ -26,6 +26,8 @@ class SchedulerHelperTest extends \PHPUnit_Framework_TestCase
$schedHelper::FLD_ID => "id",
));
+ $schedHelper->config["debug"] = false;
+
return $schedHelper;
}