* Minor TOS change
[specialops2.git] / lib / class.Boardlist_SO2.php
blob028e5b4f99bcb7439a8bc5004d779dfe2f564939
1 <?php
2 /**
3 * Special Ops 2 board list layout
5 * @author Anthony Parsons (xmpp:ant@specialops.ath.cx)
6 * @license file://../COPYING
7 * @version $Id$
8 */
9 require_once 'iface.Boardlist.php';
11 class Boardlist_SO2 implements Boardlist
13 const ID = 2;
14 const Name = 'SO2';
16 function display()
18 global $DB, $user;
20 $boards = $DB->query('SELECT `group_name`, `boardid`, `board_name` AS `name`, `caption`, `view_restrict`
21 FROM `boards` LEFT JOIN `board-groups` USING(`groupid`)
22 WHERE `hidden` = 0
23 ORDER BY `groupid` ASC, `boardid` ASC', MYSQLI_USE_RESULT);
25 // See class.boardlist_so1
26 while ( $tmp = $boards->fetch_assoc() ) {
27 $groups[array_shift($tmp)][array_shift($tmp)] = $tmp;
30 // Nothing wrong with a bit of outdenting ?>
31 <table>
32 <col/><col class="num"/><col class="num"/><col/>
33 <thead>
34 <tr>
35 <th scope="col">Board</th>
36 <th scope="col">Posts</th>
37 <th scope="col">Topics</th>
38 <th scope="col">Last Post</th>
39 </tr>
40 </thead>
41 <?php
42 foreach ( $groups as $groupname => $boards ) {
43 echo '<tbody class="boardgroup">',"\n",
44 '<tr><th scope="rowgroup" colspan="4">',$groupname,"</th></tr>\n";
46 foreach ( $boards as $boardid => $board ) {
47 $DB->query('SET @boardid = '.$boardid);
49 list($postcount, $lastpost) = $DB->query('SELECT COUNT(*), MAX(`mtime`) FROM `messages` WHERE `topicid` IN
50 (SELECT `topicid` FROM `topics` WHERE `boardid` = @boardid)')->fetch_row();
51 list($topiccount) = $DB->query('SELECT COUNT(*) AS `c` FROM `topics` WHERE `boardid` = @boardid')->fetch_row();
53 echo
54 '<tr class="content">',"\n",
55 ' <td><a href="topiclist?',$boardid,'">',$board['name'],"</a><br/>\n",
56 ' <small style="margin-left:1em">',$board['caption'],"</small></td>\n",
57 ' <td>',$postcount,"</td>\n",
58 ' <td>',$topiccount,"</td>\n",
59 ' <td>',$user->fdate($lastpost),"</td>\n",
60 "</tr>\n";
62 echo "</tbody>\n";
64 echo "</table>\n";