deleted){ pageBuilder::errorCode(404); } $subforumId = $threadInfo->subforumid; } elseif(isset($_GET['subforum'])) { $threadInfo = false; $subforumId = $_GET['subforum']; } else { pageBuilder::errorCode(404); } $subforumInfo = forum::getSubforumInfo($subforumId); if(!$subforumInfo){ pageBuilder::errorCode(404); } if(!$threadInfo && $subforumInfo->minadminlevel && SESSION["adminLevel"] < $subforumInfo->minadminlevel){ pageBuilder::errorCode(404); } $errors = ["subject"=>false, "body"=>false, "general"=>false]; $subject = $body = false; if($_SERVER['REQUEST_METHOD'] == "POST") { $body = $_POST["body"]; $userid = SESSION["userId"]; if(!$threadInfo) { $subject = $_POST["subject"]; if(!trim($subject)){ $errors["subject"] = "Subject cannot be empty"; } if(strlen($subject) > 64){ $errors["subject"] = "Subject must be shorter than 64 characters"; } } if(!trim($body)){ $errors["body"] = "Body cannot be empty"; } if(strlen($body) > 10000){ $errors["body"] = "Body must be shorter than 10,000 characters"; } $ratecheck = $pdo->prepare("SELECT (SELECT COUNT(*) FROM forum_threads WHERE author = :uid AND postTime+30 > UNIX_TIMESTAMP()) + (SELECT COUNT(*) FROM forum_replies WHERE author = :uid AND postTime+30 > UNIX_TIMESTAMP()) AS ratecheck"); $ratecheck->bindParam("uid", $userid, PDO::PARAM_INT); $ratecheck->execute(); if($ratecheck->fetchColumn()){ $errors["general"] = "Please wait 30 seconds before sending another forum post"; } if(!$errors["subject"] && !$errors["body"] && !$errors["general"]) { if($threadInfo) { $query = $pdo->prepare("INSERT INTO forum_replies (body, threadId, author, postTime) VALUES (:body, :threadId, :author, UNIX_TIMESTAMP())"); $query->bindParam(":body", $body, PDO::PARAM_STR); $query->bindParam(":threadId", $threadInfo->id, PDO::PARAM_INT); $query->bindParam(":author", $userid, PDO::PARAM_INT); $query->execute(); $query = $pdo->prepare("UPDATE forum_threads SET bumpIndex = UNIX_TIMESTAMP() WHERE id = :id"); $query->bindParam(":id", $threadInfo->id, PDO::PARAM_INT); $query->execute(); header("Location: /thread?ID=".$threadInfo->id); } else { $query = $pdo->prepare("INSERT INTO forum_threads (subject, body, subforumid, author, postTime, bumpIndex) VALUES (:subject, :body, :subId, :author, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); SELECT LAST_INSERT_ID();"); $query->bindParam(":subject", $subject, PDO::PARAM_STR); $query->bindParam(":body", $body, PDO::PARAM_STR); $query->bindParam(":subId", $subforumId, PDO::PARAM_INT); $query->bindParam(":author", $userid, PDO::PARAM_INT); $query->execute(); $query = $pdo->prepare("SELECT id FROM forum_threads WHERE author = :id ORDER BY id DESC"); $query->bindParam(":id", $userid, PDO::PARAM_INT); $query->execute(); header("Location: /thread?ID=".$query->fetchColumn()); } } } pageBuilder::$pageConfig["title"] = "New ".($threadInfo?"Reply":"Thread"); pageBuilder::$CSSdependencies[] = "/css/simplemde.min.css"; pageBuilder::$JSdependencies[] = "/js/simplemde.min.js"; pageBuilder::buildHeader(); ?>

New

" id="subject" name="subject" placeholder="64 characters max" value="" required>
Markdown
Markdown is supported, allowing you to format your forum post.
Learn more about how to use markdown here.
Alternatively, you can use the built-in markdown editor.