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 delete() { require_once __DIR__ . '/../models/paymentModel.php'; require_once __DIR__ . '/../models/imageLabelModel.php'; require_once __DIR__ . '/../models/rateModel.php'; require_once __DIR__ . '/../models/guestModel.php'; require_once __DIR__ . '/../models/tagModel.php'; $this->requiresLogin(); if ($this->id && $this->id != Bootstrap::$main->user['id']) { $this->requiresLogin(true); } $user_id = $this->id ?: Bootstrap::$main->user['id']; $backup = []; $backup['user'] = $this->user($user_id)->data(); $md5hash = $backup['user']['md5hash']; $images = new imageModel(); $labels = new imageLabelModel(); $rates = new rateModel(); $guests = new guestModel(); $events = new eventModel(); $tags = new tagModel(); $payments = new paymentModel(); $backup['image'] = $images->getUsersImages($user_id) ?: []; $backup['imageLabels'] = []; foreach ($backup['image'] as $img) { $backup['imageLabels'] = array_merge($backup['imageLabels'], $labels->select(['image' => $img['id']]) ?: []); } $backup['event'] = $events->select(['user' => $user_id]) ?: []; $backup['tag'] = $tags->select(['user' => $user_id]) ?: []; foreach ($backup['event'] as $event) { $backup['tag'] = array_merge($backup['tag'], $tags->select(['event' => $event['id']]) ?: []); } $backup['rate'] = $rates->select(['user' => $user_id]) ?: []; $backup['rate'] = array_merge($backup['rate'], $rates->select(['host' => $user_id]) ?: []); $backup['guest'] = $guests->select(['user' => $user_id]) ?: []; $backup['payment'] = []; foreach ($backup['guest'] as $guest) { $backup['payment'] = array_merge($backup['payment'], $payments->select(['guest' => $guest['id']]) ?: []); } $backup_json = json_encode($backup, JSON_NUMERIC_CHECK); $path = 'arch/' . $md5hash . '/' . Bootstrap::$main->human_datetime_format(Bootstrap::$main->now); Tools::save($path . '/data.json', $backup_json); Tools::save($path . '/img', null, 'img/' . $md5hash); Tools::log('remove-user', Bootstrap::$main->user['id']); $this->user()->remove(); if (!$this->id || $this->id == Bootstrap::$main->user['id']) { return $this->get_logout(); } return $this->status(); }
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); }
protected function _get_user($user_id) { $token = 'user:'******'firstname', 'lastname', 'url', 'photo', 'about', 'gender', 'title', 'vip', 'lang'] as $k) { $ret[$k] = $user->{$k}; } $ratemodel = new rateModel(); $rate = $ratemodel->user($user_id); $ret['rate'] = ['rate' => 0 + $rate, 'prc' => round(20 * $rate), 'count' => 0 + $ratemodel->user_count($user_id)]; return Tools::memcache($token, $ret); }
<?php include __DIR__ . '/admin/base.php'; require_once __DIR__ . '/rest/models/eventModel.php'; require_once __DIR__ . '/rest/models/rateModel.php'; require_once __DIR__ . '/rest/controllers/cityController.php'; function sitemap_date($t) { return date('c', $t); } include __DIR__ . '/locale.php'; $sitemap = []; $sitemap[] = ['loc' => $url, 'priority' => 1, 'lastmod' => sitemap_date(strtotime(date('Y-m-d')))]; $city = new cityController(); $cities = $city->get($country); $rate = new rateModel(); if (isset($cities['cities'])) { foreach ($cities['cities'] as $city) { $sitemap[] = ['loc' => $url . 'events/' . $city['lat'] . '/' . $city['lng'] . '/' . round($city['distance']) . '/' . urlencode($city['name']), 'priority' => 0.9, 'lastmod' => sitemap_date(strtotime(date('Y-m-d')))]; } } $event = new eventModel(); $events = $event->allEventsForCountry($country); $hosts = []; foreach ($events as $e) { $date = $e['d_change'] ?: strtotime(date('Y-m-d')); $reviews = $rate->event_reviews($e['event_id'], true, 1) ?: []; if (isset($reviews[0]) && $reviews[0]['d_create'] > $date) { $date = $reviews[0]['d_create']; } $sitemap[] = ['loc' => $url . $e['host_url'] . '/' . $e['event_url'], 'priority' => 0.8, 'lastmod' => sitemap_date($date)];