Ejemplo n.º 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);
     }
 }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
<?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)];