userday.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . $language . ".php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  5. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/idfilter.php");
  6. $default_date_shift='d';
  7. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/datefilter.php");
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/oufilter.php");
  9. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/gatefilter.php");
  10. $user=get_record_sql($db_link,'SELECT * FROM User_list WHERE id='.$id);
  11. ?>
  12. <div id="cont">
  13. <b><?php print "Трафик пользователя <a href=../users/edituser.php?id=$id>" . $user['login'] . "</a>"; ?></b>
  14. <br>
  15. <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
  16. <input type="hidden" name="id" value=<?php echo $id; ?>>
  17. Начало:&nbsp<input type="date" name="date_start" value="<?php print $date1; ?>" />
  18. Конец:&nbsp<input type="date" name="date_stop" value="<?php print $date2; ?>" />
  19. Шлюз:&nbsp <?php print_gateway_select($db_link, 'gateway', $rgateway); ?>
  20. <input type="submit" value="OK">
  21. </form>
  22. <br>
  23. <table class="data" width='100%'>
  24. <tr align="center">
  25. <td class="data"><b><?php print $title_ip; ?></b></td>
  26. <td class="data"><b> Gateway </b></td>
  27. <td class="data"><b><?php print $title_date; ?></b></td>
  28. <td class="data"><b><?php print $title_input; ?></b></td>
  29. <td class="data"><b><?php print $title_output; ?></b></td>
  30. </tr>
  31. <?php
  32. $gateway_list = get_gateways($db_link);
  33. $gateway_filter='';
  34. if (!empty($rgateway) and $rgateway>0) { $gateway_filter="(User_stats.router_id=$rgateway) AND"; }
  35. $sSQL = "SELECT id,ip,comments FROM User_auth WHERE (User_auth.user_id=$id) Order by IP";
  36. $usersip = mysqli_query($db_link, $sSQL);
  37. $ipcount = 0;
  38. $itog_in = 0;
  39. $itog_out = 0;
  40. while ($row = mysqli_fetch_array($usersip)) {
  41. $fid = $row["id"];
  42. $fip = $row["ip"];
  43. $fcomm = $row["comments"];
  44. $sSQL = "SELECT SUM(byte_in)+SUM(byte_out) as t_sum FROM User_stats
  45. WHERE $gateway_filter User_stats.timestamp>='$date1' AND User_stats.timestamp<'$date2'AND auth_id=$fid";
  46. $day_summary = get_record_sql($db_link, $sSQL);
  47. if (!empty($day_summary)) { $summ = $day_summary['t_sum']; } else { $summ = 0; }
  48. if ($summ > 0) {
  49. $ipcount ++;
  50. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  51. print "<td class=\"data\" ><b><a href=/admin/users/editauth.php?id=$fid>$fip</a></b></td>\n";
  52. print "<td class=\"data\" colspan=2>$fcomm</td>\n";
  53. print "<td class=\"data\" ><a href=/admin/reports/userdaydetail.php?id=$fid&date_start=$date1&date_stop=$date2>TOP 10</a></td>\n";
  54. print "<td class=\"data\" ><a href=/admin/reports/userdaydetaillog.php?id=$fid&date_start=$date1&date_stop=$date2>Детализация</a></td>\n";
  55. print "</tr>\n";
  56. $display_date_format='%Y-%m-%d %H';
  57. if ($days_shift <=1) { $display_date_format='%Y-%m-%d %H'; }
  58. if ($days_shift >1 and $days_shift <=30) { $display_date_format='%Y-%m-%d'; }
  59. if ($days_shift >30 and $days_shift <=730) { $display_date_format='%Y-%m'; }
  60. if ($days_shift >730) { $display_date_format='%Y'; }
  61. $sSQL = "SELECT User_stats.router_id,DATE_FORMAT(User_stats.timestamp,'$display_date_format') as tHour,SUM(byte_in),SUM(byte_out)
  62. FROM User_stats
  63. WHERE User_stats.timestamp>='$date1' AND User_stats.timestamp<'$date2' and auth_id=$fid";
  64. if ($rgateway == 0) {
  65. $sSQL = $sSQL . " GROUP BY DATE_FORMAT(User_stats.timestamp,'$display_date_format'),User_stats.router_id
  66. ORDER BY tHour,User_stats.router_id";
  67. } else {
  68. $sSQL = $sSQL . " and User_stats.router_id=$rgateway
  69. GROUP BY DATE_FORMAT(User_stats.timestamp,'$display_date_format'),User_stats.router_id
  70. ORDER BY tHour";
  71. }
  72. $userdata = mysqli_query($db_link, $sSQL);
  73. $sum_in = 0;
  74. $sum_out = 0;
  75. while (list ($u_router_id, $udata, $uin, $uout) = mysqli_fetch_array($userdata)) {
  76. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  77. print "<td class=\"data\"> </td>\n";
  78. print "<td class=\"data\">$gateway_list[$u_router_id]</td>\n";
  79. print "<td class=\"data\">" . $udata . "</td>\n";
  80. print "<td class=\"data\">" . fbytes($uin) . "</td>\n";
  81. print "<td class=\"data\">" . fbytes($uout) . "</td>\n";
  82. print "</tr>\n";
  83. $sum_in += $uin;
  84. $sum_out += $uout;
  85. }
  86. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  87. print "<td class=\"data\"><b>" . $title_sum . "</b></td>\n";
  88. print "<td class=\"data\"><b> </b></td>\n";
  89. print "<td class=\"data\"><b> </b></td>\n";
  90. print "<td class=\"data\"><b>" . fbytes($sum_in) . "</b></td>\n";
  91. print "<td class=\"data\"><b>" . fbytes($sum_out) . "</b></td>\n";
  92. print "</tr>\n";
  93. $itog_in += $sum_in;
  94. $itog_out += $sum_out;
  95. }
  96. }
  97. if ($ipcount > 1) {
  98. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  99. print "<td class=\"data\"><b> Итого </b></td>\n";
  100. print "<td class=\"data\"><b> </b></td>\n";
  101. print "<td class=\"data\"><b> </b></td>\n";
  102. print "<td class=\"data\"><b>" . fbytes($itog_in) . "</b></td>\n";
  103. print "<td class=\"data\"><b>" . fbytes($itog_out) . "</b></td>\n";
  104. print "</tr>\n";
  105. }
  106. ?>
  107. </table>
  108. <?
  109. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  110. ?>