fixed broken user.php
[specialops2.git] / stuff.php
blob2c4fbcf57626f57ba0ea4f568d1ccaf57643ef6d
1 <?php
2 // $Id$
4 require 'con.php';
6 usleep(100000); //DoS protection
8 $page->title = 'Stats and Stuff';
10 $user->userheader();
12 $a = 1;
14 $date = array(
15 'today' => mktime(0, 0, 0),
16 'week' => mktime(0, 0, 0) - 86400*(gmdate('w')-1),
17 'month' => mktime(0, 0, 0, gmdate('m'), 1),
18 '24h' => (time()-86400),
19 '7d' => (time()-86400*7),
20 '30d' => (time()-86400*30)
23 /* this does stuff */
24 function getrow($sql)
26 global $DB, $date;
27 $return = '';
28 foreach ($date as $num)
29 $return .= '<td>'.$DB->query(sprintf($sql, $num))->fetch_object()->result.'</td> ';
31 return $return;
35 <table id="board_stats" style="empty-cells: hide">
36 <caption>Board Statistics</caption>
38 <colgroup title="Row headers">
39 <col title="Type of data"/>
40 </colgroup>
41 <colgroup title="Fuzzy statistics">
42 <col/><col/><col/>
43 </colgroup>
44 <colgroup title="Raw statistics">
45 <col/><col/><col/><col/>
46 </colgroup>
48 <thead>
49 <tr>
50 <td/>
51 <th scope="col">Today</th>
52 <th scope="col">This week</th>
53 <th scope="col">This month</th>
54 <th scope="col">Last 24 hours</th>
55 <th scope="col">Last 7 days</th>
56 <th scope="col">Last 30 days</th>
57 <th scope="col">Total</th>
58 </tr>
59 </thead>
61 <tbody>
63 <?php echo
64 '<tr class="content c',(++$a&1),'">
65 <th scope="row" title="Count of all messages">Posts</th>
66 ',getrow('SELECT COUNT(*) AS `result` FROM `messages` WHERE `mtime` > %d'),'
67 <td>',$DB->query('SELECT COUNT(*) AS `result` FROM `messages`')->fetch_object()->result,'</td>
68 </tr>
70 <tr class="content c',(++$a&1),'">
71 <th scope="row" title="Any post in direct reply to someone else\'s">Replies</th>
72 ',getrow('SELECT COUNT(*) AS `result` FROM `messages` WHERE `replyto` IS NOT NULL AND `mtime` > %d'),'
73 <td>',$DB->query('SELECT COUNT(*) AS `result` FROM `messages` WHERE `replyto` IS NOT NULL')->fetch_object()->result,'</td>
74 </tr>
76 <tr class="content c',(++$a&1),'">
77 <th scope="row" title="Count of all topics">Topics</th>
78 ',getrow('SELECT COUNT(DISTINCT(`topicid`)) AS `result` FROM `messages` WHERE `mtime` > %d'),'
79 <td>',$DB->query('SELECT COUNT(*) AS `result` FROM `topics`')->fetch_object()->result,'</td>
80 </tr>
82 <tr class="content c',(++$a&1),'">
83 <th scope="row" title="Number of new users in a time period">Users</th>
84 ',getrow('SELECT COUNT(*) AS `result` FROM `users` WHERE `register_date` > %d'),'
85 <td>',$DB->query('SELECT COUNT(*) AS `result` FROM `users`')->fetch_object()->result,'</td>
86 </tr>
88 <tr class="content c',(++$a&1),'">
89 <th scope="row" title="Users who\'ve logged in within this time">Online Users</th>
90 ',getrow('SELECT COUNT(`userid`) AS `result` FROM `users`
91 WHERE `last_active_date` > `register_date` AND `last_active_date` > %d'),'
92 <td>',$DB->query('SELECT COUNT(*) AS `result` FROM `users`
93 WHERE `last_active_date` > `register_date`')->fetch_object()->result,'</td>
94 </tr>
96 <tr class="content c',(++$a&1),'">
97 <th scope="row" title="Users who\'ve posted at least once">Active Users</th>
98 ',getrow('SELECT COUNT(DISTINCT(`users`.`userid`)) AS `result` FROM `users` NATURAL LEFT JOIN `messages`
99 WHERE `messages`.`mtime` > %d'),'
100 <td>',$DB->query('SELECT COUNT(DISTINCT(`users`.`userid`)) AS `result`
101 FROM `users` NATURAL LEFT JOIN `messages`')->fetch_object()->result; ?></td>
102 </tr>
103 </tbody>
105 </table>
107 <h2>Stuff</h2>
108 <h3>Terms of Service</h3>
109 <ul>
110 <li>Don't be a fucking idiot.</li>
111 <li>Anyone caught screwing with the registration system is in full violation of the above rule,
112 and will be forcibly kept out of the site. Same goes for persistent invite-beggers.</li>
113 </ul>
115 <?php
116 $page->pagefooter();