New theme, fixed some minor stuff
[specialops2.git] / messagelist.php
blobf2b34183706dd57e98b1acf5f402b76275c84f4e
1 <?php
2 // $Id$
4 $prefetch = array('`points`', '`msglist_layout`', '`msgs_page`');
5 require 'con.php';
7 $page->title = 'Message List';
9 if ( isset($_GET['topic']) ) {
10 $topicid = intval($_GET['topic']);
11 $topic = $DB->query('SELECT `board_name`, `boards`.`boardid`, `view_level`, `post_level`, `topic_level`, `topic_title`
12 FROM `boards` NATURAL LEFT JOIN `topics` WHERE `topicid` = '.$topicid)->fetch_row();
15 if ( !is_array($topic) ) {
16 header('HTTP/1.1 400 Bad Request');
17 $page->errorfooter('topicid');
20 if ( $topic[2] > $user->level ) {
21 header('HTTP/1.1 403 Forbidden');
22 $page->errorfooter('level', $topic[2]);
25 $page->title .= ': '.$topic[5];
27 $page->nav['Topic List: '.$topic[0]] = 'topiclist?board='.$topic[1];
28 if ( $user instanceof authuser && $user->level >= $topic[3] )
29 $user->userlinks['Post Message'] = 'post?topic='.$topicid;
31 $user->userheader();
33 if ( $user instanceof authuser ) {
34 $start = isset($_GET['page']) ? intval($_GET['page']) : 0;
35 $posts = isset($_GET['length']) && ($_GET['length'] <= 100) ? intval($_GET['length']) : $user->msgs_page;
36 } else {
37 $start = 0;
38 $posts = $user->msgs_page;
41 switch ( $user->msglist_layout ) {
42 case 0:
43 $mlist = new messagelist_flat($topicid, $posts, $start); break;
44 case 1:
45 $mlist = new messagelist_threaded($topicid, $posts, $start); break;
46 case 2:
47 $mlist = new messagelist_irc($topicid, $posts, $start); break;
50 $l = $mlist->pagelist();
52 if ( $user instanceof authuser && $l )
53 echo '<div id="pagelist-head" class="nl">Pages: <ul>',"\n$l</ul></div>\n";
55 echo '<div id="',get_class($mlist),"\">\n";
56 $mlist->display();
57 echo "</div>\n";
59 if ( $user instanceof authuser && $l )
60 echo '<div id="pagelist-foot" class="nl">Pages: <ul>',"\n$l</ul></div>\n";
62 $page->pagefooter();