diff options
Diffstat (limited to 'viewcategory.php')
-rw-r--r-- | viewcategory.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/viewcategory.php b/viewcategory.php new file mode 100644 index 0000000..ebdc03f --- /dev/null +++ b/viewcategory.php @@ -0,0 +1,69 @@ +<?php +include_once 'includes/db_inc.php'; +include_once 'model/Category.php'; + +session_start(); + +$current = new Category(); + +if (!isset($_GET['id']) || !filter_var($_GET['id'], FILTER_VALIDATE_INT)) { + http_response_code(404); + include_once 'templates/404.php'; + die(); +} else { + $result = $current->get_from_database($_GET['id'], $dbc); + if ($result == 0) { + http_response_code(404); + include_once 'templates/404.php'; + die(); + } +} +?> +<!DOCTYPE html> +<html> +<head> + <title><?php echo $current->name; ?> - cflip.net forum</title> +</head> +<body> +<?php include_once 'templates/header.php';?> + <h1><?php echo $current->name; ?></h1> + <p><?php echo $current->description; ?></p> + <?php echo $current->thread_count . ' threads, ' . $current->post_count . ' posts'; ?> + <h2>Threads</h2> + <table width="100%"> + <tr> + <th>Thread Name</th> + <th>Latest Post</th> + </tr> + <?php + function cmp($a, $b) { + $da = strtotime($a->date_lastpost); + $db = strtotime($b->date_lastpost); + + if ($da == $db) return 0; + + return ($da > $db) ? -1 : 1; + } + + $threads = $current->get_threads($dbc); + usort($threads, "cmp"); + + foreach ($threads as $thread) { + $latest_post = $thread->get_latest_post($dbc); + + echo '<tr>'; + echo '<td><b><a href="viewthread.php?id=' . $thread->id . '">' . $thread->subject . '</a></b>'; + echo ' by <b><a href="viewuser.php?id=' . $thread->author->id . '">' . $thread->author->name . '</a></b> on ' . date('M d, Y', strtotime($thread->date_created)) . '</td>'; + + if (!is_null($latest_post)) { + echo '<td>by <b><a href="viewuser.php?id=' . $latest_post->author->id . '">' . $latest_post->author->name . '</a></b> on ' . $latest_post->date . '</td>'; + } else { + echo '<td>No posts yet!</td>'; + } + + echo '</tr>'; + } + ?> + </table> +</body> +</html> |