Hello. I'm trying to debug an issue with this script. It's part of a Multiple Account Tracking System for vBulletin Accounts. However, this originally was written in 2016, and not sure how php has changed between v5.6 to v7.1.
This code is here:
PHP Code:
<?
// #######################################################################
// ########################## SET PHP ENVIRONMENT ########################
// #######################################################################
chdir('/home/swgresu2/public_html/forums');
require_once('global.php');
ini_set('display_errors', 1);
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET,');
// #######################################################################
// ############################ SET DEFINITIONS ##########################
// #######################################################################
chdir('/home/swgresu2/public_html/logs');
$file = file_get_contents('resurgence_live_auth_log.txt');
$logins = explode("\n", $file);
$start_date;
$ips = array();
$usernames = array();
$authorized = array();
// #######################################################################
// ############################# SET FUNCTIONS ###########################
// #######################################################################
function is_staff($name) {
return (strpos($name, 'admin-') !== false) ||
(strpos($name, 'dev-') !== false) ||
(strpos($name, 'qa-') !== false) ||
(strpos($name, 'csr-') !== false);
}
function get_simple_date($date) {
$date = explode("]", $date)[0];
return str_replace('[', '', $date);
}
function add_to_usernames($name, $ip) {
global $usernames;
if (!(array_key_exists($name, $usernames))) {
$usernames[$name] = array();
}
if (!(array_key_exists($ip, $usernames[$name]))) {
$usernames[$name][$ip] = $ip;
}
}
function add_to_ips($ip, $name) {
global $ips;
if (!(array_key_exists($ip, $ips))) {
$ips[$ip] - array();
}
if (!(array_key_exists($name, $ips[$ip]))) {
$ips[$ip][$name] = 1;
}else{
$ips[$ip][$name] = $ips[$ip][$name] + 1;
}
}
function filter_multiple_ips($user) {
return count($user) > 1;
}
function filter_duplicate_ips($ip) {
return count($ip) > 1;
}
function get_authorized_users() {
global $vbulletin;
global $authorized;
$groupid = 9;
$users = $vbulletin->db->query_read("SELECT username FROM ". TABLE_PREFIX."user
WHERE usergroupid = $groupid OR FIND_IN_SET($groupid,
membergroupids}");
while ($user = $vbulletin->db->fetch_array($users));
{
$username = strtolower($user['username']);
$authorized[$username] = $username;
}
$vbulletin->db->free_result($users);
}
function get_duplicates() {
global $logins;
global $ips;
global $duplicates;
foreach ($logins as $login) {
$parts = explode(",", $login);
$name = substr($parts[0], 35);
$name = str_replace(' ', '', $name);
if (strpos($login, 'Station ID:') === false) {
$result = substr($parts[1], 9);
}else{
$result = substr($parts[2], 9);
}
$ip = substr($parts[3], 5);
if ($result == 1 && !is_staff($name) && $ip != '') {
add_to_ips($ip, $name);
}
}
$duplicates = array_filter($ips, 'filter_duplicate_ips');
}
// #######################################################################
// ######################### FINAL GET ID ################################
// #######################################################################
$start_date = get_simple_date($logins[0]);
get_duplicates();
get_authorized_users();
echo str_replace('\\u0000', "", json_encode(array("date" => $start_date, "duplicates" => $duplicates, "authorized" => $authorized)));
// #######################################################################
// ####################### END OF FILE ###################################
// #######################################################################
?>
Hopefully, someone here can help me with this.
Thanks,