コード例 #1
0
ファイル: userController.php プロジェクト: podstawski/papu
 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();
 }
コード例 #2
0
ファイル: index.php プロジェクト: podstawski/papu
        require_once 'google/appengine/api/users/User.php';
        require_once 'google/appengine/api/users/UserService.php';
        $mail = UserService::getCurrentUser()->getNickname();
        $user = new userModel();
        $u = $user->find_one_by_email(strtolower($mail));
        if (isset($u['id'])) {
            Bootstrap::$main->session('time_delta', $u['delta']);
        }
    }
    $limit = 10;
    $event = new eventModel();
    $image = new imageModel();
    $user = new userModel();
    $guest = new guestModel();
    if (isset($_GET['userid'])) {
        $events = $event->select(['user' => $_GET['userid']], 'd_event_start') ?: [];
    } else {
        $events = $event->select(['active' => 1, 'd_event_start' => ['>', Bootstrap::$main->now]], 'd_event_start', $limit, $_GET['offset']) ?: [];
    }
    foreach ($events as &$e) {
        $e['user'] = $user->get($e['user']);
        $e['img'] = $image->get($e['img']);
        $e['link'] = Bootstrap::$main->getConfig('app.root') . $e['user']['url'] . '/' . $e['url'];
        $e['start'] = Bootstrap::$main->human_datetime_format($e['d_event_start']);
        $e['guests'] = $guest->getGuestCount($e['id']) ?: 0;
    }
    header('Content-type: application/json; charset=utf8');
    die(json_encode($events, JSON_NUMERIC_CHECK));
}
$title = 'Events';
$menu = 'events';