From dd778c58ef6f5f98713cc068ffedcb9bd11b0d74 Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Thu, 15 Nov 2012 04:30:28 +0100 Subject: [PATCH] Reformat VPS configuration table, and properly format numbers in the table --- frontend/css/cvm.css | 1 + frontend/includes/include.misc.php | 67 +++++++++++++++++++++++++++++ frontend/locales/english.lng | 2 + frontend/module.test.php | 5 ++- frontend/module.vps.overview.php | 4 +- frontend/templates/vps.overview.tpl | 41 +++++++++--------- 6 files changed, 98 insertions(+), 22 deletions(-) diff --git a/frontend/css/cvm.css b/frontend/css/cvm.css index 396f3c5..e54eeba 100644 --- a/frontend/css/cvm.css +++ b/frontend/css/cvm.css @@ -81,6 +81,7 @@ table.console table.vpsinfo th { width: 150px; + text-align: right; } table.console th diff --git a/frontend/includes/include.misc.php b/frontend/includes/include.misc.php index 2d7ea32..1e920f8 100644 --- a/frontend/includes/include.misc.php +++ b/frontend/includes/include.misc.php @@ -96,3 +96,70 @@ function first_unused_ctid() return $highest + 1; } } + +function format_size($input, $multiplier = 1024, $group = false, $decimal_places = 0, $return_array = false) +{ + if($input > pow($multiplier, 8)) + { + $unit = "Y"; + $number = $input / pow($multiplier, 8); + } + elseif($input > pow($multiplier, 7)) + { + $unit = "Z"; + $number = $input / pow($multiplier, 7); + } + elseif($input > pow($multiplier, 6)) + { + $unit = "E"; + $number = $input / pow($multiplier, 6); + } + elseif($input > pow($multiplier, 5)) + { + $unit = "P"; + $number = $input / pow($multiplier, 5); + } + elseif($input > pow($multiplier, 4)) + { + $unit = "T"; + $number = $input / pow($multiplier, 4); + } + elseif($input > pow($multiplier, 3)) + { + $unit = "G"; + $number = $input / pow($multiplier, 3); + } + elseif($input > pow($multiplier, 2)) + { + $unit = "M"; + $number = $input / pow($multiplier, 2); + } + elseif($input > $multiplier) + { + $unit = "K"; + $number = $input / $multiplier; + } + else + { + $unit = ""; + $number = $input; + } + + if($group === true) + { + $number = number_format($number, $decimal_places); + } + else + { + $number = round($number, $decimal_places); + } + + if($return_array == true) + { + return array($number, $unit); + } + else + { + return $number . $unit; + } +} diff --git a/frontend/locales/english.lng b/frontend/locales/english.lng index 1ec3a63..2d1ad64 100644 --- a/frontend/locales/english.lng +++ b/frontend/locales/english.lng @@ -95,6 +95,8 @@ overview-title-guaranteed; Guaranteed RAM overview-title-burstable; Burstable RAM overview-title-disk; Disk space overview-title-traffic; Traffic +overview-title-traffic-incoming; Incoming traffic +overview-title-traffic-outgoing; Outgoing traffic overview-title-bandwidth; Bandwidth overview-status-running; Running overview-status-stopped; Stopped diff --git a/frontend/module.test.php b/frontend/module.test.php index 6b657bf..e15eac6 100644 --- a/frontend/module.test.php +++ b/frontend/module.test.php @@ -67,5 +67,8 @@ var_dump( parse_size("20gb", 1000), parse_size("14.6 TiB", 1000), parse_size("84YB") ); */ - +/* var_dump(first_unused_ctid()); +*/ + +var_dump(format_size(900), format_size(900000), format_size(900000000), format_size(900000000000), format_size(900000000000000), format_size(9000000000000000)); diff --git a/frontend/module.vps.overview.php b/frontend/module.vps.overview.php index dd26f1b..a2b2212 100644 --- a/frontend/module.vps.overview.php +++ b/frontend/module.vps.overview.php @@ -45,7 +45,9 @@ $sVariables = array( 'guaranteed-ram' => "{$sContainer->sGuaranteedRam}MB", 'burstable-ram' => "{$sContainer->sBurstableRam}MB", 'disk-space' => "{$sContainer->sDiskSpace}MB", - 'total-traffic-limit' => "{$sContainer->sTotalTrafficLimit} bytes", + 'total-traffic-limit' => format_size($sContainer->sTotalTrafficLimit, 1024, true, 0) . "B", + 'incoming-traffic-limit'=> format_size($sContainer->sIncomingTrafficLimit, 1024, true, 0) . "B", + 'outgoing-traffic-limit'=> format_size($sContainer->sOutgoingTrafficLimit, 1024, true, 0) . "B", 'bandwidth-limit' => "100mbit", 'status' => $sContainer->sStatusText, 'traffic-used' => number_format(($sContainer->sIncomingTrafficUsed + $sContainer->sOutgoingTrafficUsed) / 1024 / 1024 / 1024, 2), diff --git a/frontend/templates/vps.overview.tpl b/frontend/templates/vps.overview.tpl index 2a395d2..c40bd23 100644 --- a/frontend/templates/vps.overview.tpl +++ b/frontend/templates/vps.overview.tpl @@ -56,42 +56,43 @@ {%!overview-status-unknown} {%/if} - - - {%!overview-title-location} - {%?server-location} - - {%!overview-title-os} {%?operating-system} - - {%!overview-title-ipv4} - - - - {%!overview-title-ipv6} - - {%!overview-title-guaranteed} {%?guaranteed-ram} - - {%!overview-title-burstable} {%?burstable-ram} {%!overview-title-disk} {%?disk-space} + {%!overview-title-bandwidth} + {%?bandwidth-limit} - {%!overview-title-traffic} - {%?total-traffic-limit} + {%if total-traffic-limit == "0B"} + {%!overview-title-traffic-incoming} + {%?incoming-traffic-limit} + {%!overview-title-traffic-outgoing} + {%?outgoing-traffic-limit} + {%else} + {%!overview-title-traffic} + {%?total-traffic-limit} + {%/if} - {%!overview-title-bandwidth} - {%?bandwidth-limit} + {%!overview-title-location} + {%?server-location} + + + {%!overview-title-ipv4} + + + + {%!overview-title-ipv6} +