dhcp.php 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . HTML_LANG . ".php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  5. $default_date_shift='d';
  6. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/datefilter.php");
  7. if (isset($_POST['dhcp_show'])) { $f_dhcp = $_POST['dhcp_show']; }
  8. else {
  9. if (isset($_SESSION[$page_url]['f_dhcp'])) { $f_dhcp=$_SESSION[$page_url]['f_dhcp']; } else { $f_dhcp = 'all'; }
  10. }
  11. if (isset($_POST['ip'])) { $f_ip = $_POST['ip']; }
  12. if (!isset($f_ip) and isset($_SESSION[$page_url]['ip'])) { $f_ip=$_SESSION[$page_url]['ip']; }
  13. if (!isset($f_ip)) { $f_ip=''; }
  14. $_SESSION[$page_url]['f_dhcp']=$f_dhcp;
  15. $_SESSION[$page_url]['ip']=$f_ip;
  16. $dhcp_where = '';
  17. if ($f_dhcp != 'all') { $dhcp_where = " and action='$f_dhcp' "; }
  18. if (!empty($f_ip)) {
  19. if (checkValidIp($f_ip)) {
  20. $dhcp_where = " and ip_int=inet_aton('" . $f_ip . "') ";
  21. } else {
  22. if (checkValidMac($f_ip)) {
  23. $dhcp_where = " and mac='" . mac_dotted($f_ip) . "' ";
  24. } else { $dhcp_where = " and dhcp_hostname like '".$f_ip."%'"; }
  25. }
  26. }
  27. print_log_submenu($page_url);
  28. ?>
  29. <div id="cont">
  30. <br>
  31. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  32. <?php echo WEB_log_start_date; ?>:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
  33. <?php echo WEB_log_stop_date; ?>:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
  34. <?php echo WEB_log_event_type; ?>:&nbsp<?php print_dhcp_select('dhcp_show', $f_dhcp); ?>
  35. <?php echo WEB_log_select_ip_mac; ?>:&nbsp<input type="text" name="ip" value="<?php echo $f_ip; ?>" />
  36. <?php print WEB_rows_at_page."&nbsp"; print_row_at_pages('rows',$displayed); ?>
  37. <input type="submit" value="<?php echo WEB_btn_show; ?>">
  38. </form>
  39. <?php
  40. $countSQL="SELECT Count(*) FROM dhcp_log WHERE `timestamp`>='$date1' AND `timestamp`<'$date2' $dhcp_where";
  41. $res = mysqli_query($db_link, $countSQL);
  42. $count_records = mysqli_fetch_array($res);
  43. $total=ceil($count_records[0]/$displayed);
  44. if ($page>$total) { $page=$total; }
  45. if ($page<1) { $page=1; }
  46. $start = ($page * $displayed) - $displayed;
  47. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  48. ?>
  49. <br>
  50. <table class="data" width="900">
  51. <tr align="center">
  52. <td class="data" width=150><b><?php echo WEB_log_time; ?></b></td>
  53. <td class="data"><b><?php echo WEB_cell_type; ?></b></td>
  54. <td class="data"><b><?php echo WEB_cell_mac; ?></b></td>
  55. <td class="data"><b><?php echo WEB_cell_ip; ?></b></td>
  56. <td class="data"><b><?php echo WEB_cell_dhcp_hostname; ?></b></td>
  57. </tr>
  58. <?php
  59. #speedup dhcp log paging
  60. $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";
  61. $userlog = get_records_sql($db_link, $sSQL);
  62. foreach ($userlog as $row) {
  63. if ($row['action'] == "old") { $row['action'] = WEB_log_dhcp_old.": "; }
  64. if ($row['action'] == "add") { $row['action'] = WEB_log_dhcp_add.": "; }
  65. if ($row['action'] == "del") { $row['action'] = WEB_log_dhcp_del.": "; }
  66. $l_msg = $row['action'] . " " . $row['mac'] . " " . $row['ip'];
  67. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  68. print "<td class=\"data\">" . $row['timestamp'] . "</td>\n";
  69. print "<td class=\"data\">" . $row['action'] . "</td>\n";
  70. print "<td class=\"data\">" . $row['mac'] . "</td>\n";
  71. if (isset($row['auth_id']) and $row['auth_id'] > 0) {
  72. print "<td class=\"data\"><a href=/admin/users/editauth.php?id=".$row['auth_id'].">" . $row['ip'] . "</a></td>\n";
  73. } else {
  74. print "<td class=\"data\">" . $row['ip'] . "</td>\n";
  75. }
  76. print "<td class=\"data\">" . $row['dhcp_hostname'] . "</td>\n";
  77. print "</tr>\n";
  78. }
  79. print "</table>\n";
  80. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  81. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  82. ?>