From b3bb0b898d3178963fefb9c0b16a00a76cf2a034 Mon Sep 17 00:00:00 2001 From: Hannah Isopod Date: Wed, 11 Jun 2025 03:25:00 -0600 Subject: 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 --- guestbook/feed.php | 66 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 29 deletions(-) (limited to 'guestbook/feed.php') diff --git a/guestbook/feed.php b/guestbook/feed.php index 7cdb62e..64d1b31 100644 --- a/guestbook/feed.php +++ b/guestbook/feed.php @@ -4,43 +4,51 @@ header('Content-Type: text/xml'); echo ''; echo 'isopod.cool guestbook'; -echo 'The guestbook on isopod.cool'; +echo 'The guestbook and blog comments on isopod.cool'; echo 'en-us'; echo 'https://isopod.cool/guestbook/'; echo 'My crappy PHP code'; -$postlist = json_decode(file_get_contents("posts.json")); + +include($_SERVER['DOCUMENT_ROOT']."/Parsedown.php"); +$Parsedown = new Parsedown(); +$Parsedown->setSafeMode(true); +include($_SERVER['DOCUMENT_ROOT'] . '/common.php'); +$postlist = json_decode(file_get_contents($datadir."posts.json")); $index = 1; $totaloutput = ""; foreach($postlist as $post) { - $output = ""; - $date = date("D, d M Y H:m:s", $post->date) . " GMT"; - $name = $post->name; - $message = $post->message; - $found = $post->found; - $website = $post->website; - $cool = $post->cool; - $coolsanitized = htmlentities(preg_replace("/https?:\/\//i", "", $cool)); - $reply = htmlentities($post->reply); - - if($website) { $output = $output."$name:

"; } - else { $output = $output.$name.":

"; } - - if($cool) { - $output = $output."cool thing: $coolsanitized

"; - } - - if($found) { - $output = $output."How did you find me?
$found

"; - } - - $output = $output.$message."

"; - - if($reply) { - $output = $output."
Reply:
$reply"; + if($post->modstatus == 1) { + $output = ""; + $entry = $post->entry; + $date = date("D, d M Y H:m:s", $post->date) . " GMT"; + $name = $post->name; + $message = $Parsedown->text($post->message); + $found = $post->found; + $website = $post->website; + $cool = $post->cool; + $reply = $Parsedown->text($post->reply); + + if($website) { $output = $output."

$name:

"; } + else { $output = $output."

$name:

"; } + + if($cool) { + $output = $output."

cool thing: $cool

"; + } + + if($found) { + $output = $output."

How did you find me?
$found

"; + } + + $output = $output.$message; + + if($reply) { + $output = $output."

Reply:

$reply"; + } + $output_sanitized = preg_replace("/&gt;/", ">", preg_replace("/&lt;/", "<", htmlspecialchars($output))); + $totaloutput = "Entry #" . $index . " on " . $entry . " - " . $name . "https://isopod.cool/guestbook/" . $date . "".$output_sanitized."" . $index . $post->date . $name . "\n".$totaloutput; + $index++; } - $totaloutput = "Entry #" . $index . " - " . $name . "https://isopod.cool/guestbook/" . $date . "".htmlentities($output)."" . $index . $post->date . $name . "".$totaloutput; - $index++; } echo $totaloutput; -- cgit v1.2.3