isLeader(); if (!($lowerstaff || $upperstaff)) { die("access denied"); } $userid = false; $user = false; if ($_REQUEST['user'] ?? null) { $userid = $users->userid($_REQUEST['user']); if (!$userid) { header('HTTP/1.1 404 Not Found'); die("Invalid userid"); } $user = $users->getUser($userid); if (substr($_SERVER['REQUEST_URI'], 0, 13) === '/users/?user=') { // really wish this could be done with mod_rewrite header('Location: http://' . $psconfig['routes']['users'] . '/' .$userid); die(); } if (!$user || $user['banstate'] == 100) { if ($panels->output !== 'html') header('HTTP/1.1 404 Not Found'); } } if (isset($_REQUEST['json'])) { header('Content-type: application/json'); $ratings = []; foreach ($user['ratings'] as $rating) { $ratings[$rating['formatid']] = [ 'elo' => $rating['acre'], 'gxe' => $rating['gxe'], 'rpr' => $rating['rpr'], 'rprd' => $rating['rprd'], ]; } echo json_encode([ 'username' => $user['username'], 'userid' => $user['userid'], 'registertime' => intval(@$user['registertime']), 'group' => intval($user['group']), 'ratings' => $ratings, ], JSON_FORCE_OBJECT); die(); } if (!$user) { $panels->setPageTitle('Usermodlog'); $panels->setPageDescription('Usermodlog'); } else { $panels->setPageTitle(''.$user['username'].' - Usermodlog'); $panels->setPageDescription(''.$user['username'].'\'s usermodlog'); } $panels->setTab('ladder'); $panels->start(); if (!$userid) { ?>
[= date("M j, Y, g:ia", $user['logintime']); ?>] [= $user['loginip'] ?>] Last logged in
Autoconfirmed: Has played at least one battle since 2014, so last login is probably sometime in 2014-2015'; } else if ($user['banstate'] == 0) { echo 'Not autoconfirmed: Last login was probably sometime in ' . date("Y", $user['registertime']) . '
'; } else { echo 'Custom standing: An upper staff member has changed this user\'s standing in the past
'; } ?>Current login sessions (logins expire after 2 weeks or when you click "log out", whichever comes first)
query("SELECT `time`,`ip` FROM ntbb_sessions WHERE userid = '".$psdb->escape($user['userid'])."'"); // $sessions = $psdb->fetch($res); if ($user['outdatedpassword']) echo '✓ Abandoned account: Most recent login was before April 2013
'; $atLeastOne = false; while ($session = $psdb->fetch_assoc($res)) { // var_export($session); // echo '[' . date("M j, Y", $session['time']) . '] Logged in from ' . $session['ip'] . '
'; ?>[= date("M j, Y, g:ia", $session['time']); ?>] [= $session['ip'] ?>] Currently logged in
(None)'; } } ?>[= date("M j, Y, g:ia", $user['registertime']); ?>] '.$user['ip'].']' ?> Account created
query("SELECT * FROM `ntbb_usermodlog` WHERE `userid` = '".$psdb->escape($userid)."'"); while ($row = $psdb->fetch_assoc($usermodlog)) { $entry = $row['entry']; $fromindex = strpos($entry, " from: "); if ($fromindex !== false) $entry = substr($entry, 0, $fromindex); if (!$upperstaff) { // Hide email addresses from lowerstaff $entry = preg_replace($EMAIL_REGEX, "[email address hidden]", $entry); } if ($row['actorid'] !== $userid) { if (!$row['actorid']) { $entry .= ' (while logged out)'; } else { $entry .= ' (by ' . $row['actorid'] . ')'; } } ?>[= date("M j, Y, g:ia", $row['date']); ?>] '.$row['ip'].']' ?> = htmlspecialchars($entry) ?>