Esempio n. 1
0
         if (isset($reserved_at)) {
             $update['reserved_at'] = date('c', $reserved_at);
         }
     }
 }
 if (empty($update) || !$Database->where('id', $Post->id)->update("{$type}s", $update)) {
     Response::fail('Nothing has been changed<br>If you tried to do something, then this is actually an error, which you should <a class="send-feedback">tell us</a> about.');
 }
 if (!empty($overdue)) {
     Logs::action('res_overtake', array_merge(array('id' => $Post->id, 'type' => $type), $overdue));
 }
 if (!empty($update['reserved_by'])) {
     Posts::clearTransferAttempts($Post, $type, 'snatch');
 } else {
     if (!empty($Post->reserved_by)) {
         Posts::clearTransferAttempts($Post, $type, 'free');
     }
 }
 if ($type === 'request') {
     $oldReserver = $Post->reserved_by;
     $Post->__construct($update);
     $response = [];
     $suggested = isset($_POST['SUGGESTED']);
     $fromProfile = isset($_POST['FROM_PROFILE']);
     if ($suggested) {
         $response['button'] = Posts::getPostReserveButton($Post, Users::get($Post->reserved_by), false);
     } else {
         if (!$fromProfile || $action !== 'unreserve') {
             $response['li'] = Posts::getLi($Post);
         }
     }
Esempio n. 2
0
            switch ($Notif['type']) {
                case "post-passon":
                    $Post = $Database->where('id', $data['id'])->getOne("{$data['type']}s");
                    if (empty($Post)) {
                        Posts::clearTransferAttempts($Post, $data['type'], 'del');
                        Response::fail("The {$data['type']} doesn't exist or has been deleted");
                    }
                    if ($read_action === 'true') {
                        if ($Post['reserved_by'] !== $currentUser->id) {
                            Posts::clearTransferAttempts($Post, $data['type'], 'perm', null, $currentUser->id);
                            Response::fail('You are not allowed to transfer this reservation');
                        }
                        Notifications::safeMarkRead($Notif['id'], $read_action);
                        Notifications::send($data['user'], "post-passallow", array('id' => $data['id'], 'type' => $data['type'], 'by' => $currentUser->id));
                        $Database->where('id', $data['id'])->update("{$data['type']}s", array('reserved_by' => $data['user'], 'reserved_at' => date('c')));
                        Posts::clearTransferAttempts($Post, $data['type'], 'deny');
                        Logs::action('res_transfer', array('id' => $data['id'], 'type' => $data['type'], 'to' => $data['user']));
                    } else {
                        Notifications::safeMarkRead($Notif['id'], $read_action);
                        Notifications::send($data['user'], "post-passdeny", array('id' => $data['id'], 'type' => $data['type'], 'by' => $currentUser->id));
                    }
                    Response::done();
                    break;
                default:
                    Notifications::safeMarkRead($Notif['id'], $read_action);
            }
        } else {
            Notifications::safeMarkRead($Notif['id']);
        }
        Response::done();
}