summaryrefslogtreecommitdiffstats
path: root/SchedulerHelper.php
diff options
context:
space:
mode:
authorsten <stenmarsh938@gmail.com>2016-03-14 13:20:25 +0300
committersten <stenmarsh938@gmail.com>2016-03-14 13:20:25 +0300
commita46d0dce83fcc275c89e2003501d295fc9248040 (patch)
tree56178f89c51281e80d3a7e8210b3a533aed8e8d8 /SchedulerHelper.php
parent8d35e30f0be18ac922fc2fbe4116dbbcb11329b7 (diff)
downloadscheduler-helper-php-a46d0dce83fcc275c89e2003501d295fc9248040.zip
scheduler-helper-php-a46d0dce83fcc275c89e2003501d295fc9248040.tar.gz
scheduler-helper-php-a46d0dce83fcc275c89e2003501d295fc9248040.tar.bz2
Move fields detection out of "for" loops.
Diffstat (limited to 'SchedulerHelper.php')
-rwxr-xr-xSchedulerHelper.php37
1 files changed, 17 insertions, 20 deletions
diff --git a/SchedulerHelper.php b/SchedulerHelper.php
index 7c0e684..f438cfe 100755
--- a/SchedulerHelper.php
+++ b/SchedulerHelper.php
@@ -296,22 +296,11 @@ class Helper extends DHelper implements IHelper
{
$filteredEventData = array();
$fullEventData = array();
-
foreach($eventDataArray as $dataKey => $dataValue) {
- $mappedFieldsValues = array_flip($this->_mapped_fields);
$fullEventData[$dataKey] = $dataValue;
-
- if(
- ($this->_use_only_mapped_fields && array_key_exists($dataKey, $mappedFieldsValues))
- || !$this->_use_only_mapped_fields
- ) {
+ if (!$this->_use_only_mapped_fields || array_key_exists($dataKey, array_flip($this->_mapped_fields)))
$filteredEventData[$dataKey] = $dataValue;
- }
}
-
-// $this->_use_only_mapped_fields
-
-// var_dump($filteredEventData);exit;
return array("filtered_event_data" => $filteredEventData, "full_event_data" => $fullEventData);
}
@@ -330,14 +319,17 @@ class Helper extends DHelper implements IHelper
if(isset($recurringEventExceptionsData[$recurringEventData[$this->getIdFieldName()]]))
$parentRecurringExceptions = $recurringEventExceptionsData[$recurringEventData[$this->getIdFieldName()]];
+ $startField = $this->getStartDateFieldName();
+ $lengthField = $this->getLengthFieldName();
+ $endField = $this->getEndDateFieldName();
$stampsCount = count($recurringDatesStamps);
for($i = 0; $i < $stampsCount; $i++) {
$preparedEventData = $recurringEventData;
$eventStartDateStamp = $recurringDatesStamps[$i];
- $preparedEventData[$this->getStartDateFieldName()] = date(SchedulerHelperDate::FORMAT_DEFAULT, $eventStartDateStamp);
+ $preparedEventData[$startField] = date(SchedulerHelperDate::FORMAT_DEFAULT, $eventStartDateStamp);
- $eventEndDateStamp = $eventStartDateStamp + $recurringEventData[$this->getLengthFieldName()];
- $preparedEventData[$this->getEndDateFieldName()] = date(SchedulerHelperDate::FORMAT_DEFAULT, $eventEndDateStamp);
+ $eventEndDateStamp = $eventStartDateStamp + $recurringEventData[$lengthField];
+ $preparedEventData[$endField] = date(SchedulerHelperDate::FORMAT_DEFAULT, $eventEndDateStamp);
if(isset($parentRecurringExceptions[$eventStartDateStamp])) {
$eventExceptionData = $parentRecurringExceptions[$eventStartDateStamp];
@@ -368,14 +360,19 @@ class Helper extends DHelper implements IHelper
$intervalStartDateStamp = $this->getDateTimestamp($startDate);
$intervalEndDateStamp = $this->getDateTimestamp($endDate);
+
+ $recField = $this->getRecurringTypeFieldName();
+ $startField = $this->getStartDateFieldName();
+ $endField = $this->getEndDateFieldName();
+
$recCount = count($recurringEvents);
for($i = 0; $i < $recCount; $i++) {
$eventData = $recurringEvents[$i];
//Parse recurring data format.
- $recurringTypeData = $eventData[$this->getRecurringTypeFieldName()];
- $recurringStartDateStamp = $this->getDateTimestamp($eventData[$this->getStartDateFieldName()]);
- $recurringEndDateStamp = $this->getDateTimestamp($eventData[$this->getEndDateFieldName()]);
+ $recurringTypeData = $eventData[$recField];
+ $recurringStartDateStamp = $this->getDateTimestamp($eventData[$startField]);
+ $recurringEndDateStamp = $this->getDateTimestamp($eventData[$endField]);
$recurringTypeObj = new RecurringType($recurringTypeData, $recurringStartDateStamp, $recurringEndDateStamp);
//Get recurring dates by parsed format.
@@ -397,8 +394,8 @@ class Helper extends DHelper implements IHelper
for($i = 0; $i < $evCount; $i++) {
$eventData = $eventsData[$i];
$fullEventData = $eventData["full_event_data"];
- $recurringStartDateStamp = $this->getDateTimestamp($fullEventData[$this->getStartDateFieldName()]);
- $recurringEndDateStamp = $this->getDateTimestamp($fullEventData[$this->getEndDateFieldName()]);
+ $recurringStartDateStamp = $this->getDateTimestamp($fullEventData[$startField]);
+ $recurringEndDateStamp = $this->getDateTimestamp($fullEventData[$endField]);
if(
($recurringStartDateStamp <= $intervalEndDateStamp) && ($recurringEndDateStamp >= $intervalStartDateStamp)