addMachineWhere('locationid', 'IN', $locs); } $q->addLocalColumn('Memory Slot Occupied'); $q->addGlobalColumn('Memory Slot Count'); $q->addGlobalColumn('Memory Maximum Capacity'); $q->addMachineColumn('clientip'); $q->addMachineColumn('hostname'); $q->addWhere(false, 'Memory Installed Capacity', '<', 8 * 1024 * 1024 * 1024); $list = []; foreach ($q->query() as $row) { if (HardwareParser::convertSize($row['Memory Installed Capacity'], 'M', false) >= HardwareParser::convertSize($row['Memory Maximum Capacity'], 'M', false)) { $row['size_class'] = 'danger'; $list[] = $row; } elseif ($row['Memory Slot Occupied'] < $row['Memory Slot Count']) { $row['count_class'] = 'success'; array_unshift($list, $row); } else { $list[] = $row; } } Render::addTemplate('hints-ram-upgrade', ['list' => $list]); } private static function showMemorySlow(array $locs) { $q = new HardwareQuery(HardwareInfo::RAM_MODULE); if (!empty($locs)) { $q->addMachineWhere('locationid', 'IN', $locs); } $q->addLocalColumn('Locator'); $q->addLocalColumn('Bank Locator'); $q->addGlobalColumn('Form Factor'); $q->addGlobalColumn('Type'); $q->addGlobalColumn('Size'); $q->addGlobalColumn('Manufacturer'); $q->addLocalColumn('Serial Number'); $q->addMachineColumn('clientip'); $q->addMachineColumn('hostname'); $q->addCompare(true, 'Speed', '>', false, 'Configured Memory Speed'); $list = $q->query()->fetchAll(); Render::addTemplate('hints-ram-underclocked', ['list' => $list]); } private static function showUnusedSpace(array $locs) { $id44 = $id45 = []; // ID44 $q = new HardwareQuery(HardwareInfo::HDD); if (!empty($locs)) { $q->addMachineWhere('locationid', 'IN', $locs); } $q->addMachineColumn('clientip'); $q->addMachineColumn('hostname'); $q->addWhere(false, 'unused', '>', 2000000000); // 2 GB $q->addMachineWhere('id44mb', '<', 20000); // 20 GB foreach ($q->query()->fetchAll() as $row) { $row['unused_s'] = Util::readableFileSize($row['unused']); $row['id44mb_s'] = Util::readableFileSize($row['id44mb'], -1, 2); $id44[] = $row; } // ID45 $q = new HardwareQuery(HardwareInfo::HDD); if (!empty($locs)) { $q->addMachineWhere('locationid', 'IN', $locs); } $q->addMachineColumn('clientip'); $q->addMachineColumn('hostname'); $q->addWhere(false, 'unused', '>', 25000000000); // 25 GB $q->addMachineWhere('id44mb', '>', 20000); // 20 GB $q->addMachineWhere('id45mb', '<', 20000); // 20 GB foreach ($q->query()->fetchAll() as $row) { $row['unused_s'] = Util::readableFileSize($row['unused']); $row['id44mb_s'] = Util::readableFileSize($row['id44mb'], -1, 2); $row['id45mb_s'] = Util::readableFileSize($row['id45mb'], -1, 2); $id45[] = $row; } Render::addTemplate('hints-hdd-grow', [ 'id44' => $id44, 'id45' => $id45, ]); } }