From 037b37e00afe8d5ae149443ea316c76603a3545a Mon Sep 17 00:00:00 2001 From: kkalev Date: Mon, 12 May 2003 13:34:57 +0000 Subject: [PATCH] Add a config directive general_stats_use_totacct. If set we use the totacct table in the stats page instead of radacct --- Changelog | 2 ++ conf/admin.conf | 1 + htdocs/stats.php3 | 27 ++++++++++++++++++++------- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Changelog b/Changelog index 248c75c..fa8e15b 100644 --- a/Changelog +++ b/Changelog @@ -26,6 +26,8 @@ Ver 1.63: * Add a usage_summary parameter in user_finger. If it is passed then we only output a text like: "Online: Free: " which can be used in outside pages * Use $config[sql_usergroup_table] in show_groups.php3 +* Add a config directive general_stats_use_totacct. If set we use the totacct table in the stats page instead of + radacct Ver 1.62: * Remove one sql query from user_admin which was not needed. * Instead of a query like "LIKE 'YYYY-MM-DD%'" use "AcctStopTime >= 'YYYY-MM-DD 00:00:00 AND AcctStopTime diff --git a/conf/admin.conf b/conf/admin.conf index 4999537..22da124 100644 --- a/conf/admin.conf +++ b/conf/admin.conf @@ -100,6 +100,7 @@ general_encryption_method: crypt # can be either asc (older dates first) or desc (recent dates first) # general_accounting_info_order: desc +general_stats_use_totacct: no nas1_name: nas1.%{general_domain} nas1_model: Cisco 2511 access server diff --git a/htdocs/stats.php3 b/htdocs/stats.php3 index 47e93a9..94bf573 100644 --- a/htdocs/stats.php3 +++ b/htdocs/stats.php3 @@ -57,9 +57,17 @@ $message['sessions'] = 'sessions'; $message['usage'] = 'total usage time'; $message['upload'] = 'uploads'; $message['download'] = 'downloads'; -$sql_val['usage'] = 'AcctSessionTime'; -$sql_val['upload'] = 'AcctInputOctets'; -$sql_val['download'] = 'AcctOutputOctets'; +if ($config[general_stats_use_totacct] == 'yes'){ + $sql_val['sessions'] = 'ConnNum'; + $sql_val['usage'] = 'ConnTotDuration'; + $sql_val['upload'] = 'InputOctets'; + $sql_val['download'] = 'OutputOctets'; +} +else{ + $sql_val['usage'] = 'AcctSessionTime'; + $sql_val['upload'] = 'AcctInputOctets'; + $sql_val['download'] = 'AcctOutputOctets'; +} $fun['sessions'] = nothing; $fun['usage'] = time2strclock; $fun['upload'] = bytes2str; @@ -88,10 +96,15 @@ $link = @da_sql_pconnect($config); if ($link){ for ($i = $num_days;$i > -1; $i--){ $day = "$days[$i]"; - $search = @da_sql_query($link,$config, - "SELECT $res[1],$res[2],$res[3] FROM $config[sql_accounting_table] - $sql_val[user] AND AcctStopTime >= '$day 00:00:00' - AND AcctStopTime <= '$day 23:59:59' $s;"); + if ($config[general_stats_use_totacct] == 'yes') + $search = @da_sql_query($link,$config, + "SELECT $res[1],$res[2],$res[3] FROM $config[sql_total_accounting_table] + $sql_val[user] AND AcctDate = '$day' $s;"); + else + $search = @da_sql_query($link,$config, + "SELECT $res[1],$res[2],$res[3] FROM $config[sql_accounting_table] + $sql_val[user] AND AcctStopTime >= '$day 00:00:00' + AND AcctStopTime <= '$day 23:59:59' $s;"); if ($search){ $row = @da_sql_fetch_array($search,$config); $data[$day][1] = $row["$res[1]"]; -- 2.39.5