false, 'company_name' => false, 'server_power_state' => false, 'server_os' => false, 'server_cpu' => false, 'server_memory' => false, 'server_memory_demand' => false, 'server_disks' => false, 'server_ipv4' => false, 'server_ipv6' => false, 'server_vm_snapshot' => false, 'server_vm_generation' => false, 'server_licenses' => false, 'server_backup' => false, 'server_description' => false, ); public array $allBackupTypes = []; public array $allLicenseTypes = []; public bool $showDelBtn = true; public bool $showServerOverviewTitle = true; public bool $showCompanies = true; public function processServerData() { foreach ($this->servers as $server) { if (!empty($server['server_backup'])) { $backups = json_decode($server['server_backup'], true); if (is_array($backups)) { foreach ($backups as $item) { foreach ($item as $key => $value) { $this->allBackupTypes[$key] = true; } } } } if (!empty($server['server_licenses'])) { $licenses = json_decode($server['server_licenses'], true); if (is_array($licenses)) { foreach ($licenses as $item) { foreach ($item as $key => $value) { $this->allLicenseTypes[$key] = true; } } } } } $this->allBackupTypes = array_keys($this->allBackupTypes); sort($this->allBackupTypes); $this->allLicenseTypes = array_keys($this->allLicenseTypes); sort($this->allLicenseTypes); if (isset($_COOKIE['serverTableColumns'])) { $CheckedColumns = json_decode(htmlspecialchars(($_COOKIE['serverTableColumns']), true)); foreach ($CheckedColumns as $CheckedColumn) { $this->showColumns[$CheckedColumn] = true; } } else { $this->showColumns['server_hostname'] = true; $this->showColumns['company_name'] = true; $this->showColumns['server_os'] = true; $this->showColumns['server_cpu'] = true; $this->showColumns['server_memory'] = true; $this->showColumns['server_memory_demand'] = true; $this->showColumns['server_disks'] = true; $this->showColumns['server_state'] = true; } } private function cleanNumber($num) { // If integer value, return without formatting if (floor($num) == $num) { return (string)$num; } // Otherwise return trimmed float return rtrim(rtrim(number_format($num, 10, '.', ''), '0'), '.'); } public function serverOverviewOutPut() { ?>
showServerOverviewTitle) { ?>

 

showCompanies) { ?>
showDelBtn) { ?>
   
showCompanies) { ?> allLicenseTypes as $licenseType) { ?> allBackupTypes as $backupType) { ?> showCompanies) { ?> allLicenseTypes as $licenseType) { ?> allBackupTypes as $backupType) { ?> servers as $server) { $disks = json_decode($server['server_disks'], true); $totalDiskSpace = 0; if (is_array($disks)) { foreach ($disks as $disk) { $totalDiskSpace += $disk['disk_space']; } } if (is_null($server['server_vm_host_name'])) { $hostname = $server['server_hostname']; } else { $hostname = $server['server_vm_host_name']; } $mem = isset($server['server_memory']) ? (float)$server['server_memory'] : 0; $demand = isset($server['server_memory_demand']) ? (float)$server['server_memory_demand'] : 0; if ($mem == 0 && $demand == 0) { $mem_assigned = 'N/A'; } else { $mem_assigned = $this->cleanNumber($mem) . "M"; } $mem_demand_text_color = ''; if ($mem > 0) { $mem_percent = ($demand / $mem) * 100; $mem_percent_numb = round($mem_percent, 1); $mem_demand = round($mem_percent, 1) . "%"; // round to 1 decimal place $mem_percent_sort = $mem_percent_numb; if ($mem_percent_numb <= 89) { $mem_demand_text_color = 'success'; } if ($mem_percent_numb > 89) { $mem_demand_text_color = 'secondary'; } if ($mem_percent_numb > 99) { $mem_demand_text_color = 'danger'; } } else { $mem_demand = "N/A"; $mem_percent_numb = 'N/A'; $mem_percent_sort = -1; } $ipv4_list = ''; if (!empty($server['server_ipv4'])) { $ips = json_decode($server['server_ipv4'], true); if (is_array($ips)) { $ipv4_list = implode(', ', $ips); } } $ipv6_list = ''; if (!empty($server['server_ipv6'])) { $ips = json_decode($server['server_ipv6'], true); if (is_array($ips)) { $ipv6_list = implode(', ', $ips); } } $thisServerLicenses = []; foreach ($this->allLicenseTypes as $licenseType) { $thisServerLicenses[$licenseType] = false; } if (!empty($server['server_licenses'])) { $allLicenseTypesServer = json_decode($server['server_licenses'], true); if (is_array($allLicenseTypesServer)) { foreach ($allLicenseTypesServer as $licenseTypeServer) { foreach ($licenseTypeServer as $licenseTypeServerKey => $licenseTypeServerValue) { $thisServerLicenses[$licenseTypeServerKey] = true; } } } } $thisServerBackup = []; foreach ($this->allBackupTypes as $BackupType) { $thisServerBackup[$BackupType] = false; } if (!empty($server['server_backup'])) { $allBackupTypesServer = json_decode($server['server_backup'], true); if (is_array($allBackupTypesServer)) { foreach ($allBackupTypesServer as $BackupTypeServer) { foreach ($BackupTypeServer as $BackupTypeServerKey => $BackupTypeServerValue) { $thisServerBackup[$BackupTypeServerKey] = true; } } } } if ($this->showCompanies) { $company_name = ''; if (strlen($server['company_name']) > 0) { $company_name = $server['company_name']; } } $server_state_color = returnServerStateColor($server['server_state']); ?> showCompanies) { ?> allLicenseTypes as $licenseType) { ?> allBackupTypes as $BackupType) { ?>
0) { $sizes = array_column($disks, 'disk_space'); $totalDiskSpace = array_sum($sizes); if ($totalDiskSpace > 0) { $sortValue = $totalDiskSpace; $filterValue = $totalDiskSpace; } } ?> data-sort="" data-filter=""> ' : '' ?> ' : '' ?> '; } elseif ($server['server_power_state'] == 'Running') { echo ''; } ?>