1 | <div class="panel panel-default panel-condensed"> |
||
2 | <div class="panel-heading"> |
||
3 | <strong>IPv4 Addresses</strong> |
||
4 | </div> |
||
5 | <table id="ipv4-search" class="table table-hover table-condensed table-striped"> |
||
6 | <thead> |
||
7 | <tr> |
||
8 | <th data-column-id="hostname" data-order="asc">Device</th> |
||
9 | <th data-column-id="interface">Interface</th> |
||
10 | <th data-column-id="address" data-sortable="false" data-formatter="tooltip">Address</th> |
||
11 | <th data-column-id="description" data-sortable="false" data-formatter="tooltip">Description</th> |
||
12 | </tr> |
||
13 | </thead> |
||
14 | </table> |
||
15 | </div> |
||
16 | |||
17 | <script> |
||
18 | |||
19 | var grid = $("#ipv4-search").bootgrid({ |
||
20 | ajax: true, |
||
21 | rowCount: [50, 100, 250, -1], |
||
22 | templates: { |
||
23 | header: "<div id=\"{{ctx.id}}\" class=\"{{css.header}}\"><div class=\"row\">"+ |
||
24 | "<div class=\"col-sm-9 actionBar\"><span class=\"pull-left\">"+ |
||
25 | "<form method=\"post\" action=\"\" class=\"form-inline\" role=\"form\">"+ |
||
26 | "<?php echo addslashes(csrf_field()) ?>"+ |
||
27 | "<div class=\"form-group\">"+ |
||
28 | "<select name=\"device_id\" id=\"device_id\" class=\"form-control input-sm\">"+ |
||
29 | "<option value=\"\">All Devices</option>"+ |
||
30 | <?php |
||
31 | |||
32 | $sql = 'SELECT `devices`.`device_id`,`hostname`,`sysName` FROM `devices`'; |
||
33 | $param = []; |
||
34 | |||
35 | if (! Auth::user()->hasGlobalRead()) { |
||
36 | $device_ids = Permissions::devicesForUser()->toArray() ?: [0]; |
||
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
37 | $where .= ' WHERE `devices`.`device_id` IN ' . dbGenPlaceholders(count($device_ids)); |
||
38 | $param = array_merge($param, $device_ids); |
||
39 | } |
||
40 | |||
41 | $sql .= " $where ORDER BY `hostname`"; |
||
42 | |||
43 | foreach (dbFetchRows($sql, $param) as $data) { |
||
44 | echo '"<option value=\"' . $data['device_id'] . '\""+'; |
||
45 | if ($data['device_id'] == $_POST['device_id']) { |
||
46 | echo '" selected "+'; |
||
47 | } |
||
48 | |||
49 | echo '">' . format_hostname($data, $data['hostname']) . '</option>"+'; |
||
50 | } |
||
51 | ?> |
||
52 | "</select>"+ |
||
53 | "</div> "+ |
||
54 | "<div class=\"form-group\">"+ |
||
55 | "<select name=\"interface\" id=\"interface\" class=\"form-control input-sm\">"+ |
||
56 | "<option value=\"\">All Interfaces</option>"+ |
||
57 | "<option value=\"Loopback%\""+ |
||
58 | <?php |
||
59 | if ($_POST['interface'] == 'Loopback%') { |
||
60 | echo '" selected "+'; |
||
61 | } |
||
62 | |||
63 | ?> |
||
64 | ">Loopbacks</option>"+ |
||
65 | "<option value=\"Vlan%\""+ |
||
66 | <?php |
||
67 | if ($_POST['interface'] == 'Vlan%') { |
||
68 | echo '" selected "+'; |
||
69 | } |
||
70 | |||
71 | ?> |
||
72 | ">VLANs</option>"+ |
||
73 | "</select>"+ |
||
74 | "</div> "+ |
||
75 | "<div class=\"form-group\">"+ |
||
76 | "<input type=\"text\" name=\"address\" id=\"address\" size=40 value=\"<?php echo $_POST['address']; ?>\" class=\"form-control input-sm\" placeholder=\"IPv4 Address\"/>"+ |
||
77 | "</div> "+ |
||
78 | "<button type=\"submit\" class=\"btn btn-default input-sm\">Search</button>"+ |
||
79 | "</form></span></div>"+ |
||
80 | "<div class=\"col-sm-3 actionBar\"><p class=\"{{css.actions}}\"></p></div></div></div>" |
||
81 | }, |
||
82 | post: function () |
||
83 | { |
||
84 | return { |
||
85 | id: "address-search", |
||
86 | search_type: "ipv4", |
||
87 | device_id: '<?php echo htmlspecialchars($_POST['device_id']); ?>', |
||
88 | interface: '<?php echo $_POST['interface']; ?>', |
||
89 | address: '<?php echo $_POST['address']; ?>' |
||
90 | }; |
||
91 | }, |
||
92 | url: "ajax_table.php", |
||
93 | formatters: { |
||
94 | "tooltip": function (column, row) { |
||
95 | var value = row[column.id]; |
||
96 | return "<span title=\'" + value + "\' data-toggle=\'tooltip\'>" + value + "</span>"; |
||
97 | }, |
||
98 | }, |
||
99 | }); |
||
100 | |||
101 | </script> |
||
102 |