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); } }
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(); }