static function deep_ksort(&$arr) { if (isset($_COOKIE['sort_descending'])) { $filter_sort_descending = (int) $_COOKIE['sort_descending']; } if ($filter_sort_descending) { krsort($arr); foreach ($arr as &$a) { if (is_array($a) && !empty($a)) { NagdashHelpers::deep_ksort($a); } } } else { ksort($arr); foreach ($arr as &$a) { if (is_array($a) && !empty($a)) { NagdashHelpers::deep_ksort($a); } } } }
// If 1, the user wants to sort descending; 0 if not. if (isset($_COOKIE['sort_descending'])) { $filter_sort_descending = (int) $_COOKIE['sort_descending']; } // Collect the API data from each Nagios host. if (isset($mock_state_file)) { $data = json_decode(file_get_contents($mock_state_file), true); $state = $data['content']; $errors = []; $curl_stats = []; $api_cols = []; } else { list($state, $api_cols, $errors, $curl_stats) = NagdashHelpers::get_nagios_host_data($nagios_hosts, $unwanted_hosts, $api_type); } // Sort the array alphabetically by hostname. NagdashHelpers::deep_ksort($state); // At this point, the data collection is completed. if (count($errors) > 0) { foreach ($errors as $error) { echo "<div class='status_red'>{$error}</div>"; } } list($host_summary, $service_summary, $down_hosts, $known_hosts, $known_services, $broken_services) = NagdashHelpers::parse_nagios_host_data($state, $filter, $api_cols, $filter_select_last_state_change); ?> <div id="info-window"><button class="close" onClick='$("#info-window").fadeOut("fast");'>×</button><div id="info-window-text"></div></div> <div class="frame"> <div class="section"> <div class="header"> <h3>Host status</h3> <p class="totals"><b>Total:</b> <?php