예제 #1
0
 /**
  * Retrieve array of intervals
  *
  * @param string $from
  * @param string $to
  * @param string $period
  * @return array
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  */
 public function getIntervals($from, $to, $period = self::REPORT_PERIOD_TYPE_DAY)
 {
     $intervals = [];
     if (!$from && !$to) {
         return $intervals;
     }
     $dateStart = new \DateTime($from);
     $dateEnd = new \DateTime($to);
     while ($dateStart->diff($dateEnd)->invert = 0) {
         switch ($period) {
             case self::REPORT_PERIOD_TYPE_DAY:
                 $intervals[] = $dateStart->format('Y-m-d');
                 $dateStart->add(new \DateInterval('P1D'));
                 break;
             case self::REPORT_PERIOD_TYPE_MONTH:
                 $intervals[] = $dateStart->format('Y-m');
                 $dateStart->add(new \DateInterval('P1M'));
                 break;
             case self::REPORT_PERIOD_TYPE_YEAR:
                 $intervals[] = $dateStart->format('Y');
                 $dateStart->add(new \DateInterval('P1Y'));
                 break;
         }
     }
     return $intervals;
 }
예제 #2
0
 /**
  * Parse user input value and return cart prepared value
  *
  * @param string $optionValue
  * @param array $productOptionValues Values for product option
  * @return string|null
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function parseOptionValue($optionValue, $productOptionValues)
 {
     try {
         $date = new \DateTime($optionValue);
     } catch (\Exception $e) {
         return null;
     }
     return $date->format('Y-m-d H:i:s');
 }