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)); }
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); }