checkPermissions('servers', 'RO', true)) { echo 'error 401 unauthorized'; exit; } # Page functions # JS Scripts to load for this page $jsScriptLoadData['delete_confirmation'] = true; $jsScriptLoadData['datatables'] = true; $jsScriptLoadData['multiFilterSelectServers'] = true; # PageClasses Setup # Retrieve Information for the page if (!isset($_GET['del'])) { $query = "SELECT * FROM servers LEFT JOIN companies ON companies.company_uuid = servers.company_uuid WHERE servers.server_state != 'deleted' ORDER BY server_vm_host_name"; } else { $query = "SELECT * FROM servers LEFT JOIN companies ON companies.company_uuid = servers.company_uuid ORDER BY server_vm_host_name"; } $stmt = $GLOBALS['conn']->query($query); $servers = []; while ($row = $stmt->fetch_assoc()) { array_push($servers, $row); } $allBackupTypes = []; $allLicenseTypes = []; foreach ($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) { $allBackupTypes[$key] = true; // use keys as unique types } } } } 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) { $allLicenseTypes[$key] = true; // keys are license types } } } } } $allBackupTypes = array_keys($allBackupTypes); sort($allBackupTypes); $allLicenseTypes = array_keys($allLicenseTypes); sort($allLicenseTypes); $showColumns = array( 'server_hostname' => 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, ); if (isset($_COOKIE['serverTableColumns'])) { $CheckedColumns = json_decode(htmlspecialchars(($_COOKIE['serverTableColumns']), true)); foreach ($CheckedColumns as $CheckedColumn) { $showColumns[$CheckedColumn] = true; } } else { $showColumns['server_hostname'] = true; $showColumns['company_name'] = true; $showColumns['server_os'] = true; $showColumns['server_cpu'] = true; $showColumns['server_memory'] = true; $showColumns['server_memory_demand'] = true; $showColumns['server_disks'] = true; $showColumns['server_state'] = true; } 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'), '.'); } # Set breadcrumb data array_push($GLOBALS['breadCrumbArray'], array('display' => __('permission'), 'href' => '/accesscontrol/#permissions')); array_push($GLOBALS['breadCrumbArray'], array('display' => __('view'), 'href' => '')); # Start page output ?>

 

   
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 ($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 ($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; } } } } $company_name = ''; if (strlen($server['company_name']) > 0) { $company_name = $server['company_name']; } $server_state_color = returnServerStateColor($server['server_state']); ?>
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 ''; } ?>