Change use of AcctStartTime with AcctStopTime in failed_logins.php3 to match that...
[freeradius.git] / dialup_admin / htdocs / failed_logins.php3
1 <?php
2 require('../conf/config.php3');
3 ?>
4 <html>
5 <?php
6
7 if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php3"))
8         include_once("../lib/sql/drivers/$config[sql_type]/functions.php3");
9 else{
10         echo <<<EOM
11 <title>Failed logins</title>
12 <link rel="stylesheet" href="style.css">
13 </head>
14 <body bgcolor="#80a040" background="images/greenlines1.gif" link="black" alink="black">
15 <center>
16 <b>Could not include SQL library functions. Aborting</b>
17 </body>
18 </html>
19 EOM;
20         exit();
21 }
22
23 $now = time();
24 if ($last == 0)
25         $last = ($config[general_most_recent_fl]) ? $config[general_most_recent_fl] : 5;
26 $start = $now - ($last*60);
27 $now_str = date($config[sql_full_date_format],$now);
28 $prev_str = date($config[sql_full_date_format],$start);
29 $pagesize = ($pagesize) ? $pagesize : 10;
30 $limit = ($pagesize == 'all') ? '' : "LIMIT $pagesize";
31 $selected[$pagesize] = 'selected';
32 $order = ($order) ? $order : $config[general_accounting_info_order];
33 if ($order != 'desc' && $order != 'asc')
34         $order = 'desc';
35 $selected[$order] = 'selected';
36 if ($callerid != '')
37         $callerid_str = "AND CallingStationId = '$callerid'";
38
39 ?>
40
41 <head>
42 <title>Failed Logins</title>
43 <link rel="stylesheet" href="style.css">
44 </head>
45 <body bgcolor="#80a040" background="images/greenlines1.gif" link="black" alink="black">
46 <center>
47 <table border=0 width=550 cellpadding=0 cellspacing=0>
48 <tr valign=top>
49 <td align=center><img src="images/title2.gif"></td>
50 </tr>
51 </table>
52 <table border=0 width=400 cellpadding=0 cellspacing=2>
53 </table>
54 <br>
55 <table border=0 width=840 cellpadding=1 cellspacing=1>
56 <tr valign=top>
57 <td width=65%></td>
58 <td bgcolor="black" width=35%>
59         <table border=0 width=100% cellpadding=2 cellspacing=0>
60         <tr bgcolor="#907030" align=right valign=top><th>
61         <font color="white">Failed Logins</font>&nbsp;
62         </th></tr>
63         </table>
64 </td></tr>
65 <tr bgcolor="black" valign=top><td colspan=2>
66         <table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
67         <tr><td>
68 <?php
69 echo <<<EOM
70 <b>$prev_str</b> up to <b>$now_str</b>
71 EOM;
72 ?>
73
74 <p>
75         <table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
76         <tr bgcolor="#d0ddb0">
77         <th>#</th><th>login</th><th>time</th><th>server</th><th>terminate cause</th><th>callerid</th>
78         </tr>
79
80 <?php
81 $link = @da_sql_pconnect($config);
82 if ($link){
83         $search = @da_sql_query($link,$config,
84         "SELECT AcctStopTime,UserName,NASIPAddress,NASPortId,AcctTerminateCause,CallingStationId
85         FROM $config[sql_accounting_table]
86         WHERE AcctStopTime <= '$now_str' AND AcctStopTime >= '$prev_str'
87         AND (AcctTerminateCause LIKE 'Login-Incorrect%' OR
88         AcctTerminateCause LIKE 'Invalid-User%' OR
89         AcctTerminateCause LIKE 'Multiple-Logins%') $callerid_str
90         ORDER BY AcctStopTime $order $limit;");
91         if ($search){
92                 while( $row = @da_sql_fetch_array($search,$config) ){
93                         $num++;
94                         $acct_login = $row[UserName];
95                         if ($acct_login == '')
96                                 $acct_login = '-';
97                         else
98                                 $acct_login = "<a href=\"user_admin.php3?login=$acct_login\" title=\"Edit user $acct_login\">$acct_login</a>";
99                         $acct_time = $row[AcctStopTime];
100                         $acct_server = $da_name_cache[$row[NASIPAddress]];
101                         if (!isset($acct_server)){
102                                 $acct_server = gethostbyaddr($row[NASIPAddress]);
103                                 if (!isset($da_name_cache) && $config[general_use_session] == 'yes'){
104                                         $da_name_cache[$row[NASIPAddress]] = $acct_server;
105                                         session_register('da_name_cache');
106                                 }
107                                 else
108                                         $da_name_cache[$row[NASIPAddress]] = $acct_server;
109                         }
110                         $acct_server = "$acct_server:$row[NASPortId]";
111                         $acct_terminate_cause = "$row[AcctTerminateCause]";
112                         if ($acct_terminate_cause == '')
113                                 $acct_terminate_cause = '-';
114                         $acct_callerid = "$row[CallingStationId]";
115                         if ($acct_callerid == '')
116                                 $acct_callerid = '-';
117                         echo <<<EOM
118                         <tr align=center bgcolor="white">
119                                 <td>$num</td>
120                                 <td>$acct_login</td>
121                                 <td>$acct_time</td>
122                                 <td>$acct_server</td>
123                                 <td>$acct_terminate_cause</td>
124                                 <td>$acct_callerid</td>
125                         </tr>
126 EOM;
127                 }
128         }
129 }
130 echo <<<EOM
131         </table>
132 <tr><td>
133 <hr>
134 <tr><td align="left">
135         <form action="failed_logins.php3" method="get" name="master">
136         <table border=0>
137                 <tr valign="bottom">
138                         <td><small><b>time back (mins)</td><td><small><b>pagesize</td><td><small><b>caller id</td><td><b>order</td>
139         <tr valign="middle"><td>
140 <input type="text" name="last" size="11" value="$last"></td>
141 <td><select name="pagesize">
142 <option $selected[5] value="5" >05
143 <option $selected[10] value="10">10
144 <option $selected[15] value="15">15
145 <option $selected[20] value="20">20
146 <option $selected[40] value="40">40
147 <option $selected[80] value="80">80
148 <option $selected[all] value="all">all
149 </select>
150 </td>
151 <td>
152 <input type="text" name="callerid" size="11" value="$callerid"></td>
153 <td><select name="order">
154 <option $selected[asc] value="asc">older first
155 <option $selected[desc] value="desc">recent first
156 </select>
157 </td>
158 EOM;
159 ?>
160
161 <td><input type="submit" class=button value="show"></td></tr>
162 </table></td></tr></form>
163 </table>
164 </tr>
165 </table>
166 </body>
167 </html>