index-passive.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. $default_displayed=500;
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . HTML_LANG . ".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. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/devtypesfilter.php");
  12. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/buildingfilter.php");
  13. $unknown=1;
  14. if (!isset($_POST['f_unknown']) and isset($_POST['OK'])) { $unknown=0; }
  15. if (isset($_POST['f_unknown'])) { $unknown=$_POST['f_unknown']*1; }
  16. $params =[];
  17. $unknown_checked='';
  18. if ($unknown) { $unknown_checked='checked="checked"'; }
  19. $sort_table = 'A';
  20. if ($sort_field == 'login') { $sort_table = 'L'; }
  21. if ($sort_field == 'fio') { $sort_table = 'L'; }
  22. if ($sort_field == 'model_name') { $sort_table = 'M'; }
  23. $sort_url = "<a href=index-passive.php?ou=" . $rou;
  24. if ($rou == 0) { $ou_filter = ''; } else { $ou_filter = " and L.ou_id=? "; $params[]=$rou; }
  25. if ($rsubnet == 0) { $subnet_filter = ''; } else {
  26. $subnet_range = get_subnet_range($db_link,$rsubnet);
  27. if (!empty($subnet_range)) {
  28. $subnet_filter = " and A.ip_int>=? and A.ip_int<=?";
  29. $params[]=$subnet_range['start'];
  30. $params[]=$subnet_range['stop'];
  31. }
  32. }
  33. $d_filter='';
  34. if ($f_building_id > 0) { $d_filter .= ' and D.building_id=?'; $params[]=$f_building_id; }
  35. if ($f_devtype_id > 0) {
  36. $d_filter .= ' and D.device_type=?';
  37. $params[]= $f_devtype_id;
  38. } else { $d_filter .= ' and D.device_type>2'; }
  39. $ip_list_filter = $ou_filter.$subnet_filter;
  40. unset($_POST);
  41. print_device_submenu($page_url);
  42. ?>
  43. <div id="cont">
  44. <form name="filter" action="index-passive.php" method="post">
  45. <table class="data">
  46. <tr>
  47. <td class="info"> <?php echo WEB_device_type_show; ?>: </td>
  48. <td class="info"> <?php print_devtypes_select($db_link, "devtypes", $f_devtype_id, "id>2"); ?>
  49. <td class="info"> <?php print WEB_device_show_location; ?></td>
  50. <td class="info" colspan=2> <?php print_building_select($db_link, "building_id", $f_building_id); ?></td>
  51. <td class="info" colspan=2 align=right><input name="OK" type="submit" value="<?php echo WEB_btn_show; ?>"></td>
  52. </tr>
  53. <tr>
  54. <td class="info"><?php print WEB_cell_ou."&nbsp"; ?> </td>
  55. <td class="info"><?php print_ou_select($db_link, 'ou', $rou); ?></td>
  56. <td class="info"><?php print WEB_rows_at_page."&nbsp:"; print_row_at_pages('rows',$displayed); ?></td>
  57. <td class="info"><?php print WEB_network_subnet; ?> </td>
  58. <td class="info"><?php print_subnet_select_office($db_link, 'subnet', $rsubnet); ?></td>
  59. <td class="info"><?php print WEB_device_hide_unknown."&nbsp"; ?> <input type=checkbox name=f_unknown value="1" <?php print $unknown_checked; ?>> </td>
  60. <td class="info"><?php print WEB_model_vendor."&nbsp"; print_vendor_select($db_link,"vendor_select",$f_vendor_select); ?></td>
  61. </td>
  62. </tr>
  63. </table>
  64. </form>
  65. <br>
  66. <a class="mainButton" href="#modal"><?php print WEB_btn_apply_selected; ?></a>
  67. <div class="remodal" data-remodal-options="closeOnConfirm: true" data-remodal-id="modal" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
  68. <div class="remodalBorder">
  69. <button data-remodal-action="close" class="remodal-close" aria-label="Close"></button>
  70. <form id="formNetDevApply">
  71. <h2 id="modal1Title"><?php print WEB_selection_title; ?></h2>
  72. <input type="hidden" name="ApplyForAll" value="MassChange">
  73. <table class="data" align=center>
  74. <tr><td><input type=checkbox class="putField" name="e_set_type" value='1'></td><td><?php print WEB_cell_type."</td><td>";print_devtype_select($db_link,'a_dev_type',5);?></td></tr>
  75. <tr><td><input type=checkbox class="putField" name="e_set_model" value='1'></td><td><?php echo WEB_cell_host_model."</td><td>"; print_devmodels_select($db_link,'a_device_model_id',0,'device_type>2');?></td></tr>
  76. <tr><td><input type=checkbox class="putField" name="e_set_building" value='1'></td><td><?php echo WEB_location_name."</td><td>"; print_building_select($db_link, 'a_building_id', 0);?></td></tr>
  77. <tr><td><input type=checkbox class="putField" name="e_set_snmp_version" value='1'></td><td><?php echo WEB_snmp_version."</td><td>";print_snmp_select('a_snmp_version', get_const('snmp_default_version'));?></td></tr>
  78. <tr><td><input type=checkbox class="putField" name="e_set_ro_community" value='1'></td><td><?php echo WEB_snmp_community_ro."</td><td>"; ?><input type='text' name='a_ro_community' value="<?php print get_const('snmp_default_community'); ?>"></td></tr>
  79. <tr><td><input type=checkbox class="putField" name="e_set_rw_community" value='1'></td><td><?php echo WEB_snmp_community_rw."</td><td>"; ?><input type='text' name='a_rw_community' value="private"></td></tr>
  80. </table>
  81. <input type="submit" name="submit" class="btn" value="<?php echo WEB_btn_apply; ?>">
  82. </form>
  83. </div>
  84. </div>
  85. <a class="delButton" href="#modalDel"><?php print WEB_btn_delete; ?></a>
  86. <div class="remodal" data-remodal-options="closeOnConfirm: true" data-remodal-id="modalDel" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
  87. <div class="remodalBorder">
  88. <button data-remodal-action="close" class="remodal-close" aria-label="Close"></button>
  89. <form id="formNetDevDel">
  90. <h2 id="modal1Title"><?php print WEB_msg_delete_selected; ?></h2>
  91. <input type="hidden" name="RemoveDevice" value="MassChange">
  92. <?php print_qa_select('f_deleted', 0);?><br><br>
  93. <input type="submit" name="submit" class="btn" value="<?php echo WEB_btn_apply; ?>">
  94. </form>
  95. </div>
  96. </div>
  97. <?php
  98. $u_filter='';
  99. if ($unknown and $f_vendor_select==0) { $u_filter=' AND V.id<>1 '; } else {
  100. if (!empty($f_vendor_select) and $f_vendor_select>=1) {
  101. $u_filter = " AND V.id=? ";
  102. $params[]=$f_vendor_select;
  103. }
  104. }
  105. $countSQL="SELECT Count(*) FROM user_auth A, user_list L, devices D, device_models M, vendors V
  106. WHERE D.user_id=L.id AND A.ip = D.ip AND D.device_model_id=M.id AND M.vendor_id=V.id AND A.deleted =0
  107. $u_filter $ip_list_filter $d_filter";
  108. $count_records = get_single_field($db_link,$countSQL, $params);
  109. $total=ceil($count_records/$displayed);
  110. if ($page>$total) { $page=$total; }
  111. if ($page<1) { $page=1; }
  112. $start = ($page * $displayed) - $displayed;
  113. print_navigation($page_url,$page,$displayed,$count_records,$total);
  114. ?>
  115. <br>
  116. <form id="def" name="def">
  117. <table class="data">
  118. <tr>
  119. <td align=Center><input type="checkbox" onClick="checkAll(this.checked);"></td>
  120. <td align=Center><?php print $sort_url . "&sort=login&order=$new_order>" . WEB_cell_login . "</a>"; ?></td>
  121. <td align=Center><?php print $sort_url . "&sort=ip_int&order=$new_order>" . WEB_cell_ip . "</a>"; ?></td>
  122. <td align=Center><?php print $sort_url . "&sort=mac&order=$new_order>" . WEB_cell_mac . "</a>"; ?></td>
  123. <td align=Center><?php print $sort_url . "&sort=model_name&order=$new_order>".WEB_cell_host_model; ?></td>
  124. <td align=Center><?php print WEB_cell_description; ?></td>
  125. <td align=Center><?php print WEB_cell_connection; ?></td>
  126. <td align=Center><?php print $sort_url . "&sort=last_found&order=$new_order>".WEB_cell_last_found."</a>"; ?></td>
  127. </tr>
  128. <?php
  129. $sSQL = "SELECT A.id, D.id as dev_id, D.device_type, A.ip, A.mac, A.user_id, L.login, D.description, A.last_found, V.name, M.model_name
  130. FROM user_auth A, user_list L, devices D, device_models M, vendors V
  131. WHERE D.user_id=L.id AND A.ip = D.ip AND D.device_model_id=M.id AND M.vendor_id=V.id AND A.deleted =0
  132. $u_filter $ip_list_filter $d_filter
  133. ORDER BY $sort_table.$sort_field $order LIMIT ? OFFSET ?";
  134. $params[]=$displayed;
  135. $params[]=$start;
  136. $users = get_records_sql($db_link,$sSQL, $params);
  137. foreach ($users as $user) {
  138. if ($user['last_found'] == '0000-00-00 00:00:00') { $user['last_found'] = ''; }
  139. print "<tr align=center>\n";
  140. $cl = "data";
  141. print "<td class='".$cl."' style='padding:0'><input type=checkbox name=fid[] value=".$user['dev_id']."></td>\n";
  142. print "<td class='".$cl."' ><a href=/admin/devices/editdevice.php?id=".$user['dev_id'].">" . $user['login'] . "</a></td>\n";
  143. print "<td class='".$cl."' ><a href=/admin/users/edituser.php?id=".$user['user_id'].">" . $user['ip'] . "</a></td>\n";
  144. print "<td class='".$cl."' >" . expand_mac($db_link,$user['mac']) . "</td>\n";
  145. print "<td class='".$cl."' >".$user['name'].' '.$user['model_name']."</td>\n";
  146. print "<td class='".$cl."' >".$user['description']."</td>\n";
  147. print "<td class='data'>" . get_connection($db_link, $user['id']) . "</td>\n";
  148. print "<td class='".$cl."' >".$user['last_found']."</td>\n";
  149. print "</tr>\n";
  150. }
  151. print "</table>\n";
  152. print_navigation($page_url,$page,$displayed,$count_records,$total);
  153. ?>
  154. <br>
  155. <table class="data">
  156. <tr><td><?php echo WEB_color_description; ?></td></tr>
  157. <tr>
  158. <td class="warn"><?php echo WEB_color_user_disabled; ?></td>
  159. <td class="error"><?php echo WEB_color_user_blocked; ?></td>
  160. </table>
  161. </form>
  162. <script src="/js/remodal/remodal.min.js"></script>
  163. <script src="/js/remodal-devices.js"></script>
  164. <?php
  165. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  166. ?>