Пример #1
0
 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);
     }
 }
Пример #2
0
 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);
 }