wan.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/gatefilter.php");
  8. print_reports_submenu($page_url);
  9. function print_gateway_statistics($db,$device_id,$device_name,$date1,$date2) {
  10. $start_time = new DateTimeImmutable($date1);
  11. $stop_time = new DateTimeImmutable($date2);
  12. $interval = $stop_time->diff($start_time,true);
  13. $delta = $interval->format("%a");
  14. $l3_interfaces = get_wan_interfaces($db,$device_id);
  15. #for day - show hour statistics
  16. $dt_template = '%Y-%m-%d %H:00:00';
  17. if ($delta == 1) { $dt_template = '%Y-%m-%d %H:00:00'; }
  18. elseif ($delta >1 and $delta<=31) { $dt_template = '%Y-%m-%d'; }
  19. elseif ($delta >31) { $dt_template = '%Y-%m'; }
  20. $global_int_in = 0;
  21. $global_int_out = 0;
  22. $global_int_f_in = 0;
  23. $global_int_f_out = 0;
  24. print "<tr ><td class=\"info\" colspan=5><b>".$device_name."</b></td></tr>\n";
  25. foreach ($l3_interfaces as $row) {
  26. print "<tr ><td class=\"data\" colspan=5><b>".$row['name']."</b></td></tr>\n";
  27. print "<tr class=\"info\">\n";
  28. print "<td >".WEB_date."</td>\n";
  29. print "<td >".WEB_title_input."</td>\n";
  30. print "<td >".WEB_title_output."</td>\n";
  31. print "<td >".WEB_title_forward_input."</td>\n";
  32. print "<td >".WEB_title_forward_output."</td>\n";
  33. print "</tr>\n";
  34. $trafSQL="SELECT DATE_FORMAT(`time`, '".$dt_template."' ) AS dt,SUM(`in`) as byte_in,SUM(`out`) as byte_out, SUM(`forward_in`) as byte_f_in,SUM(`forward_out`) as byte_f_out FROM Wan_stats ";
  35. $trafSQL .=" WHERE router_id='".$device_id."' AND interface_id='".$row['snmpin']."' AND time>='$date1' AND time<'$date2'";
  36. $trafSQL .=" GROUP BY DATE_FORMAT(`time`, '".$dt_template."' ) ORDER BY dt;";
  37. $int_statistics = get_records_sql($db,$trafSQL);
  38. $int_in = 0;
  39. $int_out = 0;
  40. $int_f_in = 0;
  41. $int_f_out = 0;
  42. foreach ($int_statistics as $stat) {
  43. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  44. print "<td class=\"data\">".$stat['dt']."</td>\n";
  45. print "<td class=\"data\">".fbytes($stat['byte_in'])."</td>\n";
  46. print "<td class=\"data\">".fbytes($stat['byte_out'])."</td>\n";
  47. print "<td class=\"data\">".fbytes($stat['byte_f_in'])."</td>\n";
  48. print "<td class=\"data\">".fbytes($stat['byte_f_out'])."</td>\n";
  49. print "</tr>\n";
  50. $int_in +=$stat['byte_in'];
  51. $int_out +=$stat['byte_out'];
  52. $int_f_in +=$stat['byte_f_in'];
  53. $int_f_out +=$stat['byte_f_out'];
  54. }
  55. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  56. print "<td class=\"data\"><b>".WEB_title_itog."</b></td>\n";
  57. print "<td class=\"data\">".fbytes($int_in)."</td>\n";
  58. print "<td class=\"data\">".fbytes($int_out)."</td>\n";
  59. print "<td class=\"data\">".fbytes($int_f_in)."</td>\n";
  60. print "<td class=\"data\">".fbytes($int_f_out)."</td>\n";
  61. print "</tr>\n";
  62. $global_int_in += $int_in;
  63. $global_int_out += $int_out;
  64. $global_int_f_in += $int_f_in;
  65. $global_int_f_out += $int_f_out;
  66. }
  67. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  68. print "<td class=\"data\" colspan=5><b>".WEB_title_itog."</b></td></tr>\n";
  69. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  70. print "<td class=\"data\"></td>\n";
  71. print "<td class=\"data\">".fbytes($global_int_in)."</td>\n";
  72. print "<td class=\"data\">".fbytes($global_int_out)."</td>\n";
  73. print "<td class=\"data\">".fbytes($global_int_f_in)."</td>\n";
  74. print "<td class=\"data\">".fbytes($global_int_f_out)."</td>\n";
  75. print "</tr>\n";
  76. }
  77. ?>
  78. <div id="cont">
  79. <form action="wan.php" method="post">
  80. <?php echo WEB_log_start_date; ?>:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
  81. <?php echo WEB_log_stop_date; ?>:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
  82. <?php echo WEB_cell_gateway; ?>:&nbsp<?php print_gateway_select($db_link, 'gateway', $rgateway); ?>
  83. <input type="submit" value="<?php echo WEB_btn_show; ?>">
  84. </form>
  85. <br>
  86. <br>
  87. <table class="data">
  88. <?php
  89. if ($rgateway==0) {
  90. $gateways = get_gateways($db_link);
  91. foreach ($gateways as $key => $val) {
  92. print_gateway_statistics($db_link,$key,$val,$date1,$date2);
  93. }
  94. } else {
  95. $router = get_record_sql($db_link,"SELECT device_name FROM devices WHERE id='".$rgateway."'");
  96. print_gateway_statistics($db_link,$rgateway,$router['device_name'],$date1,$date2);
  97. }
  98. ?>
  99. </table>
  100. <?php
  101. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  102. ?>