Example #1
0
 public function post()
 {
     $this->check_input();
     if (!(0 + $this->data('event'))) {
         $this->error(31);
     }
     $event = $this->event()->get($this->data('event'));
     if ($event['id'] != $this->data('event')) {
         $this->error(31);
     }
     if (!(0 + $this->data('persons'))) {
         $this->error(33);
     }
     $eventController = new eventController();
     $userController = new userController();
     $user = new userModel();
     $user->get($event['user']);
     $event = $eventController->public_data($event, true);
     $event['id'] = $this->data('event');
     $event['host'] = $userController->public_data($user->data(), true);
     $event['free_slots'] = $this->event()->getSlots();
     $data = ['event' => $event, 'persons' => $this->data('persons')];
     if ($event['fb_friends']) {
         Bootstrap::$main->session('fb_friends', 1);
     }
     return $this->status(Bootstrap::$main->session('book', $data));
 }
Example #2
0
 protected function reviews($event_id)
 {
     $opt = $this->nav_array(Bootstrap::$main->getConfig('reviews.limit'));
     $rate = new rateModel();
     $reviews = $rate->event_reviews($event_id, true, $opt['limit'], $opt['offset']);
     $usCtrl = new userController();
     if (is_array($reviews)) {
         foreach ($reviews as &$review) {
             $user_id = $review['user'];
             $this->clear_review($review);
             $review['user'] = $usCtrl->public_data($this->user()->get($user_id), true);
         }
     }
     $opt['add'] = 0;
     if (isset(Bootstrap::$main->user['id']) && $opt['offset'] == 0) {
         $guest = new guestModel();
         $rate = new rateModel();
         $guests = $guest->getGuestsForAllEvents($event_id) ?: [];
         foreach ($guests as $g) {
             if ($g['d_event_start'] > Bootstrap::$main->now) {
                 continue;
             }
             if ($rate->user_has_rated_event($g['event'])) {
                 continue;
             }
             $opt['add'] = $g['event'];
             break;
         }
     }
     return array('status' => is_array($reviews), 'options' => $opt, 'reviews' => $reviews);
 }