Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-16-2022, 04:59 PM
Alice Alice is offline
 
Join Date: Mar 2013
Location: Great Lakes Area
Posts: 81
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default vBulletin 4 Request - Debugging and/or Converting PHP

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,
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:07 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07238 seconds
  • Memory Usage 2,186KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete