auto_rules.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. $default_displayed=50;
  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. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/rulesfilter.php");
  7. if (isset($_POST["removeRule"])) {
  8. $r_id = $_POST["f_id"];
  9. foreach ($r_id as $key => $val) {
  10. if ($val) { delete_record($db_link, "auth_rules", "id=".$val); }
  11. }
  12. header("Location: " . $_SERVER["REQUEST_URI"]);
  13. exit;
  14. }
  15. print_ip_submenu($page_url);
  16. ?>
  17. <div id="cont">
  18. <br>
  19. <form name="def" action="auto_rules.php" method="post">
  20. <table>
  21. <tr>
  22. <td>
  23. <b><?php echo WEB_rules_search_target; ?> - </b><?php print_rule_target_select('rule_target', $rule_target); ?>
  24. </td>
  25. <td>
  26. <b><?php echo WEB_rules_search_type; ?> - </b><?php print_rule_type_select('rule_type', $rule_type); ?>
  27. </td>
  28. <td></td>
  29. </tr>
  30. <tr>
  31. <td colspan=2>
  32. <?php echo WEB_ips_search; ?>:&nbsp<input type="text" name="f_rule" value="<?php echo $f_rule; ?>"/>
  33. </td>
  34. <td>
  35. <?php print WEB_rows_at_page."&nbsp"; print_row_at_pages('rows',$displayed); ?>
  36. <input id="btn_filter" name="btn_filter" type="submit" value="<?php echo WEB_btn_show; ?>">
  37. </td>
  38. </tr>
  39. </table>
  40. <?php
  41. $target_filter='';
  42. if ($rule_target>0) {
  43. if ($rule_target==1) { $target_filter = ' AND user_id>0'; }
  44. if ($rule_target==2) { $target_filter = ' AND ou_id>0'; }
  45. }
  46. $type_filter='';
  47. if ($rule_type>0) { $type_filter = ' AND `type`='.$rule_type; }
  48. $rule_filter='';
  49. if (!empty($f_rule)) { $rule_filter = ' AND `rule` LIKE "'.$f_rule.'%"'; }
  50. $rule_filters = '';
  51. if (!empty($target_filter) or !empty($type_filter) or !empty($rule_filter)) {
  52. $rule_filters='WHERE id '.$target_filter.$type_filter.$rule_filter;
  53. }
  54. fix_auth_rules($db_link);
  55. $countSQL="SELECT Count(*) FROM auth_rules $rule_filters";
  56. $res = mysqli_query($db_link, $countSQL);
  57. $count_records = mysqli_fetch_array($res);
  58. $total=ceil($count_records[0]/$displayed);
  59. if ($page>$total) { $page=$total; }
  60. if ($page<1) { $page=1; }
  61. $start = ($page * $displayed) - $displayed;
  62. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  63. ?>
  64. <table class="data">
  65. <tr align="center">
  66. <td><input type="checkbox" onClick="checkAll(this.checked);"></td>
  67. <td><b><?php echo WEB_cell_type; ?></b></td>
  68. <td><b><?php echo WEB_ou_rule; ?></b></td>
  69. <td><b><?php echo WEB_rules_target; ?></b></td>
  70. <td align=right><input type="submit" onclick="return confirm('<?php echo WEB_msg_delete; ?>?')" name="removeRule" value="<?php echo WEB_btn_delete; ?>"></td>
  71. </tr>
  72. <?php
  73. $rulesSQL = "SELECT * FROM auth_rules $rule_filters ORDER BY id LIMIT $start,$displayed";
  74. $t_auth_rules = get_records_sql($db_link,$rulesSQL);
  75. foreach ( $t_auth_rules as $row ) {
  76. print "<tr align=center>\n";
  77. print "<td class=\"data\" style='padding:0'><input type=checkbox name=f_id[] value=".$row["id"]." ></td>\n";
  78. print "<td class=\"data\">";
  79. if ($row['type'] == 1) { print "Subnet"; }
  80. if ($row['type'] == 2) { print "Mac"; }
  81. if ($row['type'] == 3) { print "Hostname"; }
  82. print "</td>\n";
  83. print "<td class=\"data\">".$row['rule']."</td>\n";
  84. print "<td colspan=2 class=\"data\" align=left>";
  85. if (!empty($row['user_id'])) {
  86. $user_info=get_record_sql($db_link,"SELECT * FROM User_list WHERE id=".$row['user_id']);
  87. if (!empty($user_info)) { print "User: &nbsp"; print_url($user_info['login'],'/admin/users/edituser.php?id='.$user_info['id']); }
  88. }
  89. if (!empty($row['ou_id'])) {
  90. $ou_info=get_record_sql($db_link,"SELECT * FROM OU WHERE id=".$row['ou_id']);
  91. if (!empty($ou_info)) { print "Group: &nbsp"; print_url($ou_info['ou_name'],'/admin/groups/edit_group.php?id='.$ou_info['id']); }
  92. }
  93. print "</td>";
  94. print "</tr>\n";
  95. }
  96. ?>
  97. </table>
  98. </form>
  99. <script>
  100. document.getElementById('rule_target').addEventListener('change', function(event) {
  101. const buttonApply = document.getElementById('btn_filter');
  102. buttonApply.click();
  103. });
  104. document.getElementById('rule_type').addEventListener('change', function(event) {
  105. const buttonApply = document.getElementById('btn_filter');
  106. buttonApply.click();
  107. });
  108. document.getElementById('rows').addEventListener('change', function(event) {
  109. const buttonApply = document.getElementById('btn_filter');
  110. buttonApply.click();
  111. });
  112. </script>
  113. <?php
  114. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  115. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.simple.php");
  116. ?>