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
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>";
?>