瀏覽代碼

add search in dhcp logs

Roman Dmitriev 2 年之前
父節點
當前提交
30a9df8fce
共有 1 個文件被更改,包括 20 次插入2 次删除
  1. 20 2
      html/admin/logs/dhcp.php

+ 20 - 2
html/admin/logs/dhcp.php

@@ -10,12 +10,27 @@ if (isset($_POST['dhcp_show'])) { $f_dhcp = $_POST['dhcp_show']; }
     if (isset($_SESSION[$page_url]['f_dhcp'])) { $f_dhcp=$_SESSION[$page_url]['f_dhcp']; } else { $f_dhcp = 'all'; }
     }
 
+if (isset($_POST['ip'])) { $f_ip = $_POST['ip']; }
+if (!isset($f_ip) and isset($_SESSION[$page_url]['ip'])) { $f_ip=$_SESSION[$page_url]['ip']; }
+if (!isset($f_ip)) { $f_ip=''; }
+
 $_SESSION[$page_url]['f_dhcp']=$f_dhcp;
+$_SESSION[$page_url]['ip']=$f_ip;
 
 $dhcp_where = '';
 if ($f_dhcp != 'all') { $dhcp_where = " and action='$f_dhcp' "; }
-print_log_submenu($page_url);
 
+if (!empty($f_ip)) {
+    if (checkValidIp($f_ip)) { 
+        $dhcp_where = " and ip_int=inet_aton('" . $f_ip . "') "; 
+        } else {
+        if (checkValidMac($f_ip)) { 
+            $dhcp_where = " and mac='" . mac_dotted($f_ip) . "'  "; 
+            } else { $dhcp_where = " and dhcp_hostname like '".$f_ip."%'"; }
+        }
+    }
+
+print_log_submenu($page_url);
 
 ?>
 
@@ -25,6 +40,7 @@ print_log_submenu($page_url);
   <?php echo WEB_log_start_date; ?>:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
   <?php echo WEB_log_stop_date; ?>:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
   <?php echo WEB_log_event_type; ?>:&nbsp<?php print_dhcp_select('dhcp_show', $f_dhcp); ?>
+  <?php echo WEB_log_select_ip_mac; ?>:&nbsp<input type="text" name="ip" value="<?php echo $f_ip; ?>" />
   <?php print WEB_rows_at_page."&nbsp"; print_row_at_pages('rows',$displayed); ?>
   <input type="submit" value="<?php echo WEB_btn_show; ?>">
 </form>
@@ -46,12 +62,13 @@ print_navigation($page_url,$page,$displayed,$count_records[0],$total);
 	<td class="data"><b><?php echo WEB_cell_type; ?></b></td>
 	<td class="data"><b><?php echo WEB_cell_mac; ?></b></td>
 	<td class="data"><b><?php echo WEB_cell_ip; ?></b></td>
+	<td class="data"><b><?php echo WEB_cell_dhcp_hostname; ?></b></td>
 </tr>
 
 <?php
 
 #speedup dhcp log paging
-$sSQL = "SELECT `timestamp`,mac,ip,action,auth_id FROM dhcp_log as D JOIN (SELECT id FROM dhcp_log WHERE `timestamp`>='$date1' and `timestamp`<'$date2' $dhcp_where ORDER BY `id` DESC LIMIT $start,$displayed) AS I ON D.id = I.id";
+$sSQL = "SELECT * FROM dhcp_log as D JOIN (SELECT id FROM dhcp_log WHERE `timestamp`>='$date1' and `timestamp`<'$date2' $dhcp_where ORDER BY `id` DESC LIMIT $start,$displayed) AS I ON D.id = I.id";
 $userlog = get_records_sql($db_link, $sSQL);
 
 foreach ($userlog as $row) {
@@ -68,6 +85,7 @@ foreach ($userlog as $row) {
 	} else {
 	print "<td class=\"data\">" . $row['ip'] . "</td>\n"; 
 	}
+	print "<td class=\"data\">" . $row['dhcp_hostname'] . "</td>\n"; 
     print "</tr>\n";
     }
 print "</table>\n";