コード例 #1
0
 public function prepareReservationWeek($week = 0, $user_id = null)
 {
     $weekBounds = DatetimeManager::getWeeksBounds($week);
     $dbTimePars = DatetimeManager::format($weekBounds, DatetimeManager::DB_FULL);
     $reservations = $this->reservations->fetchWithin($dbTimePars['time_from'], $dbTimePars['time_to'], $user_id);
     $events = $this->events->fetchWithinTimespan($dbTimePars['time_from'], $dbTimePars['time_to']);
     $weekEntityGroups = ['events' => $events, 'reservations' => $reservations];
     $return = [];
     $return['days'] = self::prepareReservationDays($weekBounds['time_from'], $weekEntityGroups);
     $return["pageTitle"] = self::makeVypisTitle($week);
     $return['timeSpan'] = DatetimeManager::format($weekBounds, DatetimeManager::HUMAN_DATE_ONLY);
     $return['currentWeekGames'] = $this->countGamesOnReservations($reservations);
     return $return;
 }
コード例 #2
0
 public function doPridat()
 {
     $event = Tables\Event::fromPOST();
     $event->author_user_id = $this->user->user_id;
     $dateTime = DatetimeManager::reformat(['time_from' => strtotime($event->time_from), 'time_to' => strtotime($event->time_to)], DatetimeManager::DB_TIME_ONLY);
     $dateTime['date'] = DatetimeManager::reformat($event->event_date, DatetimeManager::DB_DATE_ONLY);
     $date_from = $dateTime['date'] . ' ' . $dateTime['time_from'];
     $date_to = $dateTime['date'] . ' ' . $dateTime['time_to'];
     $resrvations = $this->reservations->fetchWithin($date_from, $date_to);
     $total = count($resrvations);
     if ($total > 0) {
         $this->message->warning(sprintf('V den %s není možné vytvořit událost, vytvoření blokuje %d %s.', date(DatetimeManager::HUMAN_DATE_ONLY, strtotime($event->event_date)), $total, $total >= 5 ? 'rezervací' : 'rezervace'));
         $this->redirectPars('rezervace', 'vypis');
     }
     $id = Tables\Event::insert($this->pdo, $event);
     if ($id) {
         $this->message->success("Událost {$event->event_title} byla úspěšně vytvořena.");
         $this->redirectPars('udalost', 'zobrazit', ['id' => $id]);
     }
     $this->message->warning("Při vytváření události nastaly potíže.");
     $this->redirectPars("rezervace", "vypis");
 }