devmodels.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. $default_displayed=25;
  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/vendorfilter.php");
  6. if (isset($_POST['save'])) {
  7. $saved = array();
  8. //button save
  9. $len = is_array($_POST['save']) ? count($_POST['save']) : 0;
  10. for ($i = 0; $i < $len; $i ++) {
  11. $save_id = intval($_POST['save'][$i]);
  12. if ($save_id == 0) { continue; }
  13. array_push($saved,$save_id);
  14. }
  15. //select box
  16. $len = is_array($_POST['f_id']) ? count($_POST['f_id']) : 0;
  17. if ($len>0) {
  18. for ($i = 0; $i < $len; $i ++) {
  19. $save_id = intval($_POST['f_id'][$i]);
  20. if ($save_id == 0) { continue; }
  21. if (!in_array($save_id, $saved)) { array_push($saved,$save_id); }
  22. }
  23. }
  24. //save changes
  25. $len = is_array($saved) ? count($saved) : 0;
  26. for ($i = 0; $i < $len; $i ++) {
  27. $save_id = intval($saved[$i]);
  28. if ($save_id == 0) { continue; }
  29. $len_all = is_array($_POST['r_id']) ? count($_POST['r_id']) : 0;
  30. for ($j = 0; $j < $len_all; $j ++) {
  31. if (intval($_POST['r_id'][$j]) != $save_id) { continue; }
  32. $new = NULL;
  33. if ($save_id>=10000) {
  34. $new['vendor_id'] = $_POST['f_vendor'][$j];
  35. $new['model_name'] = $_POST['f_name'][$j];
  36. $new['poe_in'] = $_POST['f_poe_in'][$j];
  37. $new['poe_out'] = $_POST['f_poe_out'][$j];
  38. } else {
  39. $new['poe_in'] = $_POST['f_poe_in'][$j];
  40. $new['poe_out'] = $_POST['f_poe_out'][$j];
  41. }
  42. if (!isset($new['poe_in']) OR empty($new['poe_in'])) { $new['poe_in'] = 0; }
  43. if (!isset($new['poe_out']) OR empty($new['poe_out'])) { $new['poe_out'] = 0; }
  44. $new['nagios_template'] = $_POST['f_nagios'][$j];
  45. update_record($db_link, "device_models", "id='{$save_id}'", $new);
  46. }
  47. }
  48. header("Location: " . $_SERVER["REQUEST_URI"]);
  49. exit;
  50. }
  51. if (isset($_POST['remove'])) {
  52. $saved = array();
  53. //button save
  54. $len = is_array($_POST['save']) ? count($_POST['save']) : 0;
  55. for ($i = 0; $i < $len; $i ++) {
  56. $save_id = intval($_POST['save'][$i]);
  57. if ($save_id == 0) { continue; }
  58. array_push($saved,$save_id);
  59. }
  60. //select box
  61. $len = is_array($_POST['f_id']) ? count($_POST['f_id']) : 0;
  62. if ($len>0) {
  63. for ($i = 0; $i < $len; $i ++) {
  64. $save_id = intval($_POST['f_id'][$i]);
  65. if ($save_id == 0) { continue; }
  66. if (!in_array($save_id, $saved)) { array_push($saved,$save_id); }
  67. }
  68. }
  69. //save changes
  70. $len = is_array($saved) ? count($saved) : 0;
  71. for ($i = 0; $i < $len; $i ++) {
  72. $save_id = intval($saved[$i]);
  73. if ($save_id == 0) { continue; }
  74. $len_all = is_array($_POST['r_id']) ? count($_POST['r_id']) : 0;
  75. for ($j = 0; $j < $len_all; $j ++) {
  76. if (intval($_POST['r_id'][$j]) != $save_id) { continue; }
  77. if ($save_id>=10000) {
  78. delete_record($db_link, "device_models", "id='{$save_id}'");
  79. run_sql($db_link,"UPDATE devices set device_model_id=NULL WHERE device_model_id=".$save_id);
  80. }
  81. }
  82. }
  83. header("Location: " . $_SERVER["REQUEST_URI"]);
  84. exit;
  85. }
  86. if (isset($_POST["create"])) {
  87. $model_name = $_POST["new_model"];
  88. if (isset($model_name)) {
  89. $max_record = get_record_sql($db_link,"SELECT MAX(id) as max_id FROM device_models");
  90. if (!isset($max_record) or $max_record['max_id']<10000) { $next_id = 10000; } else { $next_id = $max_record['max_id'] + 1; }
  91. $new['vendor_id']=1;
  92. $new['id'] = $next_id;
  93. if (isset($f_vendor_select) and $f_vendor_select>1) { $new['vendor_id']=$f_vendor_select; }
  94. $new['model_name'] = $model_name;
  95. insert_record($db_link, "device_models", $new);
  96. }
  97. header("Location: " . $_SERVER["REQUEST_URI"]);
  98. exit;
  99. }
  100. unset($_POST);
  101. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  102. print_control_submenu($page_url);
  103. ?>
  104. <div id="cont">
  105. <br>
  106. <form name="def" action="devmodels.php" method="post">
  107. <table class="data">
  108. <tr>
  109. <td><b><?php echo WEB_list_models; ?></b></td>
  110. <td><?php print_vendor_select($db_link,'vendor_select',$f_vendor_select); ?></td>
  111. <td><?php print WEB_rows_at_page."&nbsp:";print_row_at_pages('rows',$displayed); ?></td>
  112. <td><input id='apply' name='apply' type="submit" name="OK" value="<?php print WEB_btn_show; ?>"></td>
  113. </tr>
  114. </table>
  115. <?php
  116. $v_filter='';
  117. if (!empty($f_vendor_select)) { $v_filter = "WHERE vendor_id=".$f_vendor_select; }
  118. $countSQL="SELECT Count(*) FROM device_models $v_filter";
  119. $res = mysqli_query($db_link, $countSQL);
  120. $count_records = mysqli_fetch_array($res);
  121. $total=ceil($count_records[0]/$displayed);
  122. if ($page>$total) { $page=$total; }
  123. if ($page<1) { $page=1; }
  124. $start = ($page * $displayed) - $displayed;
  125. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  126. ?>
  127. <br>
  128. <table class="data">
  129. <tr align="center">
  130. <td><input type="checkbox" onClick="checkAll(this.checked);"></td>
  131. <td><b>Id</b></td>
  132. <td><b><?php echo WEB_model_vendor; ?></b></td>
  133. <td><b><?php echo WEB_cell_name; ?></b></td>
  134. <td><b><?php echo WEB_cell_poe_in; ?></b></td>
  135. <td><b><?php echo WEB_cell_poe_out; ?></b></td>
  136. <td><b><?php echo WEB_nagios_template; ?></b></td>
  137. <td><input id='save' type="submit" name='save' value="<?php echo WEB_btn_save; ?>"></td>
  138. <td><input id='remove' type="submit" name='remove' value="<?php echo WEB_btn_delete; ?>"></td>
  139. </tr>
  140. <?php
  141. $t_ou = get_records_sql($db_link,'SELECT * FROM device_models '.$v_filter." ORDER BY vendor_id, model_name LIMIT $start,$displayed");
  142. foreach ($t_ou as $row) {
  143. print "<tr align=center>\n";
  144. print "<td class=\"data\" style='padding:0'><input type=checkbox name=f_id[] value='{$row['id']}'></td>\n";
  145. print "<td class=\"data\"><input type=\"hidden\" name='r_id[]' value='{$row['id']}'>{$row['id']}</td>\n";
  146. print "<td class=\"data\" width=150>"; print_vendor_set($db_link,'f_vendor[]',$row['vendor_id']); print "</td>\n";
  147. print "<td class=\"data\"><input type=\"text\" name='f_name[]' value='{$row['model_name']}'></td>\n";
  148. print "<td class=\"data\">";print_qa_select("f_poe_in[]", $row['poe_in']); print "</td>\n";
  149. print "<td class=\"data\">";print_qa_select("f_poe_out[]", $row['poe_out']); print "</td>\n";
  150. print "<td class=\"data\"><input type=\"text\" name='f_nagios[]' value='{$row['nagios_template']}'></td>\n";
  151. print "<td class=\"data\"></td>\n";
  152. print "<td class=\"data\"></td>\n";
  153. print "</tr>\n";
  154. }
  155. ?>
  156. </table>
  157. <div><input type=text name=new_model value="Unknown">
  158. <input type="submit" name="create" value="<?php echo WEB_btn_add; ?>">
  159. </div>
  160. </form>
  161. <?php
  162. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  163. ?>