<?php echo '<table class="table table-striped table-condensed">'; echo '<thead><tr> <th>Server Name</th> <th>Port Status</th> <th>Operating System</th> <th>Memory</th> <th>CPU</th> </tr></thead>'; foreach (dbFetchRows("SELECT * FROM vminfo WHERE device_id = ? ORDER BY vmwVmDisplayName", array($device['device_id'])) as $vm) { print_vm_row($vm, $device); } echo "</table>"; $pagetitle[] = "Virtual Machines";
function print_vm_table($vars) { $sql = generate_vm_query($vars); $vms = array(); foreach (dbFetchRows($sql) as $vm) { if (isset($GLOBALS['cache']['devices']['id'][$vm['device_id']])) { $vm['hostname'] = $GLOBALS['cache']['devices']['id'][$vm['device_id']]['hostname']; $vms[] = $vm; } } // Sorting // FIXME. Sorting can be as function, but in must before print_table_header and after get table from db switch ($vars['sort_order']) { case 'desc': $sort_order = SORT_DESC; $sort_neg = SORT_ASC; break; case 'reset': unset($vars['sort'], $vars['sort_order']); // no break here // no break here default: $sort_order = SORT_ASC; $sort_neg = SORT_DESC; } switch ($vars['sort']) { case 'name': $vms = array_sort_by($vms, 'vm_name', $sort_order, SORT_STRING); break; case 'os': $vms = array_sort_by($vms, 'vm_os', $sort_order, SORT_STRING); break; case 'state': $vms = array_sort_by($vms, 'vm_state', $sort_order, SORT_STRING); break; case 'memory': $vms = array_sort_by($vms, 'vm_memory', $sort_order, SORT_NUMERIC); break; case 'cpu': $vms = array_sort_by($vms, 'vm_cpucount', $sort_order, SORT_NUMERIC); break; default: // Not sorted } $vms_count = count($vms); // Pagination $pagination_html = pagination($vars, $vms_count); echo $pagination_html; if ($vars['pageno']) { $vms = array_chunk($vms, $vars['pagesize']); $vms = $vms[$vars['pageno'] - 1]; } // End Pagination echo generate_box_open(); print_vm_table_header($vars); foreach ($vms as $vm) { print_vm_row($vm, $vars); } echo '</tbody></table>'; echo generate_box_close(); echo $pagination_html; }