1
0

index-passive.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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/vendorfilter.php");
  11. $unknown=1;
  12. if (!isset($_POST['f_unknown']) and isset($_POST['OK'])) { $unknown=0; }
  13. if (isset($_POST['f_unknown'])) { $unknown=$_POST['f_unknown']*1; }
  14. $unknown_checked='';
  15. if ($unknown) { $unknown_checked='checked="checked"'; }
  16. $sort_table = 'A';
  17. if ($sort_field == 'login') { $sort_table = 'L'; }
  18. if ($sort_field == 'fio') { $sort_table = 'L'; }
  19. if ($sort_field == 'model_name') { $sort_table = 'M'; }
  20. $sort_url = "<a href=index-passive.php?ou=" . $rou;
  21. global $default_user_id;
  22. if ($rou == 0) { $ou_filter = ''; } else { $ou_filter = " and L.ou_id=$rou "; }
  23. if ($rsubnet == 0) { $subnet_filter = ''; } else {
  24. $subnet_range = get_subnet_range($db_link,$rsubnet);
  25. if (!empty($subnet_range)) { $subnet_filter = " and A.ip_int>=".$subnet_range['start']." and A.ip_int<=".$subnet_range['stop']; }
  26. }
  27. $ip_list_filter = $ou_filter.$subnet_filter;
  28. print_device_submenu($page_url);
  29. ?>
  30. <div id="cont">
  31. <form name="def" action="index-passive.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. Hide unknown:&nbsp <input type=checkbox name=f_unknown value="1" <?php print $unknown_checked; ?>>
  39. Vendor: <?php print_vendor_select($db_link,"vendor_select",$f_vendor_select); ?>
  40. <input name="OK" type="submit" value="Показать">
  41. </td>
  42. </tr>
  43. </table>
  44. <?php
  45. $u_filter='';
  46. if ($unknown and $f_vendor_select==0) { $u_filter=' AND V.id<>1 '; } else {
  47. if (!empty($f_vendor_select) and $f_vendor_select>=1) {
  48. $u_filter = " AND V.id=".$f_vendor_select." ";
  49. }
  50. }
  51. $countSQL="SELECT Count(*) FROM User_auth A, User_list L, device_models M, vendors V
  52. WHERE A.user_id = L.id AND A.device_model_id=M.id AND M.vendor_id=V.id
  53. AND A.deleted=0 $u_filter $ip_list_filter";
  54. $res = mysqli_query($db_link, $countSQL);
  55. $count_records = mysqli_fetch_array($res);
  56. $total=ceil($count_records[0]/$displayed);
  57. if ($page>$total) { $page=$total; }
  58. if ($page<1) { $page=1; }
  59. $start = ($page * $displayed) - $displayed;
  60. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  61. ?>
  62. <br>
  63. <table class="data">
  64. <tr>
  65. <td align=Center><?php print $sort_url . "&sort=login&order=$new_order>" . $cell_login . "</a>"; ?></td>
  66. <td align=Center><?php print $sort_url . "&sort=ip_int&order=$new_order>" . $cell_ip . "</a>"; ?></td>
  67. <td align=Center><?php print $sort_url . "&sort=mac&order=$new_order>" . $cell_mac . "</a>"; ?></td>
  68. <td align=Center><?php print $sort_url . "&sort=model_name&order=$new_order>".$cell_host_model; ?></td>
  69. <td align=Center><?php print $cell_comment; ?></td>
  70. <td align=Center><?php print $cell_dns_name; ?></td>
  71. <td align=Center><?php print $cell_connection; ?></td>
  72. <td align=Center><?php print $sort_url . "&sort=last_found&order=$new_order>Last</a>"; ?></td>
  73. </tr>
  74. <?php
  75. $sSQL = "SELECT A.id, A.ip, A.mac, A.user_id, L.login, A.comments, A.dns_name, A.dhcp_hostname, A.last_found, V.name, M.model_name
  76. FROM User_auth A, User_list L, device_models M, vendors V
  77. WHERE A.user_id = L.id AND A.device_model_id=M.id AND M.vendor_id=V.id
  78. AND A.deleted =0 $u_filter $ip_list_filter
  79. ORDER BY $sort_table.$sort_field $order LIMIT $start,$displayed";
  80. $users = get_records_sql($db_link,$sSQL);
  81. foreach ($users as $user) {
  82. if ($user['last_found'] == '0000-00-00 00:00:00') { $user['last_found'] = ''; }
  83. print "<tr align=center>\n";
  84. $cl = "data";
  85. print "<td class=\"$cl\" ><a href=/admin/users/edituser.php?id=".$user['user_id'].">" . $user['login'] . "</a></td>\n";
  86. print "<td class=\"$cl\" ><a href=/admin/users/editauth.php?id=".$user['id'].">" . $user['ip'] . "</a></td>\n";
  87. print "<td class=\"$cl\" >" . expand_mac($db_link,$user['mac']) . "</td>\n";
  88. print "<td class=\"$cl\" >".$user['name'].' '.$user['model_name']."</td>\n";
  89. if (isset($user['dhcp_hostname']) and strlen($user['dhcp_hostname']) > 0) {
  90. print "<td class=\"$cl\" >".$user['comments']." [" . $user['dhcp_hostname'] . "]</td>\n";
  91. } else {
  92. print "<td class=\"$cl\" >".$user['comments']."</td>\n";
  93. }
  94. print "<td class=\"$cl\" >".$user['dns_name']."</td>\n";
  95. print "<td class=\"data\" >" . get_connection($db_link, $user['id']) . "</td>\n";
  96. print "<td class=\"$cl\" >".$user['last_found']."</td>\n";
  97. print "</tr>\n";
  98. }
  99. print "</table>\n";
  100. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  101. ?>
  102. <br>
  103. <table class="data">
  104. <tr><td>Цветовая маркировка</td></tr>
  105. <tr>
  106. <td class="warn">Пользователь выключен</td>
  107. <td class="error">Блокировка по трафику</td>
  108. </table>
  109. <?php
  110. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  111. ?>