]> git.entuzijast.net Git - freeradius-dialup-admin.git/commitdiff
Add a config directive general_stats_use_totacct. If set we use the totacct table...
authorkkalev <kkalev>
Mon, 12 May 2003 13:34:57 +0000 (13:34 +0000)
committerkkalev <kkalev>
Mon, 12 May 2003 13:34:57 +0000 (13:34 +0000)
radacct

Changelog
conf/admin.conf
htdocs/stats.php3

index 248c75c15135f1a5dd2f9edacf957160fd70dcde..fa8e15b35dee77bb416844e44cc19888dabedd24 100644 (file)
--- 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: <num> Free: <num>" 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
index 49995374bcd9ecdef192e6b60ee37397ee584b06..22da124c5dfaf4d489c42216123e8cd48d47d8f5 100644 (file)
@@ -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
index 47e93a91f8ba01348f52a7020028f8d6a809fc28..94bf57371b2c305db7e4caa0ecba687fd0051a29 100644 (file)
@@ -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]"];