diff --git a/customer_traffic.php b/customer_traffic.php index 933ffd99..fdb73394 100644 --- a/customer_traffic.php +++ b/customer_traffic.php @@ -86,22 +86,18 @@ if (! is_null($month) && ! is_null($year)) { if (extension_loaded('bcmath')) { $traf['ftptext'] = bcdiv($row['ftp_up'], 1024, Settings::Get('panel.decimal_places')) . " MiB up/ " . bcdiv($row['ftp_down'], 1024, Settings::Get('panel.decimal_places')) . " MiB down (FTP)"; - $traf['httptext'] = bcdiv($http, 1024, Settings::Get('panel.decimal_places')) . " MiB (HTTP)"; - $traf['mailtext'] = bcdiv($mail, 1024, Settings::Get('panel.decimal_places')) . " MiB (Mail)"; $traf['ftp'] = bcdiv($ftp, 1024, Settings::Get('panel.decimal_places')); - $traf['http'] = bcdiv($http, 1024, Settings::Get('panel.decimal_places')); - $traf['mail'] = bcdiv($mail, 1024, Settings::Get('panel.decimal_places')); - $traf['byte'] = bcdiv($traf['byte'], 1024, Settings::Get('panel.decimal_places')); } else { $traf['ftptext'] = round($row['ftp_up'] / 1024, Settings::Get('panel.decimal_places')) . " MiB up/ " . round($row['ftp_down'] / 1024, Settings::Get('panel.decimal_places')) . " MiB down (FTP)"; - $traf['httptext'] = round($http / 1024, Settings::Get('panel.decimal_places')) . " MiB (HTTP)"; - $traf['mailtext'] = round($mail / 1024, Settings::Get('panel.decimal_places')) . " MiB (Mail)"; - $traf['http'] = round($http, Settings::Get('panel.decimal_places')); - $traf['ftp'] = round($ftp, Settings::Get('panel.decimal_places')); - $traf['mail'] = round($mail, Settings::Get('panel.decimal_places')); - $traf['byte'] = round($traf['byte'] / 1024, Settings::Get('panel.decimal_places')); + $traf['ftp'] = round($ftp / 1024, Settings::Get('panel.decimal_places')); } + getReadableTraffic($traf,'httptext', $http, 1024, "MiB (HTTP)"); + getReadableTraffic($traf,'http', $http, 1024); + getReadableTraffic($traf,'mailtext', $mail, 1024, "MiB (Mail)"); + getReadableTraffic($traf,'mail', $mail, 1024); + getReadableTraffic($traf,'byte', $traf['byte'], (1024 * 1024)); + eval("\$traffic.=\"" . \Froxlor\UI\Template::getTemplate('traffic/traffic_month') . "\";"); $show = $lng['traffic']['months'][intval($row['month'])] . ' ' . $row['year']; } @@ -142,22 +138,18 @@ if (! is_null($month) && ! is_null($year)) { if (extension_loaded('bcmath')) { $traf['ftptext'] = bcdiv($ftp_up, 1024, Settings::Get('panel.decimal_places')) . " MiB up/ " . bcdiv($ftp_down, 1024, Settings::Get('panel.decimal_places')) . " MiB down (FTP)"; - $traf['httptext'] = bcdiv($http, 1024, Settings::Get('panel.decimal_places')) . " MiB (HTTP)"; - $traf['mailtext'] = bcdiv($mail, 1024, Settings::Get('panel.decimal_places')) . " MiB (Mail)"; $traf['ftp'] = bcdiv(($ftp_up + $ftp_down), 1024, Settings::Get('panel.decimal_places')); - $traf['http'] = bcdiv($http, 1024, Settings::Get('panel.decimal_places')); - $traf['mail'] = bcdiv($mail, 1024, Settings::Get('panel.decimal_places')); - $traf['byte'] = bcdiv($traf['byte'], 1024 * 1024, Settings::Get('panel.decimal_places')); } else { $traf['ftptext'] = round($ftp_up / 1024, Settings::Get('panel.decimal_places')) . " MiB up/ " . round($ftp_down / 1024, Settings::Get('panel.decimal_places')) . " MiB down (FTP)"; - $traf['httptext'] = round($http / 1024, Settings::Get('panel.decimal_places')) . " MiB (HTTP)"; - $traf['mailtext'] = round($mail / 1024, Settings::Get('panel.decimal_places')) . " MiB (Mail)"; $traf['ftp'] = round(($ftp_up + $ftp_down) / 1024, Settings::Get('panel.decimal_places')); - $traf['http'] = round($http / 1024, Settings::Get('panel.decimal_places')); - $traf['mail'] = round($mail / 1024, Settings::Get('panel.decimal_places')); - $traf['byte'] = round($traf['byte'] / (1024 * 1024), Settings::Get('panel.decimal_places')); } + getReadableTraffic($traf,'httptext', $http, 1024, "MiB (HTTP)"); + getReadableTraffic($traf,'http', $http, 1024); + getReadableTraffic($traf,'mailtext', $mail, 1024, "MiB (Mail)"); + getReadableTraffic($traf,'mail', $mail, 1024); + getReadableTraffic($traf,'byte', $traf['byte'], (1024 * 1024)); + eval("\$traffic.=\"" . \Froxlor\UI\Template::getTemplate('traffic/traffic_traffic') . "\";"); } @@ -167,3 +159,12 @@ if (! is_null($month) && ! is_null($year)) { eval("echo \"" . \Froxlor\UI\Template::getTemplate('traffic/traffic') . "\";"); } + +function getReadableTraffic(&$traf, $index, $value, $divisor, $desc = "") +{ + if (extension_loaded('bcmath')) { + $traf[$index] = bcdiv($value, $divisor,Settings::Get('panel.decimal_places')).(!empty($desc) ? " ".$desc : ""); + } else { + $traf[$index] = round($value / $divisor, Settings::Get('panel.decimal_places')).(!empty($desc) ? " ".$desc : ""); + } +} diff --git a/templates/Sparkle/assets/js/traffic.js b/templates/Sparkle/assets/js/traffic.js index ffa6f1f7..5eb045c6 100644 --- a/templates/Sparkle/assets/js/traffic.js +++ b/templates/Sparkle/assets/js/traffic.js @@ -19,8 +19,8 @@ $(document).ready(function() { } else { ticks.push([i, $(row).children().first().html()]); } - ftp.push([i, parseFloat(ftpd / 1024)]); - http.push([i, parseFloat(httpd / 1024)]); + ftp.push([i, parseFloat(ftpd)]); + http.push([i, parseFloat(httpd)]); mail.push([i, parseFloat(maild)]); i++; }); @@ -107,24 +107,16 @@ $(document).ready(function() { "font-size": "11px" }).appendTo("body"); - $("#ftpchart, #httpchart").bind("plothover", function(event, pos, item) { + $("#ftpchart, #httpchart, #mailchart").bind("plothover", function(event, pos, item) { if (item) { - var y = item.datapoint[1].toFixed(2); + var y = item.datapoint[1]; + var unit = 'MiB'; + if (y > 1024) { + y /= 1024; + unit = 'GiB'; + } - $("#tooltip").html(item.series.label + ": " + y + " GiB").css({ - top: item.pageY + 5, - left: item.pageX - $("#tooltip").width() / 2 - }).fadeIn(200); - } else { - $("#tooltip").hide(); - } - }); - - $("#mailchart").bind("plothover", function(event, pos, item) { - if (item) { - var y = item.datapoint[1].toFixed(2); - - $("#tooltip").html(item.series.label + ": " + y + " MiB").css({ + $("#tooltip").html(item.series.label + ": " + y.toFixed(2) + " " + unit).css({ top: item.pageY + 5, left: item.pageX - $("#tooltip").width() / 2 }).fadeIn(200);