public function delete($auto = false) { $this->requiresLogin(); $event = $this->event()->get(0 + $this->id); if (!isset($event['user']) || $event['user'] != Bootstrap::$main->user['id']) { return $this->error(19); } $model = new eventModel($event); if (!$model->getGuests() && count($model->get_dates($model->id, false)) == 1) { $model->remove(); return $this->status(); } elseif (!$auto && $model->d_event_start < Bootstrap::$main->now) { return $this->error(60); } else { $guests = $model->getGuests(); $guestModel = new guestModel(); $otoken = $auto ? 'auto-cancel' : 'host-cancel'; Bootstrap::$main->human_datetime_format(); $event = $this->event()->get(0 + $this->id); $host = $this->user()->get($event['user']); if (is_array($guests)) { foreach ($guests as $guest) { $guestModel->get($guest['guest_id']); $guestModel->cancel_reason = $this->data('reason'); $guestModel->d_cancel = Bootstrap::$main->now; $guestModel->canceler = Bootstrap::$main->user['id']; $guestModel->save(); $ics = Ics::cancelation($event, $host, $guest, $event['create'], $event['change']); $data = $guestModel->data(); $data['event'] = $event; $data['guest'] = $guest; $data['host'] = $host; if ($guestModel->d_payment) { Tools::observe($otoken, $data, [['cancel.ics' => $ics]]); } } } $model->active = -1; $model->save(); Tools::log('event-' . $otoken, ['event' => $model->data(), 'guests' => $guests]); } return $this->status(); }
$ul[] = ['class' => 'event', 'url' => $url . $event['url'], 'name' => $event['name'], 'img' => $event['img']['square']]; $urls[$event['url']] = true; } } $url .= $user['user']['url']; $img_url = $url; } } elseif ($parts[1]) { $eventController = new eventController($parts[1], [], $parts); $method = 'get_' . $parts[0]; $event = $eventController->{$method}(); if (isset($event['event'])) { $event_model = new eventModel(); $u = explode('/', $event['event']['url']); $e = $event_model->find_on_url($u[0], $u[1]); $dates = $event_model->get_dates($e['id'], false) ?: []; $itemscope = 'Events'; if (isset($event['event']['rate'])) { $rate = $event['event']['rate']; } $title = $event['event']['name']; $pagetitle = $title . ' - ' . $event['event']['city']; $description = $event['event']['about']; $photo = $event['event']['img']['url']; $img = $event['event']['host']['photo']; if (isset($event['event']['tags']) && is_array($event['event']['tags'])) { $tags = []; foreach ($event['event']['tags'] as $t) { $tags[] = $t['name']; } $keywords = implode(',', $tags) . ',' . $keywords;