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); } }
public function getPublicUser($user, $rewritecache = false) { $id = is_array($user) ? $user['id'] : $user; $memcachetoken = 'public:user:'******':' . Bootstrap::$main->lang; if (!$rewritecache) { $r = Tools::memcache($memcachetoken); if ($r) { $r['memcached'] = true; return $r; } } if (!is_array($user)) { $user = $this->user()->get($user); } $user = $this->public_data($user, true); $event = new eventModel(); $evController = new eventController(); $user['events'] = $event->get_future_user_public_events($id) ?: []; if (is_array($user['events'])) { foreach ($user['events'] as $i => $e) { $event_id = $e['id']; foreach ($event->getLastEditedChildren($event_id) as $last) { foreach (['img', 'about'] as $f) { if ($last[$f]) { $e[$f] = $last[$f]; } } } $user['events'][$i] = $evController->public_data($e, true); $user['events'][$i]['calendar'] = $evController->get_calendar($event_id); $user['events'][$i]['rate'] = $evController->rate($event_id, false, true); $user['events'][$i]['url'] = $user['url'] . '/' . $user['events'][$i]['url']; } } $user['events_hosted'] = $event->get_passed_user_public_events($id) ?: []; if (is_array($user['events_hosted'])) { foreach ($user['events_hosted'] as $i => $e) { $event_id = $e['id']; $user['events_hosted'][$i] = $evController->public_data($e, true); $user['events_hosted'][$i]['guests'] = $evController->get_guests($event_id, $this) ?: []; $user['events_hosted'][$i]['rate'] = $evController->rate($event_id); $user['events_hosted'][$i]['url'] = $user['url'] . '/' . $user['events_hosted'][$i]['url']; } } $user['events_visited'] = $event->get_passed_user_public_visits($id) ?: []; if (is_array($user['events_visited'])) { foreach ($user['events_visited'] as $i => $e) { $event_id = $e['id']; $host = $this->user()->get($e['user']); $user['events_visited'][$i] = $evController->public_data($e, true); $user['events_visited'][$i]['guests'] = $evController->get_guests($event_id, $this) ?: []; $user['events_visited'][$i]['rate'] = $evController->rate($event_id); $user['events_visited'][$i]['url'] = $host['url'] . '/' . $user['events_visited'][$i]['url']; } } $title = $user['firstname'] . ' ' . $user['lastname']; if ($user['title']) { $title .= ' - ' . $user['title']; } $user['share'] = $this->referers($user['url'], $title, $id); $ratemodel = new rateModel(); $rate = $ratemodel->user($id); $user['rate'] = ['rate' => 0 + $rate, 'prc' => round(20 * $rate), 'count' => 0 + $ratemodel->user_count($id)]; return Tools::memcache($memcachetoken, $user); }