userdaydetaillog.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/idfilter.php");
  6. $default_date_shift='h';
  7. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/datetimefilter.php");
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/gatefilter.php");
  9. $default_sort='id';
  10. $sort_table = 'A';
  11. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/sortfilter.php");
  12. $rdns = 0;
  13. if (isset($_POST['dns'])) { $rdns=$_POST['dns']*1; }
  14. $_SESSION[$page_url]['dns']=$rdns;
  15. $dns_checked='';
  16. if ($rdns) { $dns_checked='checked="checked"'; }
  17. $dns_cache=NULL;
  18. $usersip = mysqli_query($db_link, "SELECT ip,user_id,comments FROM User_auth WHERE User_auth.id=$id");
  19. list ($fip, $parent, $fcomm) = mysqli_fetch_array($usersip);
  20. print_trafdetail_submenu($page_url,"id=$id&date_start=$date1&date_stop=$date2","<b>Детализация для <a href=/admin/users/editauth.php?id=$id>$fip</a></b> ::&nbsp");
  21. ?>
  22. <div id="cont">
  23. <form action="<?php print $page_url; ?>" method="post">
  24. <input type="hidden" name="id" value=<?php echo $id; ?>>
  25. Начало:&nbsp<input type="datetime-local" name="date_start" value="<?php echo $date1; ?>" />
  26. Конец:&nbsp<input type="datetime-local" name="date_stop" value="<?php echo $date2; ?>" />
  27. Шлюз:&nbsp <?php print_gateway_select($db_link, 'gateway', $rgateway); ?>
  28. DNS:&nbsp <input type=checkbox name=dns value="1" <?php print $dns_checked; ?>>
  29. Отображать:<?php print_row_at_pages('rows',$displayed); ?>
  30. <input type="submit" value="OK">
  31. </form>
  32. <b>Полный лог</b>
  33. <?php
  34. $sort_url = "<a href='userdaydetaillog.php?id=".$id.'&date_start="'.$date1.'"&date_stop="'.$date2.'"';
  35. $gateway_filter='';
  36. if (!empty($rgateway) and $rgateway>0) { $gateway_filter="(router_id=$rgateway) AND"; }
  37. $countSQL="SELECT Count(*) FROM Traffic_detail as A WHERE $gateway_filter (auth_id='$id') and `timestamp`>='$date1' and `timestamp`<'$date2'";
  38. $res = mysqli_query($db_link, $countSQL);
  39. $count_records = mysqli_fetch_array($res);
  40. $total=ceil($count_records[0]/$displayed);
  41. if ($page>$total) { $page=$total; }
  42. if ($page<1) { $page=1; }
  43. $start = ($page * $displayed) - $displayed;
  44. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  45. $gateway_list = get_gateways($db_link);
  46. ?>
  47. <br>
  48. <table class="data">
  49. <tr align="center">
  50. <td class="data" width=20><b><?php $url = $sort_url.'&sort=id&order='.$new_order."'>id</a>"; print $url; ?></b></td>
  51. <td class="data" width=150><b><?php $url = $sort_url.'&sort=timestamp&order='.$new_order."'>Дата</a>"; print $url; ?></b></td>
  52. <td class="data" width=30><b>Роутер</b></td>
  53. <td class="data" width=30><b>Протокол</b></td>
  54. <td class="data" width=150><b><?php $url = $sort_url.'&sort=src_ip&order='.$new_order."'>Откуда</a>"; print $url; ?></b></td>
  55. <td class="data"><b>DNS</b></td>
  56. <td class="data" width=50><b>Порт</b></td>
  57. <td class="data" width=150><b><?php $url = $sort_url.'&sort=dst_ip&order='.$new_order."'>Куда</a>"; print $url; ?></b></td>
  58. <td class="data"><b>DNS</b></td>
  59. <td class="data" width=50><b>Порт</b></td>
  60. <td class="data" width=80><b><?php $url = $sort_url.'&sort=bytes&order='.$new_order."'>Байт</a>"; print $url; ?></b></td>
  61. <td class="data" width=80><b><?php $url = $sort_url.'&sort=pkt&order='.$new_order."'>Pkt</a>"; print $url; ?></b></td>
  62. </tr>
  63. <?php
  64. $fsql = "SELECT A.id, A.`timestamp`, A.router_id, A.proto, A.src_ip, A.src_port, A.dst_ip, A.dst_port, A.bytes, A.pkt FROM Traffic_detail as A JOIN (SELECT id FROM Traffic_detail
  65. WHERE $gateway_filter (auth_id='$id') and `timestamp`>='$date1' and `timestamp`<'$date2'
  66. ORDER BY `timestamp` ASC LIMIT $start,$displayed) as T ON A.id = T.id ORDER BY $sort_table.$sort_field $order";
  67. $userdata = mysqli_query($db_link, $fsql);
  68. while (list ($uid,$udata, $urouter, $uproto, $sip, $sport,$dip, $dport, $ubytes, $upkt) = mysqli_fetch_array($userdata)) {
  69. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  70. print "<td class=\"data\">$uid</td>\n";
  71. print "<td class=\"data\">$udata</td>\n";
  72. print "<td class=\"data\">$gateway_list[$urouter]</td>\n";
  73. if ($uproto==='6') { $uproto = 'tcp'; }
  74. if ($uproto==='17') { $uproto = 'udp'; }
  75. print "<td class=\"data\">" . $uproto . "</td>\n";
  76. print "<td class=\"data\" align=left>" . long2ip($sip) . "</td>\n";
  77. $ip_name = '-';
  78. if ($rdns) { $ip_name = ResolveIP($db_link,$sip); }
  79. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  80. print "<td class=\"data\">" .$sport . "</td>\n";
  81. print "<td class=\"data\" align=left>" . long2ip($dip) . "</td>\n";
  82. $ip_name = '-';
  83. if ($rdns) { $ip_name = ResolveIP($db_link,$dip); }
  84. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  85. print "<td class=\"data\">" . $dport . "</td>\n";
  86. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  87. print "<td class=\"data\" align=right>" . $upkt . "</td>\n";
  88. print "</tr>\n";
  89. }
  90. ?>
  91. </table>
  92. <?php print_navigation($page_url,$page,$displayed,$count_records[0],$total); ?>
  93. <br>
  94. <?php
  95. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  96. ?>