overview of the status of a user. It will return the following fields
separated by new lines:
account_status(active or inactive),lock message,weekly limit,daily limit,
- weekly used,weekly connections,daily used,daily connections
+ weekly used,weekly connections,daily used,daily connections,
+ active sessions number,active sessions time
htdocs:: user_finger.php3 =>
It will finger the nas(es) and show the logged in users. If an argument server is passed then
it will only show users for the specific access server.
$now_str = date("$config[sql_date_format]",$now + 86400);
$week_str = date("$config[sql_date_format]",$week);
$today = date("$config[sql_date_format]",$now);
+$open_conns = $daily_conns = $weekly_conns = 0;
+$weekly_used = $daily_used = $online_time = time2strclock(0);
$link = @da_sql_pconnect($config);
if ($link){
username = '$login' AND acctstoptime >= '$week_str' AND
acctstoptime <= '$now_str';");
if ($search){
- $row = @da_sql_fetch_array($search,$config);
- $weekly_used = time2strclock($row[sum_sess_time]);
- $weekly_conns = $row[counter];
+ if ($row = @da_sql_fetch_array($search,$config)){
+ $weekly_used = time2strclock($row[sum_sess_time]);
+ $weekly_conns = $row[counter];
+ }
}
$search = @da_sql_query($link,$config,
"SELECT COUNT(*) AS counter,sum(acctsessiontime) AS sum_sess_time FROM $config[sql_accounting_table] WHERE
username = '$login' AND acctstoptime >= '$today 00:00:00'
AND acctstoptime <= '$today 23:59:59';");
if ($search){
- $row = @da_sql_fetch_array($search,$config);
- $daily_used = time2strclock($row[sum_sess_time]);
- $daily_conns = $row[counter];
+ if ($row = @da_sql_fetch_array($search,$config)){
+ $daily_used = time2strclock($row[sum_sess_time]);
+ $daily_conns = $row[counter];
+ }
}
+ $search = @da_sql_query($link,$config,
+ "SELECT COUNT(*) AS counter, unix_timestamp() - unix_timestamp(acctstarttime) as diff FROM
+ $config[sql_accounting_table] WHERE acctstoptime is null AND username = '$login'
+ GROUP BY username;");
+ if ($search){
+ if ($row = @da_sql_fetch_array($search,$config)){
+ $open_conns = $row[counter];
+ $online_time = $row[diff];
+ $weekly_used += $online_time;
+ $daily_used += $online_time;
+ $daily_conns += $open_conns;
+ $weekly_conns += $open_conns;
+ $online_time = time2strclock($online_time);
+ }
+ }
+ $weekly_used = time2strclock($weekly_used);
+ $daily_used = time2strclock($daily_used);
}
foreach($vars as $val){
echo "$val\n";
}
-echo "$weekly_used\n$weekly_conns\n$daily_used\n$daily_conns";
+echo "$weekly_used\n$weekly_conns\n$daily_used\n$daily_conns\n$open_conns\n$online_time";
?>