WHMCS Guru Support Forums

Please take a moment and register in order to view all of our content Thank you

Reports Server Account Report

Additional Reports


Chief Guru
Staff member
This is a report tool I wrote a few years back (looks like it might have been v5 or 6 based on the code). Cleaned it up, updated it for V6+ . This is just a report, nothing fancy there.

Save the following as server_account_report.php in modules/reports. The file name is quite specific

use Illuminate\Database\Capsule\Manager as Capsule;

# The title of your report
$serverid = $_GET['serverid'];
//search for clients in that group

$reportdata["title"] = "Hosting account report by server";
# Report Table of Data Column Headings - should be an array of values

if (!isset($serverid))
    //make 'em get the server list first
    $reportdata["tableheadings"] = array("Server","Hostname","IP Address","Total Accounts List");
    //$query="select name, hostname, id, ipaddress FROM tblservers";

    foreach (Capsule::table(tblservers) ->get() as $res)

        $retrow = "";
        $servername = $res->name;
        $hostname = $res->hostname;
        $ipaddress = $res->ipaddress;
        $retrow .="<a href=\"reports.php?report=server_account_report&serverid=$sid\">$servername</a>";
        $accountlist = fetch_the_account_num($sid);
        $reportdata["tablevalues"][] = array($retrow,$hostname,$ipaddress,$accountlist);




    $reportdata["tableheadings"] = array("Name","Service","Domain","Next Due", "Account Status");

    foreach (Capsule::table(tblhosting)->WHERE('server','=',$serverid) ->get() as $serverdata)

        $theid = $serverdata->id;
        $packageid = $serverdata->packageid;
        $regdate = $serverdata->regdate;
        $userid = $serverdata->userid;
        $domain = $serverdata->domain;
        $nextdue = $serverdata->nextduedate;
        $theuser = fetch_the_account_name($userid);
        $pkgname = fetch_the_package_name($packageid);
        $status = $serverdata->domainstatus;
        $pkglink = "<a href=clientsservices.php?productselect=$theid>$pkgname</a>";
        $reportdata["tablevalues"][] = array($theuser,$pkglink,$domain, $nextdue,$status);

function fetch_the_package_name($packageid)

    foreach (Capsule::table(tblproducts)->WHERE('id','=',$packageid) ->get() as $pres)
        $thename = $pres->name;

function fetch_the_account_name($userid)

    foreach (Capsule::table(tblclients)->WHERE('id','=',$userid) ->get() as $res3)
        $fname = $res3->firstname;
        $lname = $res3->lastname;
        $bname = $res3->companyname;
        $clientlink = "<a href=\"clientssummary.php?userid=$userid\">";
        $retname = "$fname $lname [$bname]</a>";
        $clientlink .= $retname;
function fetch_the_account_num($serverid)
    $anrows = Capsule::table('tblhosting')->where('server', '=', $serverid)->count();
    return ($anrows);

$data["footertext"] = "<div align=\"center\">[<a href=\"reports.php?report=server_account_report\">Report Home</a>]</div>";


Users who are viewing this thread