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(); }
} if (!isset($users[$e['user']])) { $users[$e['user']] = $user->get($e['user'], true); } $e['user'] = $users[$e['user']]; Bootstrap::$main->session('time_delta', $e['user']['delta']); $e['event'] = $event->get($e['id']); $e['total'] = $e['persons'] * $e['event']['host_price']; switch (strtoupper($e['country'])) { case 'PL': if (!isset($transfers['pl'])) { require_once __DIR__ . '/../lib/class/bzwbk.php'; $transfers['pl'] = new bzwbk(); } $transfers['pl']->add($e); $guests = $guest->select(['event' => $e['id'], 'd_payment' => ['>', 0], 'd_cancel' => null, 'guest_price' => ['>', 0]]); $e['commision'] = []; foreach ($guests as $g) { $commision = $g['guest_price'] - $g['host_price']; if (!isset($e['commision'][$commision])) { $e['commision'][$commision] = 0; } $e['commision'][$commision] += $g['persons']; } $user->get($e['user']['id']); $user->_payment_id = $fakturownia->invoice($e); if ($user->_payment_id) { $user->save(); } break; }