From 117f875d6287b03131e75a839e563b05b15ecd48 Mon Sep 17 00:00:00 2001 From: cflip <36554078+cflip@users.noreply.github.com> Date: Thu, 8 Apr 2021 11:03:17 -0600 Subject: Add ability to delete your posts --- includes/manage_post.php | 46 ++++++++++++++++++++++++++++++++++++++++++++++ model/Post.php | 13 +++++++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 includes/manage_post.php diff --git a/includes/manage_post.php b/includes/manage_post.php new file mode 100644 index 0000000..fedc70e --- /dev/null +++ b/includes/manage_post.php @@ -0,0 +1,46 @@ +id"; + mysqli_query($dbc, $sql); + + $sql = "UPDATE categories SET `cat_post_count` = `cat_post_count` - '1' WHERE cat_id = " . $post->thread->category->id . ";"; + mysqli_query($dbc, $sql); +} + +include_once 'db_inc.php'; +include_once '../model/Post.php'; + +session_start(); + +if ($_SERVER['REQUEST_METHOD'] == 'GET') { + $action = filter_input(INPUT_GET, 'action', FILTER_SANITIZE_STRING); + $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT); + + $post = new Post(); + $post->get_from_database($id, $dbc); + + if (!isset($_SESSION['signed_in'])) { + echo 'You must be signed in to manage a post.'; + header("Location: /viewthread.php?id=" . $post->thread->id); + return; + } + + + if ($_SESSION['user_id'] != $post->author->id) { + echo "You can't manage another user's post!"; + header("Location: /viewthread.php?id=" . $post->thread->id); + return; + } + + switch ($action) { + case 'delete': + delete_post($dbc, $post); + break; + case 'edit': + edit_post(); + break; + } + + header("Location: /viewthread.php?id=" . $post->thread->id); +} diff --git a/model/Post.php b/model/Post.php index 91cd3be..308b5ac 100644 --- a/model/Post.php +++ b/model/Post.php @@ -15,7 +15,7 @@ function add_quote($dbc, $thread_id, $matches) { $reply = mysqli_fetch_assoc($result); if (empty($reply)) { - return '
Invalid quote!'; + return '
This post has been deleted'; } $id = $id + 1; @@ -59,7 +59,16 @@ class Post { } function display_content($dbc) { - echo '