diff options
author | sten <stenmarsh938@gmail.com> | 2016-03-14 13:20:25 +0300 |
---|---|---|
committer | sten <stenmarsh938@gmail.com> | 2016-03-14 13:20:25 +0300 |
commit | a46d0dce83fcc275c89e2003501d295fc9248040 (patch) | |
tree | 56178f89c51281e80d3a7e8210b3a533aed8e8d8 /SchedulerHelper.php | |
parent | 8d35e30f0be18ac922fc2fbe4116dbbcb11329b7 (diff) | |
download | scheduler-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-x | SchedulerHelper.php | 37 |
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) |