From a8250004a53ae0f8993842648f6200309a54d73b Mon Sep 17 00:00:00 2001 From: "Skylar \"The Cobra\" Widulski" Date: Sat, 26 Aug 2023 04:13:29 -0400 Subject: [PATCH] Move all the stuff to the top so it can be run always Signed-off-by: Skylar "The Cobra" Widulski --- en/newsletter.php | 81 ++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/en/newsletter.php b/en/newsletter.php index 2befb26..b32a01c 100644 --- a/en/newsletter.php +++ b/en/newsletter.php @@ -39,6 +39,47 @@ else $err = "Invalid E-mail"; else $err = "E-mail is required"; + $filename = "/tmp/list-code-" . $email; + + if (!empty($_GET['code'])) { + if (file_get_contents($filename) == $_GET['code']) { + if ($_GET['action'] == "sub") { + $handle = fopen("/var/spool/list", "a"); + fwrite($handle, $code . "\n"); + fclose($handle); + } else { + $contents = file_get_contents("/var/spool/list"); + $contents = str_replace($line . PHP_EOL, '', $contents); + file_put_contents("/var/spool/list", $contents); + } + unlink($filename); + + $subject = $_GET['action'] == "sub" ? "S" : "Uns" . "ubscription confirmed"; + $headers = "From: announcements@vern.cc\n"; + $headers .= "MIME-Version: 1.0\n"; + $headers .= "Content-type: text/plain\n"; + $message = "You have been " . $_GET['action'] == "sub" ? "added to" : "removed from" . " the ~vern announcement mailing list"; + + mail($email, $subject, $message, $headers); + } else { + $code_err = 'Incorrect code'; + } + } else { + $code = substr(md5(rand()), 0, 8); + $handle = fopen($filename, "w+"); + chmod($filename, 0600); + fwrite($handle, $code); + fclose($handle); + + $subject = "Your confirmation code"; + $headers = "From: announcements@vern.cc\n"; + $headers .= "MIME-Version: 1.0\n"; + $headers .= "Content-type: text/plain\n"; + $message = "Your confirmation code is $code. Do not share it with anyone.\n\nIf you did not initiate this, you can safely ignore this message."; + + mail($email, $subject, $message, $headers); + } + if (empty($_GET['action']) || ($_GET['action'] != "sub" && $_GET['action'] != "unsub") || !empty($err) && empty($_GET['code'])) { ?> @@ -57,46 +98,6 @@

Confirm Action

A confirmation code was sent to