blocked.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. define("CONFIG", 1);
  3. define("SQL", 1);
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/cfg/config.php");
  5. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/sql.php");
  6. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/common.php");
  7. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/russian.php");
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header_public.php");
  9. if (! isset($auth_ip)) { $auth_ip = get_user_ip(); }
  10. if (! isset($auth_ip)) { print "Error detecting user!!!"; }
  11. $start = mktime(0, 0, 0, date("m"), 1, date("Y"));
  12. $date1m = strftime('%Y-%m-%d', $start);
  13. $stop = mktime(0, 0, 0, date("m")+1, 1, date("Y"));
  14. $date2m = strftime('%Y-%m-%d', $stop);
  15. $start = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
  16. $date1 = strftime('%Y-%m-%d', $start);
  17. $stop = mktime(0, 0, 0, date("m"), date("d")+1, date("Y"));
  18. $date2 = strftime('%Y-%m-%d', $stop);
  19. ?>
  20. <div id="cont">
  21. <?php
  22. $ip_aton = ip2long($auth_ip);
  23. if (! $ip_aton) { $ip_aton = 0; }
  24. $sSQL = "SELECT * FROM User_auth WHERE ip_int='".$ip_aton."' and deleted = 0";
  25. $auth = get_record_sql($db_link,$sSQL);
  26. if (! isset($auth) or empty($auth)) { print "<font color=red><b>Адрес $auth_ip в списках не значится!</b><br></font>"; die; }
  27. $id = $auth['id'];
  28. $user_id = $auth['user_id'];
  29. $uSQL = "SELECT * FROM User_list WHERE id='".$user_id."'";
  30. $user = get_record_sql($db_link,$uSQL);
  31. if (! isset($user) or empty($user)) { print "<font color=red><b>Адрес $auth_ip принадлежит несуществующему юзеру. Вероятно запись удалена.</b><br></font>"; die; }
  32. if (empty($user['month_quota'])) { $user['month_quota']=0; }
  33. if (empty($user['day_quota'])) { $user['day_quota']=0; }
  34. if (empty($auth['month_quota'])) { $auth['month_quota']=0; }
  35. if (empty($auth['day_quota'])) { $auth['day_quota']=0; }
  36. $user['month_quota'] = $user['month_quota'] * $KB * $KB;
  37. $user['day_quota'] = $user['day_quota'] * $KB * $KB;
  38. $auth['month_quota'] = $auth['month_quota'] * $KB * $KB;
  39. $auth['day_quota'] = $auth['day_quota'] * $KB * $KB;
  40. $day = GetNowDayString();
  41. $month = strftime('%m',time());
  42. $year = strftime('%Y',time());
  43. ?>
  44. <table>
  45. <tr>
  46. <td><b>Сейчас</b></td><td><?php print GetNowTimeString(); ?></td></tr>
  47. <tr>
  48. <td><b>Login</b></td> <td><?php print $user['login']; ?></td>
  49. </tr><tr>
  50. <td><b>ФИО</b></td> <td><?php print $user['fio']; ?></td>
  51. </tr><tr>
  52. <td> Интернет (логин) </td> <td><b><?php
  53. if ($user['enabled'] and !$user['blocked']) { print "Включен"; }
  54. if (!$user['enabled']) { print "<font color=red>Запрещён</font> &nbsp"; }
  55. if ($user['blocked']) { print "<font colot=red>Блок по трафику</font>"; }
  56. ?></b>
  57. </td></tr><tr>
  58. <td> Интернет (этот IP) </td> <td><b><?php
  59. if ($user['enabled'] and !$user['blocked'] and !$auth['blocked'] and $auth['enabled']) { print "Включен"; }
  60. if (!$user['enabled'] or !$auth['enabled']) { print "<font color=red>Запрещён</font> &nbsp"; }
  61. if ($auth['blocked']) { print "<font color=red>Блок по трафику</font>"; }
  62. ?></b>
  63. </td>
  64. </tr>
  65. <tr><td>Фильтр</td><td><?php print get_group($db_link, $auth["filter_group_id"]); ?> </td></tr>
  66. <tr><td>Шейпер</td><td><?php print get_queue($db_link, $auth["queue_id"]); ?></td></tr>
  67. <tr><td> Квота на логин, месяц <td><td><?php print fbytes($user['month_quota']); ?> </td></tr>
  68. <tr><td> Квота на логин, день <td><td><?php print fbytes($user['day_quota']); ?> </td></tr>
  69. <tr><td> Лимит на ip, месяц <td><td><?php print fbytes($auth['month_quota']); ?> </td></tr>
  70. <tr><td> Лимит на ip, день <td><td><?php print fbytes($auth['day_quota']); ?> </td></tr>
  71. <?php
  72. $auth_list = get_records_sql($db_link,"SELECT id FROM User_auth WHERE user_id='".$user_id."' AND deleted=0");
  73. ####### day
  74. $sSQL = "SELECT SUM(byte_in) as tin, SUM(byte_out) as tout FROM User_stats WHERE `timestamp`>='".$date1."' AND `timestamp`<'".$date2."' AND auth_id='".$id."'";
  75. $day_auth_itog = get_record_sql($db_link,$sSQL);
  76. $day_auth_sum_in=0;
  77. $day_auth_sum_in=0;
  78. if (!empty($day_auth_itog)) {
  79. if (empty($day_auth_itog['tin'])) { $day_auth_itog['tin']=0; }
  80. if (empty($day_auth_itog['tout'])) { $day_auth_itog['tout']=0; }
  81. $day_auth_sum_in=$day_auth_itog['tin'];
  82. $day_auth_sum_out=$day_auth_itog['tout'];
  83. }
  84. $day_user_sum_in=0;
  85. $day_user_sum_out=0;
  86. if (!empty($auth_list)) {
  87. foreach ($auth_list as $row) {
  88. $auth_itog2 = get_record_sql($db_link,"SELECT SUM(byte_in) as tin, SUM(byte_out) as tout FROM User_stats WHERE `timestamp`>='".$date1."' AND `timestamp`<'".$date2."' AND auth_id='".$row['id']."'");
  89. if (!empty($auth_itog2)) {
  90. if (empty($auth_itog2['tin'])) { $auth_itog2['tin']=0; }
  91. if (empty($auth_itog2['tout'])) { $auth_itog2['tout']=0; }
  92. $day_user_sum_in+=$auth_itog2['tin'];
  93. $day_user_sum_out+=$auth_itog2['tout'];
  94. }
  95. }
  96. }
  97. #### month
  98. $sSQL = "SELECT SUM(byte_in) as tin, SUM(byte_out) as tout FROM User_stats WHERE `timestamp`>='".$date1m."' AND `timestamp`<'".$date2m."' AND auth_id='".$id."'";
  99. $month_auth_itog = get_record_sql($db_link,$sSQL);
  100. $month_auth_sum_in=0;
  101. $month_auth_sum_in=0;
  102. if (!empty($month_auth_itog)) {
  103. if (empty($month_auth_itog['tin'])) { $month_auth_itog['tin']=0; }
  104. if (empty($month_auth_itog['tout'])) { $month_auth_itog['tout']=0; }
  105. $month_auth_sum_in=$month_auth_itog['tin'];
  106. $month_auth_sum_out=$month_auth_itog['tout'];
  107. }
  108. $month_user_sum_in=0;
  109. $month_user_sum_out=0;
  110. if (!empty($auth_list)) {
  111. foreach ($auth_list as $row) {
  112. $auth_itog2 = get_record_sql($db_link,"SELECT SUM(byte_in) as tin, SUM(byte_out) as tout FROM User_stats WHERE `timestamp`>='".$date1m."' AND `timestamp`<'".$date2m."' AND auth_id='".$row['id']."'");
  113. if (!empty($auth_itog2)) {
  114. if (empty($auth_itog2['tin'])) { $auth_itog2['tin']=0; }
  115. if (empty($auth_itog2['tout'])) { $auth_itog2['tout']=0; }
  116. $month_user_sum_in+=$auth_itog2['tin'];
  117. $month_user_sum_out+=$auth_itog2['tout'];
  118. }
  119. }
  120. }
  121. #### print
  122. print "<tr class='data'><td><b>Текущий трафик на IP</b></td><td>$auth_ip</td></tr>\n";
  123. print "<tr class='data'><td>за день in/out </td><td>" . fbytes($day_auth_sum_in)." / ".fbytes($day_auth_sum_out). "</td></tr>\n";
  124. print "<tr class='data'><td>за месяц in/out </td><td>" . fbytes($month_auth_sum_in)." / ".fbytes($month_auth_sum_out). "</td></tr>\n";
  125. print "<tr class='data'><td><b>Текущий трафик на логин</b></td><td>".$user['login']."</td></tr>\n";
  126. print "<tr class='data'><td>за день in/out </td><td>" . fbytes($day_user_sum_in)." / ".fbytes($day_user_sum_out). "</td></tr>\n";
  127. print "<tr class='data'><td>за месяц in/out </td><td>" . fbytes($month_user_sum_in)." / ".fbytes($month_user_sum_out). "</td></tr>\n";
  128. print "</table>\n";
  129. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  130. ?>