1
0

wan.php 4.8 KB

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