wan.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. if (!empty($row['comment'])) {
  27. print "<tr ><td class=\"data\" colspan=5><b>".$row['name']." (".$row['comment'].")</b></td></tr>\n";
  28. } else {
  29. print "<tr ><td class=\"data\" colspan=5><b>".$row['name']."</b></td></tr>\n";
  30. }
  31. print "<tr class=\"info\">\n";
  32. print "<td >".WEB_date."</td>\n";
  33. print "<td >".WEB_title_input."</td>\n";
  34. print "<td >".WEB_title_output."</td>\n";
  35. print "<td >".WEB_title_forward_input."</td>\n";
  36. print "<td >".WEB_title_forward_output."</td>\n";
  37. print "</tr>\n";
  38. $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 ";
  39. $trafSQL .=" WHERE router_id='".$device_id."' AND interface_id='".$row['snmpin']."' AND time>='$date1' AND time<'$date2'";
  40. $trafSQL .=" GROUP BY DATE_FORMAT(`time`, '".$dt_template."' ) ORDER BY dt;";
  41. $int_statistics = get_records_sql($db,$trafSQL);
  42. $int_in = 0;
  43. $int_out = 0;
  44. $int_f_in = 0;
  45. $int_f_out = 0;
  46. foreach ($int_statistics as $stat) {
  47. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  48. print "<td class=\"data\">".$stat['dt']."</td>\n";
  49. print "<td class=\"data\">".fbytes($stat['byte_in'])."</td>\n";
  50. print "<td class=\"data\">".fbytes($stat['byte_out'])."</td>\n";
  51. print "<td class=\"data\">".fbytes($stat['byte_f_in'])."</td>\n";
  52. print "<td class=\"data\">".fbytes($stat['byte_f_out'])."</td>\n";
  53. print "</tr>\n";
  54. $int_in +=$stat['byte_in'];
  55. $int_out +=$stat['byte_out'];
  56. $int_f_in +=$stat['byte_f_in'];
  57. $int_f_out +=$stat['byte_f_out'];
  58. }
  59. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  60. print "<td class=\"data\"><b>".WEB_title_itog."</b></td>\n";
  61. print "<td class=\"data\">".fbytes($int_in)."</td>\n";
  62. print "<td class=\"data\">".fbytes($int_out)."</td>\n";
  63. print "<td class=\"data\">".fbytes($int_f_in)."</td>\n";
  64. print "<td class=\"data\">".fbytes($int_f_out)."</td>\n";
  65. print "</tr>\n";
  66. $global_int_in += $int_in;
  67. $global_int_out += $int_out;
  68. $global_int_f_in += $int_f_in;
  69. $global_int_f_out += $int_f_out;
  70. }
  71. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  72. print "<td class=\"data\" colspan=5><b>".WEB_title_itog."</b></td></tr>\n";
  73. print "<tr align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  74. print "<td class=\"data\"></td>\n";
  75. print "<td class=\"data\">".fbytes($global_int_in)."</td>\n";
  76. print "<td class=\"data\">".fbytes($global_int_out)."</td>\n";
  77. print "<td class=\"data\">".fbytes($global_int_f_in)."</td>\n";
  78. print "<td class=\"data\">".fbytes($global_int_f_out)."</td>\n";
  79. print "</tr>\n";
  80. }
  81. ?>
  82. <div id="cont">
  83. <form action="wan.php" method="post">
  84. <?php echo WEB_log_start_date; ?>:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
  85. <?php echo WEB_log_stop_date; ?>:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
  86. <?php echo WEB_cell_gateway; ?>:&nbsp<?php print_gateway_select($db_link, 'gateway', $rgateway); ?>
  87. <input type="submit" value="<?php echo WEB_btn_show; ?>">
  88. </form>
  89. <br>
  90. <br>
  91. <table class="data">
  92. <?php
  93. if ($rgateway==0) {
  94. $gateways = get_gateways($db_link);
  95. foreach ($gateways as $key => $val) {
  96. print_gateway_statistics($db_link,$key,$val,$date1,$date2);
  97. }
  98. } else {
  99. $router = get_record_sql($db_link,"SELECT device_name FROM devices WHERE id='".$rgateway."'");
  100. print_gateway_statistics($db_link,$rgateway,$router['device_name'],$date1,$date2);
  101. }
  102. ?>
  103. </table>
  104. <?php
  105. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  106. ?>