public function get() { $this->requiresLogin(); $rate = new rateModel(); if ($this->id) { $this->guest()->get($this->id + 0); if ($this->guest()->user != Bootstrap::$main->user['id']) { $this->error(19); } return $this->status($this->guest()->data()); } else { $tickets = $this->guest()->getForUser(Bootstrap::$main->user['id']) ?: []; $eventController = new eventController(); if (is_array($tickets)) { foreach ($tickets as &$ticket) { $ticket['url'] = $ticket['user_url'] . '/' . $ticket['event_url']; $ticket['guests'] = $eventController->get_guests($ticket['event_id']); if (!$ticket['d_cancel'] && !$ticket['d_payment']) { $ticket['payu'] = $this->get_pay_link($ticket['id']); } $ticket['sort'] = abs(Bootstrap::$main->now - $ticket['d_event_start']); if ($ticket['d_payment']) { $ticket['sort'] = abs(Bootstrap::$main->now - $ticket['d_payment']); } $ticket['rated'] = $rate->user_has_rated_event($ticket['event']) ? true : false; $ticket['canAddPhoto'] = $ticket['d_event_start'] < Bootstrap::$main->now && $ticket['d_payment'] && !$ticket['d_cancel']; } } return $this->status($tickets); } }
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); }