/** * Add load information to the Products/Services homepage panel * * @param Item $basePanel collection of homepage panels */ function populateLoadAverageInHomepagePanels(Item $basePanel) { $servicesPanel = $basePanel->getChild('Active Products/Services'); // If this is not populated at all we need to skip adding items. if (is_null($servicesPanel)) { return; } foreach ($servicesPanel->getChildren() as $serviceLink) { parse_str(parse_url($serviceLink->getUri(), PHP_URL_QUERY)); /** @var int $id Created by parse_str() */ /** @var Service $service */ // See http://docs.whmcs.com/classes/classes/WHMCS.Service.Service.html for details on this model $service = Service::findOrFail($id); $loadAverage = getLoadAverageFromService($service); if ($loadAverage) { $label = $serviceLink->getLabel(); $label .= "<br>Load average - One: {$loadAverage->one} "; $label .= "Five: {$loadAverage->five} "; $label .= "Fifteen: {$loadAverage->fifteen}"; $serviceLink->setLabel($label); } } }