Base SoH code for Microsoft NAP.
[freeradius.git] / dialup_admin / htdocs / user_state.php3
1 <?php
2 require('../conf/config.php3');
3 require('../lib/functions.php3');
4 require('../lib/defaults.php3');
5 if (is_file("../lib/$config[general_lib_type]/user_info.php3"))
6         include("../lib/$config[general_lib_type]/user_info.php3");
7
8 if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php3"))
9         include_once("../lib/sql/drivers/$config[sql_type]/functions.php3");
10 else
11         exit();
12
13 $vars = array( 'Dialup-Access' => 'TRUE','Dialup-Lock-Msg' => '-',
14                 'Max-Weekly-Session' => 0,'Max-Daily-Session' => 0);
15 foreach($vars as $key => $val){
16         $val = ($item_vals["$key"][0] != "") ? $item_vals["$key"][0] : $default_vals["$key"][0];
17         $vars["$key"]=$val;
18 }
19 $vars['Dialup-Access'] = ($vars['Dialup-Access'] == 'FALSE') ? 'inactive' : 'active';
20 $vars['Max-Daily-Session'] = time2strclock($vars['Max-Daily-Session']);
21 $vars['Max-Weekly-Session'] = time2strclock($vars['Max-Weekly-Session']);
22
23 $now = time();
24 $week = $now - date('w') * 86400;
25 $now_str = date("$config[sql_date_format]",$now + 86400);
26 $week_str = date("$config[sql_date_format]",$week);
27 $today = date("$config[sql_date_format]",$now);
28 $open_conns = $daily_conns = $weekly_conns = 0;
29 $weekly_used = $daily_used = $online_time = time2strclock(0);
30
31 $link = @da_sql_pconnect($config);
32 if ($link){
33         $search = @da_sql_query($link,$config,
34         "SELECT COUNT(*) AS counter, sum(acctsessiontime) AS sum_sess_time FROM $config[sql_accounting_table] WHERE
35         username = '$login' AND acctstoptime >= '$week_str' AND
36         acctstoptime <= '$now_str';");
37         if ($search){
38                 if ($row = @da_sql_fetch_array($search,$config)){
39                         $weekly_used = time2strclock($row[sum_sess_time]);
40                         $weekly_conns = $row[counter];
41                 }
42         }
43         $search = @da_sql_query($link,$config,
44         "SELECT COUNT(*) AS counter,sum(acctsessiontime) AS sum_sess_time FROM $config[sql_accounting_table] WHERE
45         username = '$login' AND acctstoptime >= '$today 00:00:00'
46         AND acctstoptime <= '$today 23:59:59';");
47         if ($search){
48                 if ($row = @da_sql_fetch_array($search,$config)){
49                         $daily_used = time2strclock($row[sum_sess_time]);
50                         $daily_conns = $row[counter];
51                 }
52         }
53         $search = @da_sql_query($link,$config,
54         "SELECT COUNT(*) AS counter, unix_timestamp() - unix_timestamp(acctstarttime) as diff FROM
55         $config[sql_accounting_table] WHERE acctstoptime is null AND username = '$login'
56         GROUP BY username;");
57         if ($search){
58                 if ($row = @da_sql_fetch_array($search,$config)){
59                         $open_conns = $row[counter];
60                         $online_time = $row[diff];
61                         $weekly_used += $online_time;
62                         $daily_used += $online_time;
63                         $daily_conns += $open_conns;
64                         $weekly_conns += $open_conns;
65                         $online_time = time2strclock($online_time);
66                 }
67         }
68         $weekly_used = time2strclock($weekly_used);
69         $daily_used = time2strclock($daily_used);
70 }
71
72
73 foreach($vars as $val){
74         echo "$val\n";
75 }
76 echo "$weekly_used\n$weekly_conns\n$daily_used\n$daily_conns\n$open_conns\n$online_time";
77 ?>