177 lines
4.6 KiB
PHP
177 lines
4.6 KiB
PHP
<?php
|
|
include("functions.php");
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Row Details</title>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: #f4f4f4;
|
|
}
|
|
|
|
.container {
|
|
width: 80%;
|
|
margin: 20px auto;
|
|
background-color: #fff;
|
|
padding: 20px;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
h2 {
|
|
color: #333;
|
|
text-align: center;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.details {
|
|
padding: 15px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 5px;
|
|
background-color: #f9f9f9;
|
|
}
|
|
|
|
.details p {
|
|
margin: 10px 0;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.details p strong {
|
|
color: #333;
|
|
}
|
|
|
|
.back-link {
|
|
display: inline-block;
|
|
margin-top: 20px;
|
|
text-decoration: none;
|
|
color: #fff;
|
|
background-color: #007BFF;
|
|
padding: 10px 15px;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.back-link:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
|
|
button {
|
|
padding: 10px 20px;
|
|
font-size: 1rem;
|
|
background-color: #007bff;
|
|
color: white;
|
|
border: none;
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
transition: 0.3s;
|
|
}
|
|
|
|
button:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<?php
|
|
|
|
if (isset($_GET['token'])) {
|
|
$result = validateSecureToken($_GET['token']);
|
|
|
|
if ($result) {
|
|
// Token is valid, allow changes to database entry
|
|
$email = $result['email'];
|
|
$entryId = $result['entryId'];
|
|
} else {
|
|
die("Invalid or expired token.");
|
|
}
|
|
}
|
|
|
|
switch($_GET['op']) {
|
|
case "cancel":
|
|
opCancel($entryId);
|
|
break;
|
|
case "view":
|
|
opView($entryId);
|
|
break;
|
|
default:
|
|
|
|
}
|
|
|
|
function opCancel($entryId) {
|
|
|
|
$conn = connectDb();
|
|
$sql = "UPDATE submitted SET status = 'CANCELED' where id = " . $entryId;
|
|
$result = $conn->query($sql);
|
|
logJournal($conn, $entryId, "Marked Canceled by Pilot");
|
|
$conn->close();
|
|
echo "<p>Your PPR has been canceled. Thank you for letting us know!</p>";
|
|
|
|
}
|
|
|
|
function opView($entryId) {
|
|
|
|
$conn = connectDb();
|
|
$sql = "SELECT * FROM submitted WHERE status = 'NEW' AND id = " . $entryId;
|
|
$result = $conn->query($sql);
|
|
|
|
if ($result->num_rows > 0) {
|
|
// Output data of the row
|
|
$row = $result->fetch_assoc();
|
|
echo '<div class="container">';
|
|
echo '<div class="details"><p><strong>Aircraft Reg: </strong>' . $row['ac_reg'] . "</p>";
|
|
echo "<p><strong>Aircraft Type:</strong> " . $row['ac_type'] . "</p>";
|
|
echo "<p><strong>Callsign:</strong> " . $row['ac_call'] . "</p>";
|
|
echo "<p><strong>Captain's Name:</strong> " . $row['captain'] . "</p>";
|
|
echo "<p><strong>Arriving From:</strong> " . $row['in_from'] . "</p>";
|
|
echo "<p><strong>POB IN:</strong> " . $row['pob_in'] . "</p>";
|
|
echo "<p><strong>ETA:</strong> " . $row['eta'] . "</p>";
|
|
|
|
echo "<p><strong>Fuel Required:</strong> " . $row['fuel'] . "</p>";
|
|
|
|
echo "<p><strong>POB OUT:</strong> " . $row['pob_out'] . "</p>";
|
|
echo "<p><strong>Outbound To:</strong> " . $row['out_to'] . "</p>";
|
|
echo "<p><strong>ETD:</strong> " . $row['etd'] . "</p>";
|
|
|
|
echo "<p><strong>Email Address:</strong> " . $row['email'] . "</p>";
|
|
echo "<p><strong>Phone:</strong> " . $row['phone'] . "</p>";
|
|
|
|
echo "<p><strong>Notes:</strong> " . $row['notes'] . "</p></div>";
|
|
echo '<button onclick="confirmWithSweetAlert(\'pilotppr.php?op=cancel&token=' . urlencode($_GET['token']) . '\')">Cancel PPR</button>';
|
|
|
|
} else {
|
|
echo "<p>No details found for the given ID. This could mean the PPR has been canceled already.</p>";
|
|
}
|
|
|
|
$conn->close();
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
<!-- Include SweetAlert -->
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
|
|
<script>
|
|
function confirmWithSweetAlert(url) {
|
|
Swal.fire({
|
|
title: "Cancel PPR?",
|
|
text: "We hope to see you soon!",
|
|
icon: "warning",
|
|
showCancelButton: true,
|
|
confirmButtonColor: "#3085d6",
|
|
cancelButtonColor: "#d33",
|
|
confirmButtonText: "Cancel PPR"
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
window.location.href = url;
|
|
}
|
|
});
|
|
}
|
|
</script>
|