diff options
author | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-24 09:40:20 -0600 |
---|---|---|
committer | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-24 09:40:20 -0600 |
commit | 7c3f2e348c015ea93563d866f89ec8cea9159ea0 (patch) | |
tree | b7b6b18cf9087f42300f621d15101628a8d214e4 /create_thread.php | |
parent | 6c9369ad85f2fb3dc61234b54db7e7079cdc0c4e (diff) |
Refactoring part 2
Starting to move some functionality such as the session and database connection into singleton classes to manage them. Functions for modifying posts and threads are being put in one place as well.
Diffstat (limited to 'create_thread.php')
-rw-r--r-- | create_thread.php | 68 |
1 files changed, 33 insertions, 35 deletions
diff --git a/create_thread.php b/create_thread.php index 4598ce2..534b0ab 100644 --- a/create_thread.php +++ b/create_thread.php @@ -1,63 +1,61 @@ -<?php session_start()?> +<?php session_start() ?> <!DOCTYPE html> -<html> +<html lang="en"> <head> - <title>Create a thread - cflip.net forum</title> - <link rel="stylesheet" href="styles/style.css"> + <title>Create a thread - cflip.net forum</title> + <link rel="stylesheet" href="styles/style.css"> </head> <body> -<?php include_once 'templates/header.php' ?> +<?php include_once 'includes/templates/header.php' ?> <h2>Create a new thread</h2> <?php -if (!isset($_SESSION['signed_in'])) { - die('You must be <a href="signin.php">signed in</a> to create a thread.'); -} +include_once 'includes/Session.php'; +if (!Session::get()->is_signed_in()) { + trigger_error('You must be <a href="signin.php">signed in</a> to create a thread.'); + exit(); +} ?> -<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"> - <label for="thread_subject">Subject: </label><br> - <input type="text" name="thread_subject"><br> - <label for="thread_cat">Category: </label><br> +<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> + <label for="thread_subject">Subject: </label><br> + <input type="text" name="thread_subject"><br> + <label for="thread_cat">Category: </label><br> <?php - include_once 'includes/db_inc.php'; - include_once 'model/Category.php'; + include_once './includes/db_inc.php'; + include_once './includes/model/Category.php'; - $categories = get_all_categories($dbc); + $categories = get_all_categories($dbc); - if (count($categories) == 0) { - echo 'There are no categories to post to!'; - } else { - echo '<select name="thread_cat">'; + if (count($categories) == 0) { + echo 'There are no categories to post to!'; + } else { + echo '<select name="thread_cat">'; - foreach ($categories as $category) { - echo '<option value="' . $category->id . '">' . $category->name . '</option>'; - } - - echo '</select><br>'; + foreach ($categories as $category) { + echo '<option value="' . $category->id . '">' . $category->name . '</option>'; } + + echo '</select><br>'; + } ?> - <label for="post_content">Write your post: </label><br> - <textarea name="post_content"></textarea><br> - <input type="submit" name="submit"> + <label for="post_content">Write your post: </label><br> + <textarea name="post_content"></textarea><br> + <input type="submit" name="submit"> </form> <?php -include_once 'includes/db_inc.php'; -include_once 'includes/functions_insert.php'; +include_once 'includes/functions_post.php'; +include_once 'includes/functions_thread.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $post_content = filter_input(INPUT_POST, 'post_content', FILTER_SANITIZE_STRING); $thread_subject = filter_input(INPUT_POST, 'thread_subject', FILTER_SANITIZE_STRING); $thread_cat = filter_input(INPUT_POST, 'thread_cat', FILTER_SANITIZE_NUMBER_INT); - $user_id = filter_var($_SESSION['user_id'], FILTER_SANITIZE_NUMBER_INT); if (empty($thread_subject) or !$thread_subject) { echo 'Thread subject cannot be empty'; } else { - insert_thread($dbc, $thread_subject, $thread_cat, $user_id); - $thread_id = mysqli_insert_id($dbc); - insert_post($dbc, $post_content, $thread_id, $user_id, $thread_cat); + $thread_id = create_thread($thread_subject, $thread_cat); + create_post($post_content, $thread_id, $thread_cat); - $sql = "UPDATE categories SET `cat_thread_count` = `cat_thread_count` + '1' WHERE cat_id = " . $thread_cat . ";"; - mysqli_query($dbc, $sql); header("Location: viewthread.php?id=" . $thread_id); } |