Files
librenms-librenms/html/pages/syslog.inc.php

103 lines
3.2 KiB
PHP
Raw Normal View History

<?php
$no_refresh = TRUE;
$param = array();
if ($vars['action'] == "expunge" && $_SESSION['userlevel'] >= '10')
{
dbQuery("TRUNCATE TABLE `syslog`");
print_message("syslog truncated");
}
$pagetitle[] = "Syslog";
print_optionbar_start();
?>
<form method="post" action="" class="form-inline" role="form" id="result_form">
<div class="form-group">
<label>
<strong>Program</strong>
</label>
<select name="program" id="program" class="form-control input-sm">
<option value="">All Programs</option>
<?php
foreach( dbFetchRows("SELECT DISTINCT `program` FROM `syslog` ORDER BY `program`") as $data ) {
echo("<option value='".$data['program']."'");
if ($data['program'] == $vars['program']) { echo("selected"); }
echo(">".$data['program']."</option>");
}
?>
</select>
</div>
<div class="form-group">
<label>
<strong>Device</strong>
</label>
<select name="device" id="device" class="form-control input-sm">
<option value="">All Devices</option>
<?php
foreach (get_all_devices() as $hostname)
{
$device_id = getidbyname($hostname);
if (device_permitted($device_id)) {
echo("<option value='".$device_id."'");
if ($device_id == $vars['device']) { echo("selected"); }
echo(">".$hostname."</option>");
}
}
?>
</select>
</div>
<div class="form-group">
<label for="dtpickerfrom">From</label>
<input name="from" type="text" class="form-control" id="dtpickerfrom" maxlength="16" value="<?php echo $vars['from']; ?>" placeholder="Any" data-date-format="YYYY-MM-DD HH:mm">
</div>
<div class="form-group">
<label for="dtpickerto">To</label>
<input name="to" type="text" class="form-control" id="dtpickerto" maxlength=16 value="<?php echo $vars['to']; ?>" placeholder="Any" data-date-format="YYYY-MM-DD HH:mm">
</div>
<button type="submit" class="btn btn-default input-sm">Filter</button>
</form>
<?php
print_optionbar_end();
?>
<div class="table-responsive">
<table id="syslog" class="table table-hover table-condensed table-striped">
<thead>
<tr>
<th data-column-id="timestamp" data-order="desc">Datetime</th>
<th data-column-id="device_id">Hostname</th>
<th data-column-id="program">Program</th>
<th data-column-id="msg">Message</th>
</tr>
</thead>
</table>
</div>
<script>
var grid = $("#syslog").bootgrid({
ajax: true,
post: function ()
{
return {
id: "syslog",
device: '<?php echo htmlspecialchars($vars['device']); ?>',
program: '<?php echo htmlspecialchars($vars['program']); ?>',
to: '<?php echo htmlspecialchars($vars['to']); ?>',
from: '<?php echo htmlspecialchars($vars['from']); ?>',
};
},
url: "/ajax_table.php"
});
$(function () {
$("#dtpickerfrom").datetimepicker({useCurrent: true, sideBySide: true, useStrict: false});
$("#dtpickerto").datetimepicker({useCurrent: true, sideBySide: true, useStrict: false});
});
</script>