public function arrayToObject($hookData) { if (is_array($hookData) && count($hookData)) { $datetimeUtil = $this->container->get('campaignchain.core.util.datetime'); $newData = $this->requestDataToPreSubmitData($hookData); $hook = new DateRepeat(); $hook->setInterval($newData['interval']); if (isset($newData['interval_start_date'])) { $hook->setIntervalStartDate(new \DateTime($newData['interval_start_date'], new \DateTimeZone($newData['timezone']))); } $hook->setIntervalNextRun(new \DateTime($newData['interval_next_run'], new \DateTimeZone($newData['timezone']))); if (isset($newData['interval_end_occurrence'])) { $hook->setIntervalEndOccurrence($newData['interval_end_occurrence']); } if (isset($newData['interval_end_date'])) { $hook->setIntervalEndDate(new \DateTime($newData['interval_end_date'], new \DateTimeZone($newData['timezone']))); } } return $hook; }
private function setDateRepeat(Campaign $repeatingCampaign, DateRepeat $dateRepeat) { $repeatingCampaign->setInterval($dateRepeat->getInterval()); $repeatingCampaign->setIntervalStartDate($dateRepeat->getIntervalStartDate()); $repeatingCampaign->setIntervalNextRun($dateRepeat->getIntervalNextRun()); $repeatingCampaign->setIntervalEndDate($dateRepeat->getIntervalEndDate()); $repeatingCampaign->setIntervalEndOccurrence($dateRepeat->getIntervalEndOccurrence()); return $repeatingCampaign; }