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

whmcsguru

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

PHP:
<?php
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;
        $sid=$res->id;
        $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);

    }


}

else
{

    $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;
        return($thename);
    }
}

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;
        return($clientlink);
    }
}
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

Top