isLeader()) { die("access denied"); } $panels->setPageTitle('User search'); $panels->setPageDescription('User search'); $panels->setTab('ladder'); $panels->start(); $STANDINGS = $psconfig['standings']; if (!$ip && !$entry) { ?>

Find users by IP

Find users by entry

Ladder

csrfCheck()) { $csrfOk = true; } if (substr($ip, -1) === "*") { // ip range $ip = substr($ip, 0, -1) . '%'; $userlist = $psdb->query("SELECT `username`, `userid`, `banstate` FROM `ntbb_users` WHERE `ip` LIKE ?", [$ip]); } else { $userlist = $psdb->query("SELECT `username`, `userid`, `banstate` FROM `ntbb_users` WHERE `ip` = ?", [$ip]); } if ($csrfOk && isset($_POST['standing'])) { $newStanding = intval($_POST['standing']); $psdb->query("UPDATE ntbb_users SET banstate = ? WHERE ip = ? AND banstate != 100", [$newStanding, $ip]); foreach ($userlist as $row) { $modlogentry = "Standing changed to $newStanding ({$STANDINGS[$newStanding]}): {$_POST['allreason']}"; $psdb->query( "INSERT INTO `{$psdb->prefix}usermodlog` (`userid`,`actorid`,`date`,`ip`,`entry`) VALUES (?, ?, ?, ?, ?)", [$row['userid'], $curuser['userid'], time(), $users->getIp(), $modlogentry] ); } ?>

Standing updated

csrfData(); ?>

Login IP Matches

query("SELECT `username`, `userid`, `ip`, `banstate` FROM `ntbb_users` WHERE `loginip` = ?", [$ip]); foreach ($loginlist as $row) { if ($row['ip'] != $ip) { ?>
(Alts)

Usermodlog entries

query("SELECT * FROM `ntbb_usermodlog` WHERE `ip` = '".$psdb->escape($ip)."'"); while ($row = $psdb->fetch_assoc($usermodlog)) { $entry = $row['entry']; $fromindex = strpos($entry, " from: "); if ($fromindex !== false) $entry = substr($entry, 0, $fromindex); if ($row['actorid'] !== $row['userid']) { if (!$row['actorid']) { $entry .= ' (while logged out)'; } else { $entry .= ' (by ' . $row['actorid'] . ')'; } } ?>
[] []
Ladder

csrfCheck()) { $csrfOk = true; } $entry = '%' . str_replace('_', '\\_', str_replace('%', '\\%', $entry)) . '%'; $userlist = $psdb->query("SELECT `ntbb_users`.`username`, `ntbb_users`.`userid`, `ntbb_users`.`banstate` FROM `ntbb_users` INNER JOIN `ntbb_usermodlog` ON `ntbb_users`.`userid` = `ntbb_usermodlog`.`userid` WHERE `entry` LIKE ?", [$entry]); if ($csrfOk && isset($_POST['standing'])) { $newStanding = intval($_POST['standing']); $psdb->query( "UPDATE {$psdb->prefix}users, {$psdb->prefix}usermodlog " + "INNER JOIN {$psdb->prefix}usermodlog ON {$psdb->prefix}usermodlog.userid = {$psdb->prefix}users.userid " + "SET {$psdb->prefix}users.banstate = ? WHERE {$psdb->prefix}usermodlog.entry LIKE ? AND banstate != 100", [$newStanding, $entry] ); foreach ($userlist as $row) { $modlogentry = "Standing changed to $newStanding ({$STANDINGS[$newStanding]}): {$_POST['allreason']}"; $psdb->query( "INSERT INTO `{$psdb->prefix}usermodlog` (`userid`,`actorid`,`date`,`ip`,`entry`) VALUES (?, ?, ?, ?, ?)", [$row['userid'], $curuser['userid'], time(), $users->getIp(), $modlogentry] ); } ?>

Standing updated

csrfData(); ?>

end(); ?>