aboutsummaryrefslogtreecommitdiff
path: root/blog/comment
diff options
context:
space:
mode:
authorHannah Isopod <me@bathynomus.xyz>2025-06-11 03:25:00 -0600
committerHannah Isopod <me@bathynomus.xyz>2025-06-11 03:25:00 -0600
commitb3bb0b898d3178963fefb9c0b16a00a76cf2a034 (patch)
treeeec6da7a21790183b15f31283fe3b8bcaabfaa4d /blog/comment
parent5023bdef46281034c0476bc4201342a0a4cc2ae7 (diff)
total guestbook overhaul + new blog post + etc
- Added /about/pronouns/ in leiu of something like a pronouns.cc profile - New blog post about my new and improved AI opinions - Moved Stop Using Chromium to an actual blog post page - Blog posts now have previous and next buttons - New /blog/ background - Moved status.cafe widget from /blog/ to landing page - Total overhaul of guestbook: - Merged guestbook and blog comment section code - Beefed up bot protection - Added a word filter - Added a property to entries to facilitate holding comments for review and approving or denying them manually (The interface for this is somewhere else) - IP address from which a post originates is now tracked in order to IP ban malicious actors - Various new buttons - Updated /greenhouse/ - The site is now a member of the No AI Webring - a couple minor CSS fixes
Diffstat (limited to 'blog/comment')
-rw-r--r--blog/comment/comments.css92
-rw-r--r--blog/comment/feed.php29
-rw-r--r--blog/comment/index.php40
-rw-r--r--blog/comment/submit.php81
4 files changed, 0 insertions, 242 deletions
diff --git a/blog/comment/comments.css b/blog/comment/comments.css
deleted file mode 100644
index 7f97c4c..0000000
--- a/blog/comment/comments.css
+++ /dev/null
@@ -1,92 +0,0 @@
-table {
- border-collapse: collapse;
- table-layout: fixed;
-}
-td {
- padding: 0.3rem;
-}
-
-form > table {
- width: 100%;
- margin: auto;
- margin-bottom: 1.5rem;
-}
-
-article {
- width: 100%;
- margin: 2rem auto;
- display: grid;
- gap: 1rem;
-}
-
-input, textarea {
- border: none;
- font-family: var(--stdfont);
-}
-input[type="text"], input[type="email"], textarea {
- width: 100%;
- background: none;
- border-bottom: 2px solid #444444;
- color: gainsboro;
- padding: 0.35rem;
- box-sizing: border-box;
- font-size: .9em;
-}
-input[type="submit"], input[type="reset"] {
- padding: 0.35rem 0.5rem;
- box-shadow: 2px 2px 6px black;
- margin: 0.3rem;
- display: inline-block;
-}
-input[type="submit"]:active, input[type="reset"]:active {
- transform: translate(1px, 1px); box-shadow: 0 0 2px black;
-}
-input[type="submit"]:hover, input[type="reset"]:hover {
- cursor: pointer;
-}
-.error {
- color: red;
- font-size: 0.85em;
-}
-.success {
- color: #00ff00;
- font-size: 0.85em;
-}
-.reply {
- border-left: 3px solid gainsboro;
- padding-left: 1rem;
-}
-.message {
- padding-top: 1.5rem;
-}
-@media only screen and (hover: none) {
- form td:first-child {
- text-align: left;
- }
- form td:nth-child(2) {
- padding-left: 0;
- padding-right: 0;
- }
- input[type="text"], input[type="email"], textarea {
- background: none;
- border: 2px solid #00000033;
- border-bottom: 2px solid #888888;
- }
- article {
- margin: 2rem auto;
- }
-}
-@media (prefers-contrast: more) {
- input[type="text"], input[type="email"], textarea {
- outline: 1px solid white;
- color: white;
- }
- input:focus, textarea:focus {
- outline: 3px solid white;
- }
- input[type="submit"] {
- background: none;
- color: white;
- outline: 1px solid white;
- }
-} \ No newline at end of file
diff --git a/blog/comment/feed.php b/blog/comment/feed.php
deleted file mode 100644
index 889514f..0000000
--- a/blog/comment/feed.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-include("../../Parsedown.php");
-$Parsedown = new Parsedown();
-$Parsedown->setSafeMode(true);
-
-header('Content-Type: text/xml');
-
-echo '<rss version="2.0"><channel>';
-echo '<title>isopod.cool blog comments</title>';
-echo '<description>Every comment posted on my blog in chronological order.</description>';
-echo '<language>en-us</language>';
-echo '<link>https://isopod.cool/blog/comment/</link>';
-echo '<generator>My crappy PHP code</generator>';
-
-$postlist = json_decode(file_get_contents("posts.json"));
-$totaloutput = "";
-foreach($postlist as $post) {
- $output = "";
- $date = date("D, d M Y H:m:s", $post->date) . " GMT";
- $name = $post->name;
- $message = $Parsedown->text(html_entity_decode($post->message));
- $entry = $post->entry;
-
- $output = $output."Comment from ".$name." on ".$entry.":<br><br>".$message."<br><br>";
- $totaloutput = "<item><title>Comment on " . $entry . " from " . $name . "</title><link>https://isopod.cool/blog/posts/" . $entry . "/</link><pubDate>" . $date . "</pubDate><description>".htmlentities($output)."</description><guid isPermaLink='false'>" . $entry . $post->date . $name . "</guid></item>".$totaloutput;
-}
-
-echo $totaloutput;
-echo "</channel></rss>"; \ No newline at end of file
diff --git a/blog/comment/index.php b/blog/comment/index.php
deleted file mode 100644
index 2d5f6a6..0000000
--- a/blog/comment/index.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>blog comments</title>
- <link href="/style.css" rel="stylesheet" type="text/css" media="all">
- <link href="comments.css" rel="stylesheet" type="text/css" media="all">
- <style>
-
- </style>
- <?php include($_SERVER['DOCUMENT_ROOT'] . '/seasonal.php'); ?>
- </head>
- <body>
- <?php include($_SERVER['DOCUMENT_ROOT'] . '/nav.php'); ?>
- <h1>blog</h1>
- <h2 id="caption">every comment</h2>
- <nav>
- <a href="feed.php">RSS</a>
- </nav>
- <?php
- include("../../Parsedown.php");
- $Parsedown = new Parsedown();
- $Parsedown->setSafeMode(true);
-
- $totaloutput = "";
- $postlist = json_decode(file_get_contents("posts.json"));
- foreach($postlist as $post) {
- $output = "";
- $date = date("Y-m-d h:iA", $post->date);
- $name = $post->name;
- $message = $Parsedown->text(html_entity_decode($post->message));
- $entry = $post->entry;
-
- $output = $output."<hr><article><table><tr><td style='text-align: left;'>".$name." <i>on</i> <a href='/blog/posts/".$entry."/'>".$entry."</a></td><td style='text-align: right;'>".$date."</td></tr><tr><td colspan='2'>".$message."</td></tr></table></article>";
- $totaloutput = $output.$totaloutput;
- }
- echo $totaloutput; ?>
- </body>
-</html>
diff --git a/blog/comment/submit.php b/blog/comment/submit.php
deleted file mode 100644
index 26e5647..0000000
--- a/blog/comment/submit.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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> \ No newline at end of file