Example #1
0
 protected function setDayOfWeek($dayOfWeek)
 {
     if (!in_array($dayOfWeek, Days::toArray())) {
         throw new \InvalidArgumentException(sprintf('Invalid day of week "%s".', $dayOfWeek));
     }
     $this->dayOfWeek = $dayOfWeek;
 }
Example #2
0
 public function isWorkingNow2($place)
 {
     $this->setPlace($place);
     //???????
     $days = [];
     $r = new \ReflectionClass('Business\\Days');
     foreach ($place->getBusinessHours() as $bh) {
         foreach (Days::toArray() as $key => $day) {
             $dayName = strtoupper(Days::toString($day));
             $nextDayName = strtoupper(date('l', strtotime($dayName . " + 1 day")));
             $method = 'getDay' . $dayName;
             //TODO AFTER MIDNIGHT
             if ($exception = $this->isExceptionDay($day)) {
                 if ($exception->getStartsAt() > $exception->getEndsAt()) {
                     if (array_intersect([$exception->getStartsAt()->format('H:i'), '00:00'], $days[$dayName])) {
                         echo 'in_array';
                         var_dump($days[$dayName], [$exception->getStartsAt()->format('H:i'), '00:00']);
                         die;
                         $days[$dayName][] = [$exception->getStartsAt()->format('H:i'), '00:00'];
                         $days[$nextDayName][] = ['00:00', $exception->getEndsAt()->format('H:i')];
                         continue;
                     }
                 }
                 $days[$dayName][] = [$exception->getStartsAt()->format('H:i'), $exception->getEndsAt()->format('H:i')];
                 var_dump($days);
                 die;
             }
             if ($bh->{$method}()) {
                 if ($bh->getStartsAt() > $bh->getEndsAt()) {
                     $days[$dayName][] = [$bh->getStartsAt()->format('H:i'), '00:00'];
                     //var_dump($days);die();
                     $days[$nextDayName][] = ['00:00', $bh->getEndsAt()->format('H:i')];
                     continue;
                 }
                 $days[$dayName][] = [$bh->getStartsAt()->format('H:i'), $bh->getEndsAt()->format('H:i')];
             }
         }
     }
     //        foreach($place->getBusinessHoursException() as $bhE){
     //            if($bhE->getStartsAt()){
     //                $dayName = strtoupper($bhE->getDay()->format('l'));
     //                $nextDayName = strtoupper(date('l',  strtotime($dayName . " + 1 day")));
     //
     //                if($bhE->getStartsAt() > $bhE->getEndsAt())
     //                {
     //                    var_dump(in_array([$bhE->getStartsAt()->format('H:i'), '00:00'], $days[$dayName]), 'diff');
     //                    if(!in_array([$bhE->getStartsAt()->format('H:i'), '00:00'], $days[$dayName])){
     //                        $days[$dayName][] = [$bhE->getStartsAt()->format('H:i'), '00:00'];
     //                        $days[$nextDayName][] = ['00:00', $bhE->getEndsAt()->format('H:i')];
     //                        continue;
     //                    }
     //                }
     //
     //                $days[$dayName][] = [$bhE->getStartsAt()->format('H:i'), $bhE->getEndsAt()->format('H:i')];
     //                //unset($days[$nextDayName][0]);
     //            }
     //        }
     var_dump($days, $holidaysFinal);
     die;
 }