Tidy email confirms
This commit is contained in:
@@ -6,6 +6,17 @@ $username = 'ppruser'; // Replace with your database username
|
|||||||
$password = 'iJ8kN*5[g6P3jaqN'; // Replace with your database password
|
$password = 'iJ8kN*5[g6P3jaqN'; // Replace with your database password
|
||||||
$database = 'pprdevdb'; // Replace with your database name
|
$database = 'pprdevdb'; // Replace with your database name
|
||||||
|
|
||||||
|
$mailHost = 'send.one.com'; // Your SMTP server
|
||||||
|
$mailSMTPAuth = true;
|
||||||
|
$mailUsername = 'noreply@swansea-airport.wales';
|
||||||
|
$mailPassword = 'SASAGoForward2155';
|
||||||
|
//$mailSMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
|
||||||
|
$mailPort = 465;
|
||||||
|
$mailFromAddress = 'noreply@swansea-airport.wales';
|
||||||
|
$mailFromName = 'Swansea Airport';
|
||||||
|
|
||||||
|
$baseUrl = "https://ppr.swansea-airport.wales/dev";
|
||||||
|
|
||||||
function getUserIP() {
|
function getUserIP() {
|
||||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||||
return $_SERVER['HTTP_CLIENT_IP'];
|
return $_SERVER['HTTP_CLIENT_IP'];
|
||||||
@@ -32,8 +43,15 @@ function connectDb() {
|
|||||||
|
|
||||||
function logJournal($conn, $id, $message) {
|
function logJournal($conn, $id, $message) {
|
||||||
|
|
||||||
|
if (isset($_SERVER['PHP_AUTH_USER'])) {
|
||||||
|
$user = $_SERVER['PHP_AUTH_USER'];
|
||||||
|
} else {
|
||||||
|
$user = "None";
|
||||||
|
}
|
||||||
|
|
||||||
$stmt = $conn->prepare("INSERT INTO journal (ppr_id, entry, user, ip) VALUES (?, ?, ?, ?)");
|
$stmt = $conn->prepare("INSERT INTO journal (ppr_id, entry, user, ip) VALUES (?, ?, ?, ?)");
|
||||||
$stmt->bind_param("isss", $id, $message, $_SERVER['PHP_AUTH_USER'], getUserIP());
|
$ip = getUserIP();
|
||||||
|
$stmt->bind_param("isss", $id, $message, $user, $ip);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
|
|||||||
20
newppr.php
20
newppr.php
@@ -47,28 +47,30 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function generatePprEmail($entryId) {
|
function generatePprEmail($entryId) {
|
||||||
|
|
||||||
|
global $mailHost, $mailSMTPAuth, $mailUsername, $mailPassword, $mailPort, $baseUrl, $mailFromAddress, $mailFromName;
|
||||||
$token = generateSecureToken($_POST['email'], $entryId);
|
$token = generateSecureToken($_POST['email'], $entryId);
|
||||||
$secureLink = "https://ppr.swansea-airport.wales/dev/cancelppr.php?op=view&token=" . urlencode($token);
|
$secureLink = $baseUrl . "/pilotppr.php?op=view&token=" . urlencode($token);
|
||||||
echo $secureLink;
|
echo $secureLink;
|
||||||
|
|
||||||
$mail = new PHPMailer(true);
|
$mail = new PHPMailer(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$mail->isSMTP();
|
$mail->isSMTP();
|
||||||
$mail->Host = 'send.one.com'; // Your SMTP server
|
$mail->Host = $mailHost;
|
||||||
$mail->SMTPAuth = true;
|
$mail->SMTPAuth = $mailSMTPAuth;
|
||||||
$mail->Username = 'noreply@swansea-airport.wales';
|
$mail->Username = $mailUsername;
|
||||||
$mail->Password = 'SASAGoForward2155';
|
$mail->Password = $mailPassword;
|
||||||
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
|
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
|
||||||
$mail->Port = 465;
|
$mail->Port = $mailPort;
|
||||||
|
|
||||||
$mail->setFrom('noreply@swansea-airport.wales', 'Swansea Airport');
|
$mail->setFrom($mailFromAddress, $mailFromName);
|
||||||
$mail->addAddress($_POST['email']);
|
$mail->addAddress($_POST['email']);
|
||||||
|
|
||||||
$mail->isHTML(true);
|
$mail->isHTML(true);
|
||||||
$mail->Subject = "Edit Your Entry";
|
$mail->Subject = "PPR Confirmation";
|
||||||
$mail->Body = "
|
$mail->Body = "
|
||||||
<p>Click the button below to edit your entry securely:</p>
|
<p>This is to confirm we have received your PPR. To view or cancel your PPR please click the button:</p>
|
||||||
<a href='$secureLink' style='display: inline-block; padding: 10px 20px; color: white; background-color: #007bff; text-decoration: none; border-radius: 5px;'>Edit Entry</a>
|
<a href='$secureLink' style='display: inline-block; padding: 10px 20px; color: white; background-color: #007bff; text-decoration: none; border-radius: 5px;'>Edit Entry</a>
|
||||||
";
|
";
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ if (isset($_GET['token'])) {
|
|||||||
// Token is valid, allow changes to database entry
|
// Token is valid, allow changes to database entry
|
||||||
$email = $result['email'];
|
$email = $result['email'];
|
||||||
$entryId = $result['entryId'];
|
$entryId = $result['entryId'];
|
||||||
echo "Token valid, email is " . $email . " entryId is " . $entryId;
|
|
||||||
} else {
|
} else {
|
||||||
die("Invalid or expired token.");
|
die("Invalid or expired token.");
|
||||||
}
|
}
|
||||||
@@ -95,7 +94,7 @@ if (isset($_GET['token'])) {
|
|||||||
|
|
||||||
switch($_GET['op']) {
|
switch($_GET['op']) {
|
||||||
case "cancel":
|
case "cancel":
|
||||||
opCancel();
|
opCancel($entryId);
|
||||||
break;
|
break;
|
||||||
case "view":
|
case "view":
|
||||||
opView($entryId);
|
opView($entryId);
|
||||||
@@ -104,10 +103,21 @@ switch($_GET['op']) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
function opView($entryId) {
|
||||||
|
|
||||||
$conn = connectDb();
|
$conn = connectDb();
|
||||||
$sql = "SELECT * FROM submitted WHERE id = " . $entryId;
|
$sql = "SELECT * FROM submitted WHERE status = 'NEW' AND id = " . $entryId;
|
||||||
$result = $conn->query($sql);
|
$result = $conn->query($sql);
|
||||||
|
|
||||||
if ($result->num_rows > 0) {
|
if ($result->num_rows > 0) {
|
||||||
@@ -132,15 +142,14 @@ function opView($entryId) {
|
|||||||
echo "<p><strong>Phone:</strong> " . $row['phone'] . "</p>";
|
echo "<p><strong>Phone:</strong> " . $row['phone'] . "</p>";
|
||||||
|
|
||||||
echo "<p><strong>Notes:</strong> " . $row['notes'] . "</p></div>";
|
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 {
|
} else {
|
||||||
echo "No details found for the given ID.";
|
echo "<p>No details found for the given ID. This could mean the PPR has been canceled already.</p>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$conn->close();
|
$conn->close();
|
||||||
|
|
||||||
echo '<button onclick="confirmWithSweetAlert(\'cancelppr.php?op=cancel&token=' . urlencode($_GET['token']) . '\')">Cancel PPR</button>';
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -148,8 +157,6 @@ function opView($entryId) {
|
|||||||
<!-- Include SweetAlert -->
|
<!-- Include SweetAlert -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function confirmWithSweetAlert(url) {
|
function confirmWithSweetAlert(url) {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
@@ -167,4 +174,3 @@ function confirmWithSweetAlert(url) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
Reference in New Issue
Block a user