| 324 |
richard |
1 |
<?php
|
| 912 |
richard |
2 |
//gestion de la langue
|
|
|
3 |
if (is_file("../lib/langues.php"))
|
|
|
4 |
include("../lib/langues.php");
|
| 324 |
richard |
5 |
require('/etc/freeradius-web/config.php');
|
| 1805 |
clement.si |
6 |
if(!isset($clear_sessions)) $clear_sessions = 0;
|
| 912 |
richard |
7 |
if (is_file("../lib/$config[general_lib_type]/user_info.php"))
|
|
|
8 |
include("../lib/$config[general_lib_type]/user_info.php");
|
| 597 |
richard |
9 |
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
|
|
|
10 |
include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
|
|
|
11 |
else{
|
|
|
12 |
echo <<<EOM
|
| 912 |
richard |
13 |
<title>Clear opensession</title>
|
| 597 |
richard |
14 |
<meta http-equiv="Content-Type" content="text/html; charset=$config[general_charset]">
|
|
|
15 |
<link rel="stylesheet" href="style.css">
|
|
|
16 |
</head>
|
|
|
17 |
<body>
|
|
|
18 |
<center>
|
|
|
19 |
<b>Could not include SQL library functions. Aborting</b>
|
|
|
20 |
</body>
|
|
|
21 |
</html>
|
|
|
22 |
EOM;
|
|
|
23 |
exit();
|
|
|
24 |
}
|
|
|
25 |
|
| 324 |
richard |
26 |
echo <<<EOM
|
|
|
27 |
<html>
|
|
|
28 |
<head>
|
| 912 |
richard |
29 |
<title>Clear opensession</title>
|
| 324 |
richard |
30 |
<meta http-equiv="Content-Type" content="text/html; charset=$config[general_charset]">
|
|
|
31 |
<link rel="stylesheet" href="/css/style.css">
|
|
|
32 |
</head>
|
|
|
33 |
<body>
|
|
|
34 |
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
|
| 912 |
richard |
35 |
<tr><th>$l_users_managment</th></tr>
|
| 1805 |
clement.si |
36 |
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1"
|
| 324 |
richard |
37 |
height="2"></td></tr>
|
|
|
38 |
</TABLE>
|
|
|
39 |
<TABLE width="100%" border=0 cellspacing=0 cellpadding=1>
|
|
|
40 |
<tr bgcolor="#666666"><td>
|
|
|
41 |
<TABLE width="100%" border=0 cellspacing=0 cellpadding=2>
|
|
|
42 |
<tr><td valign="middle" align="left">
|
|
|
43 |
<center>
|
| 925 |
richard |
44 |
<table border=0 width=640 cellpadding=0 cellspacing=2>
|
| 324 |
richard |
45 |
EOM;
|
|
|
46 |
|
|
|
47 |
include("../html/user_toolbar.html.php");
|
|
|
48 |
|
|
|
49 |
print <<<EOM
|
|
|
50 |
</table>
|
|
|
51 |
|
|
|
52 |
<br>
|
| 925 |
richard |
53 |
<table border=0 width=620 cellpadding=1 cellspacing=1>
|
| 324 |
richard |
54 |
<tr valign=top>
|
| 925 |
richard |
55 |
<td width=400></td>
|
|
|
56 |
<td bgcolor="black">
|
| 324 |
richard |
57 |
<table border=0 width=100% cellpadding=2 cellspacing=0>
|
|
|
58 |
<tr bgcolor="#907030" align=right valign=top><th>
|
| 912 |
richard |
59 |
<font color="white">$l_user : $login ($cn)</font>
|
| 324 |
richard |
60 |
</th></tr>
|
|
|
61 |
</table>
|
|
|
62 |
</td></tr>
|
|
|
63 |
<tr bgcolor="black" valign=top><td colspan=2>
|
|
|
64 |
<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
|
|
|
65 |
<tr><td>
|
|
|
66 |
EOM;
|
| 1805 |
clement.si |
67 |
|
| 324 |
richard |
68 |
if ($clear_sessions == 1)
|
|
|
69 |
{
|
| 606 |
richard |
70 |
# close active sessions
|
| 2299 |
tom.houday |
71 |
exec("sudo /usr/local/bin/alcasar-logout.sh ".escapeshellarg($login));
|
| 606 |
richard |
72 |
# delete open accounting sessions
|
| 613 |
richard |
73 |
$now = time();
|
|
|
74 |
$today_now = date("Y-m-d H:i:s",$now);
|
| 1805 |
clement.si |
75 |
$link = da_sql_pconnect($config);
|
| 606 |
richard |
76 |
if ($link)
|
| 597 |
richard |
77 |
{
|
| 1805 |
clement.si |
78 |
$res = da_sql_query($link,$config,
|
| 613 |
richard |
79 |
"UPDATE $config[sql_accounting_table] SET acctstoptime = '$today_now', acctterminatecause='Admin-Reset'
|
| 606 |
richard |
80 |
WHERE username='$login' AND acctstoptime IS NULL;");
|
|
|
81 |
if (! $res)
|
|
|
82 |
echo "<b>Error deleting open sessions for user" . da_sql_error($link,$config) . "</b><br>\n";
|
| 597 |
richard |
83 |
}
|
| 606 |
richard |
84 |
else
|
|
|
85 |
echo "<b>Could not connect to SQL database</b><br>\n";
|
| 324 |
richard |
86 |
}
|
| 606 |
richard |
87 |
# Count of accounting open sessions (in database)
|
|
|
88 |
$open_accnt_sessions = 0;
|
| 1805 |
clement.si |
89 |
$link = da_sql_pconnect($config);
|
| 597 |
richard |
90 |
if ($link){
|
| 1805 |
clement.si |
91 |
$search = da_sql_query($link,$config,
|
| 597 |
richard |
92 |
"SELECT COUNT(*) AS counter FROM $config[sql_accounting_table]
|
| 606 |
richard |
93 |
WHERE username = '$login' AND acctstoptime IS NULL;");
|
| 597 |
richard |
94 |
if ($search){
|
| 1805 |
clement.si |
95 |
if ($row = da_sql_fetch_array($search,$config))
|
| 606 |
richard |
96 |
$open_accnt_sessions = $row['counter'];
|
| 597 |
richard |
97 |
}
|
|
|
98 |
else
|
|
|
99 |
echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
|
|
|
100 |
}
|
|
|
101 |
else
|
|
|
102 |
echo "<b>Could not connect to SQL database</b><br>\n";
|
| 606 |
richard |
103 |
|
|
|
104 |
# Count of chilli open sessions (for coova-chilli)
|
|
|
105 |
$open_chilli_sessions = 0;
|
| 2299 |
tom.houday |
106 |
exec("sudo /usr/sbin/chilli_query list | cut -d\" \" -f5,6 | grep ".escapeshellarg($login)." | grep ^1 | wc -l" , $open_chilli_sessions);
|
| 606 |
richard |
107 |
|
| 324 |
richard |
108 |
?>
|
|
|
109 |
<form method=post>
|
| 2299 |
tom.houday |
110 |
<input type=hidden name=login value="<?= $login ?>">
|
| 324 |
richard |
111 |
<input type=hidden name=clear_sessions value="0">
|
|
|
112 |
<table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
|
|
|
113 |
<tr>
|
|
|
114 |
<td align=center>
|
|
|
115 |
<?
|
| 606 |
richard |
116 |
if (($open_accnt_sessions == 0) && ($open_chilli_sessions[0] == 0))
|
| 324 |
richard |
117 |
{
|
| 912 |
richard |
118 |
echo "$l_no_open_session";
|
| 324 |
richard |
119 |
}
|
|
|
120 |
else {
|
| 912 |
richard |
121 |
echo "<b>$open_chilli_sessions[0]</b> $l_opened_sessions<br><b>$open_accnt_sessions</b> $l_active_accounting<br>";
|
|
|
122 |
echo "$l_want_to_close ";
|
|
|
123 |
echo "<input type=submit class=button value=\"$l_yes_close\" OnClick=\"this.form.clear_sessions.value=1\">";
|
| 324 |
richard |
124 |
}
|
|
|
125 |
?>
|
|
|
126 |
</form>
|
|
|
127 |
</td></tr></table>
|
|
|
128 |
</td></tr></table>
|
|
|
129 |
</TD></TR></TABLE>
|
|
|
130 |
</body>
|
|
|
131 |
</html>
|