is_signed_in()) { trigger_error('You must be signed in to create a thread'); return 0; } $user = Session::get()->get_current_user(); // Insert the new thread into the database $sql = "INSERT INTO threads(thread_subject, thread_date_created, thread_date_lastpost, thread_category, thread_author) VALUES (?, CONVERT_TZ(NOW(), 'SYSTEM', '+00:00'), CONVERT_TZ(NOW(), 'SYSTEM', '+00:00'), ?, ?);"; Database::get()->query($sql, "sii", $subject, $category, $user->id); // Get the ID of the thread we just created $thread_id = Database::get()->get_last_id(); // Increment the category's thread count $sql = "UPDATE categories SET `cat_thread_count` = `cat_thread_count` + '1' WHERE cat_id = ?;"; Database::get()->query($sql, "i", $category); return $thread_id; } function delete_thread($thread) { // User must be signed in if (!Session::get()->is_signed_in()) { trigger_error('You must be signed in to delete a thread.'); return; } // User must be a moderator to delete a thread $current_user = Session::get()->get_current_user(); if ($current_user->level != USER_LEVEL_MODERATOR) { trigger_error("You must be a moderator to delete this post."); return; } // TODO: The post must not be locked // TODO: The post must have not been around for a certain amount of time // Delete the thread from the database Database::get()->query("DELETE FROM threads WHERE thread_id = ?", "i", $thread->id); // Decrement the thread count of the category Database::get()->query("UPDATE categories SET `cat_thread_count` = `cat_thread_count` - '1' WHERE cat_id = ?", "i", $thread->category->id); }