Did something with the DTD thing
[specialops2.git] / user.php
blob76c569167f46859bb68dfe1d9cfe66de8127d5db
1 <?php
2 /**
3 * Userinfo Page
5 * @author Anthony Parsons (xmpp:ant@specialops.ath.cx)
6 * @license file://COPYING
7 * @version $Id$
8 */
10 $prefetch = array('`points`', '`last_active_date`', '`register_date`', '`sig`', '`quote`',
11 '`reg_contact`', '`public_contact`', '`private_contact`', '`useragent`',
12 'INET_NTOA(`last_login_ip`) AS `last_login_ip`',
13 'INET_NTOA(`last_ip`) AS `last_ip`',
14 'INET_NTOA(`reg_ip`) AS `reg_ip`');
16 require 'con.php';
17 $page->title = 'User Details';
19 if ( ! ($user instanceof User_Authenticated) ) {
20 $page->errorfooter('login');
23 $uid = is_numeric($_SERVER['QUERY_STRING']) ? intval($_SERVER['QUERY_STRING']) : $user->userid;
25 if ( $user->userid != $uid && $DB->query('SELECT `userid` FROM `users` WHERE `userid` = '.$uid)->num_rows == 0 ) {
26 $page->errorfooter('userid');
29 if ( $user->userid == $uid ) {
30 $page->title = 'Your Details';
31 $user->userheader();
32 $user2 = $user;
33 } else {
34 $user2 = new User_Registered($uid, $prefetch);
35 $page->title = 'User Details for '.$user2->__toString();
36 $user->userheader();
39 $sig = new Message_Plaintext($user2->sig);
40 $quote = new Message_Plaintext($user2->quote);
42 echo '
43 <table>
44 <caption>User Details for <strong>',$user2,'</strong></caption>
45 <tr><th scope="row">Account ID</th><td>',$user2->userid,'</td></tr>
46 <tr><th scope="row">Points</th><td>',$user2->points,'</td></tr>
47 <tr><th scope="row">Posts</th><td>',$user2->posts,'</td></tr>
48 <tr><th scope="row">Last Active</th><td>',$user->fdate($user2->last_active_date),'</td></tr>
49 <tr><th scope="row">Registration Date</th><td>',$user->fdate($user2->register_date),'</td></tr>
50 <tr><th scope="row">Timezone</th><td>UTC',sprintf('%+d', $user2->timezone),'</td></tr>
51 <tr><th scope="row">Signature</th><td>',( $sig->getOutput() ? $sig->getOutput() : '<var>Empty</var>'),'</td></tr>
52 <tr><th scope="row">Quote</th><td>',( $quote->getOutput() ? $quote->getOutput() : '<var>Empty</var>'),'</td></tr>
53 <tr><th scope="row">Public Contact Address</th><td>',( $user2->public_contact ? $user2->public_contact : '<var>Empty</var>'),'</td></tr>
54 <tr><th scope="row">Browser</th><td>',htmlspecialchars($user2->useragent),'</td></tr>
55 </table>
58 // Admin stuff
59 if ( $user->has_priv('admin') ) {
60 echo '
61 <table>
62 <caption>Admin-only Information</caption>
63 <tr><th scope="row">Private Contact Address</th><td>',( $user2->private_contact ? $user2->private_contact : '<var>Empty</var>'),'</td></tr>
64 <tr><th scope="row">Signup Contact Address</th><td>',( $user2->reg_contact ? $user2->reg_contact : '<var>Empty</var>'),"</td></tr>\n";
66 $fields = array(
67 'Last Login From' => $user2->last_login_ip,
68 'Last Active From' => $user2->last_ip,
69 'Signed Up From' => $user2->reg_ip
72 foreach ( $fields as $title => $addr ) {
73 echo '<tr><th scope="row">',$title,'</th><td>',( is_null($addr) ? 'Unknown Address' : $addr ),"</td></tr>\n";
76 echo "</table>\n";
79 if ( $user->userid == $uid ) {
81 <h2>User Options</h2>
82 <ul>
83 <?php if ( 0 >= $user->points ) { ?>
84 <li>Theme</li>
85 <li>Options</li>
86 <li>User Directory</li>
87 <?php } else { ?>
88 <li><a href="theme">Theme</a></li>
89 <li><a href="options">Options</a></li>
90 <li><a href="userlist">User Directory</a></li>
91 <?php } ?>
92 <li><a href="passwd">Change Password</a></li>
93 <li><a href="points">Points FAQ</a></li>
94 </ul>
95 <?php
98 $page->pagefooter();