index.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. $default_displayed=500;
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . $language . ".php");
  5. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  6. $default_sort='ip_int';
  7. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/oufilter.php");
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/subnetfilter.php");
  9. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/sortfilter.php");
  10. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/gatefilter.php");
  11. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/enabledfilter.php");
  12. $sort_table = 'User_auth';
  13. if ($sort_field == 'login') { $sort_table = 'User_list'; }
  14. if ($sort_field == 'fio') { $sort_table = 'User_list'; }
  15. $sort_url = "<a href=index.php?ou=" . $rou;
  16. global $default_user_id;
  17. if ($rou == 0) { $ou_filter = ''; } else { $ou_filter = " and User_list.ou_id=$rou "; }
  18. if ($rsubnet == 0) { $subnet_filter = ''; } else {
  19. $subnet_range = get_subnet_range($db_link,$rsubnet);
  20. if (!empty($subnet_range)) { $subnet_filter = " and User_auth.ip_int>=".$subnet_range['start']." and User_auth.ip_int<=".$subnet_range['stop']; }
  21. }
  22. $enabled_filter='';
  23. if ($enabled>0) {
  24. if ($enabled===2) { $enabled_filter = ' and User_auth.enabled=1'; }
  25. if ($enabled===1) { $enabled_filter = ' and User_auth.enabled=0'; }
  26. }
  27. $ip_list_filter = $ou_filter.$subnet_filter.$enabled_filter;
  28. print_ip_submenu($page_url);
  29. ?>
  30. <div id="cont">
  31. <form name="def" action="index.php" method="post">
  32. <table class="data">
  33. <tr>
  34. <td>
  35. <b><?php print $list_ou; ?> - </b><?php print_ou_select($db_link, 'ou', $rou); ?>
  36. Отображать:<?php print_row_at_pages('rows',$displayed); ?>
  37. <b><?php print $list_subnet; ?> - </b><?php print_subnet_select_office($db_link, 'subnet', $rsubnet); ?>
  38. <b>По активности - </b><?php print_enabled_select('enabled', $enabled); ?>
  39. <input type="submit" value="Показать">
  40. </td>
  41. </tr>
  42. </table>
  43. <?php
  44. $countSQL="SELECT Count(*) FROM User_auth, User_list WHERE User_auth.user_id = User_list.id AND User_auth.deleted =0 $ip_list_filter";
  45. $res = mysqli_query($db_link, $countSQL);
  46. $count_records = mysqli_fetch_array($res);
  47. $total=ceil($count_records[0]/$displayed);
  48. if ($page>$total) { $page=$total; }
  49. if ($page<1) { $page=1; }
  50. $start = ($page * $displayed) - $displayed;
  51. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  52. ?>
  53. <br>
  54. <table class="data">
  55. <tr>
  56. <td align=Center><?php print $sort_url . "&sort=login&order=$new_order>" . $cell_login . "</a>"; ?></td>
  57. <td align=Center><?php print $sort_url . "&sort=ip_int&order=$new_order>" . $cell_ip . "</a>"; ?></td>
  58. <td align=Center><?php print $sort_url . "&sort=mac&order=$new_order>" . $cell_mac . "</a>"; ?></td>
  59. <td align=Center><?php print $cell_comment; ?></td>
  60. <td align=Center><?php print $cell_dns_name; ?></td>
  61. <td align=Center><?php print $sort_url . "&sort=nagios&order=$new_order>" . $cell_nagios; ?></td>
  62. <td align=Center><?php print $sort_url . "&sort=link_check&order=$new_order>" . $cell_link; ?></td>
  63. <td align=Center><?php print $cell_enabled; ?></td>
  64. <td align=Center><?php print $cell_filter; ?></td>
  65. <td align=Center><?php print $cell_shaper; ?></td>
  66. <td align=Center><?php print $cell_connection; ?></td>
  67. <td align=Center><?php print $sort_url . "&sort=dhcp_time&order=$new_order>DHCP</a>"; ?></td>
  68. <td align=Center><?php print $sort_url . "&sort=last_found&order=$new_order>Last</a>"; ?></td>
  69. </tr>
  70. <?php
  71. $sSQL = "SELECT User_auth.id, User_auth.ip, User_auth.mac, User_auth.user_id, User_list.login, User_auth.nagios, User_auth.link_check,
  72. User_auth.comments, User_auth.dns_name, User_auth.dhcp_hostname, User_auth.enabled, User_auth.filter_group_id, User_auth.queue_id,
  73. User_auth.blocked, User_auth.dhcp_action, User_auth.dhcp_time, User_auth.last_found, User_auth.nagios_status
  74. FROM User_auth, User_list
  75. WHERE User_auth.user_id = User_list.id
  76. AND User_auth.deleted =0 $ip_list_filter
  77. ORDER BY $sort_table.$sort_field $order LIMIT $start,$displayed";
  78. $users = get_records_sql($db_link,$sSQL);
  79. foreach ($users as $user) {
  80. if ($user['dhcp_time'] == '0000-00-00 00:00:00') {
  81. $dhcp_str = '';
  82. } else {
  83. $dhcp_str = $user['dhcp_time'] . " (" . $user['dhcp_action'] . ")";
  84. }
  85. if ($user['last_found'] == '0000-00-00 00:00:00') { $user['last_found'] = ''; }
  86. print "<tr align=center>\n";
  87. $cl = "data";
  88. if (! $user['enabled']) { $cl = "warn"; }
  89. if ($user['blocked']) { $cl = "error"; }
  90. print "<td class=\"$cl\" ><a href=/admin/users/edituser.php?id=".$user['user_id'].">" . $user['login'] . "</a></td>\n";
  91. print "<td class=\"$cl\" ><a href=/admin/users/editauth.php?id=".$user['id'].">" . $user['ip'] . "</a></td>\n";
  92. print "<td class=\"$cl\" >" . expand_mac($db_link,$user['mac']) . "</td>\n";
  93. if (isset($user['dhcp_hostname']) and strlen($user['dhcp_hostname']) > 0) {
  94. print "<td class=\"$cl\" >".$user['comments']." [" . $user['dhcp_hostname'] . "]</td>\n";
  95. } else {
  96. print "<td class=\"$cl\" >".$user['comments']."</td>\n";
  97. }
  98. print "<td class=\"$cl\" >".$user['dns_name']."</td>\n";
  99. print "<td class=\"$cl\" >" . get_qa($user['nagios']) . "</td>\n";
  100. print "<td class=\"$cl\" >" . get_qa($user['link_check']) . "</td>\n";
  101. print "<td class=\"$cl\" >" . get_qa($user['enabled']) . "</td>\n";
  102. print "<td class=\"$cl\" >" . get_group($db_link, $user['filter_group_id']) . "</td>\n";
  103. print "<td class=\"$cl\" >" . get_queue($db_link, $user['queue_id']) . "</td>\n";
  104. print "<td class=\"data\" >" . get_connection($db_link, $user['id']) . "</td>\n";
  105. print "<td class=\"data\" >".$dhcp_str."</td>\n";
  106. if ($user['nagios_status'] == "UP") { $cl = "up"; }
  107. if ($user['nagios_status'] == "DOWN") { $cl = "down"; }
  108. print "<td class=\"$cl\" >".$user['last_found']."</td>\n";
  109. print "</tr>\n";
  110. }
  111. print "</table>\n";
  112. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  113. ?>
  114. <br>
  115. <table class="data">
  116. <tr><td>Цветовая маркировка</td></tr>
  117. <tr>
  118. <td class="warn">Пользователь выключен</td>
  119. <td class="error">Блокировка по трафику</td>
  120. </table>
  121. <?php
  122. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  123. ?>