From edaa7c5d66ef52eec1c15f79ae4034fc3e67b9b7 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 25 Oct 2012 14:29:39 +0000 Subject: [PATCH] - Fixed: FS#2502 - Problem in web traffic accounting for large integers - Added intval function from interface functions library to server system library. --- server/cron_daily.php | 2 +- server/lib/classes/system.inc.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server/cron_daily.php b/server/cron_daily.php index 9420a051dc..dcc84eca9a 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -478,7 +478,7 @@ if ($app->dbmaster == $app->db) { //* get the traffic $tmp = $app->db->queryOneRecord("SELECT SUM(traffic_bytes) As total_traffic_bytes FROM web_traffic WHERE traffic_date like '$current_month%' AND hostname = '$domain'"); - $web_traffic = (int)$tmp['total_traffic_bytes']/1024/1024; + $web_traffic = round($tmp['total_traffic_bytes']/1024/1024); //* Website is over quota, we will disable it /*if( ($web_traffic_quota > 0 && $web_traffic > $web_traffic_quota) || diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index b460875fd0..c10e6ff220 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -1527,6 +1527,16 @@ class system{ unset($shadow_file_array); } } + + function intval($string, $force_numeric = false) { + if(intval($string) == 2147483647) { + if($force_numeric == true) return floatval($string); + elseif(preg_match('/^([-]?)[0]*([1-9][0-9]*)([^0-9].*)*$/', $string, $match)) return $match[1].$match[2]; + else return 0; + } else { + return intval($string); + } + } } ?> -- GitLab