PDA

View Full Version : vBulletin 4 Request - Debugging and/or Converting PHP


Alice
01-16-2022, 04:59 PM
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:
<?
// ################################################## #####################
// ########################## 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,