From 6ff71328e7d63731d8e08e433af4611427cd64eb Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Wed, 6 Nov 2013 22:54:02 -0800 Subject: Rewrite the display_host_results() function to use spaces instead of tabs. It does a much better job of aligning the fields in each column and works in all the browsers, particularly chrome which doesn't support the tab character. It still isn't perfect due to the javascript alert() function's use of a proportional font. --- usr/local/www/diag_dns.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'usr/local/www/diag_dns.php') diff --git a/usr/local/www/diag_dns.php b/usr/local/www/diag_dns.php index 9f3e358..497b566 100644 --- a/usr/local/www/diag_dns.php +++ b/usr/local/www/diag_dns.php @@ -150,15 +150,24 @@ if( ($_POST['host']) && ($_POST['dialog_output']) ) { } function display_host_results ($address,$hostname,$dns_speeds) { + $map_lengths = function($element) { return array(strlen($element[0]), strlen($element[1])); }; + $map_column0 = function($element) { return $element[0]; }; + echo gettext("IP Address") . ": {$address} \n"; echo gettext("Host Name") . ": {$hostname} \n"; echo "\n"; - echo gettext("Server") . "\t" . gettext("Query Time") . "\n"; - if(is_array($dns_speeds)) - foreach($dns_speeds as $qt){ - echo trim($qt['dns_server']) . "\t" . trim($qt['query_time']); - echo "\n"; + $text_table = array(); + $text_table[] = array(gettext("Server"), gettext("Query Time")); + if (is_array($dns_speeds)) { + foreach ($dns_speeds as $qt) { + $text_table[] = array(trim($qt['dns_server']), trim($qt['query_time'])); } + } + $length_table = array_map($map_lengths, $text_table); + $col0_padlength = max(array_map($map_column0, $length_table)); + foreach ($text_table as $text_row) { + echo str_pad($text_row[0], $col0_padlength + 4) . $text_row[1] . "\n"; + } } include("head.inc"); ?> -- cgit v1.1