81 lines
No EOL
2.3 KiB
PHP
81 lines
No EOL
2.3 KiB
PHP
<?php
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
|
|
$returnLocation = $_POST["entry"];
|
|
$returnCode = "success";
|
|
if($_POST["botcheck"] != "isopod") {
|
|
$returnCode = "botcheckfailed";
|
|
} else if(!$_POST["name"]) {
|
|
$returnCode = "noname";
|
|
} else if(!$_POST["message"]) {
|
|
$returnCode = "nomessage";
|
|
} else {
|
|
|
|
date_default_timezone_set("America/Edmonton");
|
|
$currentPost = array(
|
|
"date" => time(),
|
|
"name" => htmlentities($_POST["name"]),
|
|
"message" => htmlentities($_POST["message"]),
|
|
"entry" => $_POST["entry"]
|
|
);
|
|
|
|
$filename = "posts.json";
|
|
|
|
$handle = @fopen($filename, 'r+');
|
|
|
|
// create the file if needed
|
|
if ($handle === null)
|
|
{
|
|
$handle = fopen($filename, 'w+');
|
|
}
|
|
|
|
if ($handle)
|
|
{
|
|
// seek to the end
|
|
fseek($handle, 0, SEEK_END);
|
|
|
|
// are we at the end of is the file empty
|
|
if (ftell($handle) > 0)
|
|
{
|
|
// move back a byte
|
|
fseek($handle, -2, SEEK_END);
|
|
|
|
// add the trailing comma
|
|
fwrite($handle, ",\n", 2);
|
|
|
|
// add the new json string
|
|
fwrite($handle, json_encode($currentPost) . "]\n");
|
|
}
|
|
else
|
|
{
|
|
// write the first event inside an array
|
|
fwrite($handle, json_encode(array($currentPost)));
|
|
}
|
|
|
|
// close the handle on the file
|
|
fclose($handle);
|
|
}
|
|
}
|
|
}
|
|
header("Location: ../posts/$returnLocation/?return=$returnCode");
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Guestbook</title>
|
|
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
|
|
<style type="text/css">
|
|
body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
</style>
|
|
<?php include($_SERVER['DOCUMENT_ROOT'] . '/seasonal.php'); ?>
|
|
</head>
|
|
<body>
|
|
<p>Your post has been submitted! It's weird that you're seeing this page though. Maybe your browser can't process location headers? At any rate, click <?php echo "<a href='./?return=$returnCode'>here</a>"; ?> to get where you're supposed to be right now.</p>
|
|
</body>
|
|
</html>
|