diff options
author | NOYB <Al_Stu@Frontier.com> | 2016-01-25 00:39:58 -0800 |
---|---|---|
committer | Stephen Beaver <sbeaver@netgate.com> | 2016-01-25 10:22:41 -0500 |
commit | 91b2212f1c49a3198105cfe9b938081fef8186ba (patch) | |
tree | 0ce748c2f3cd34ef511b773fd262db2049c37afc /src/usr/local/www/widgets | |
parent | 556d26c829fb8feef48004be993830688159c930 (diff) | |
download | pfsense-91b2212f1c49a3198105cfe9b938081fef8186ba.zip pfsense-91b2212f1c49a3198105cfe9b938081fef8186ba.tar.gz |
Widget - Firewall Log - Tweaks
Add a table row when there are no entries to prevent scroll bars after ajax update.
Add no logs to display message.
Add update interval configuration setting.
Add configuration form placeholders.
Don't include ':' when no port such as for ICMP.
Remove unused block of code. AJAX is using get method.
Diffstat (limited to 'src/usr/local/www/widgets')
-rw-r--r-- | src/usr/local/www/widgets/widgets/log.widget.php | 60 |
1 files changed, 43 insertions, 17 deletions
diff --git a/src/usr/local/www/widgets/widgets/log.widget.php b/src/usr/local/www/widgets/widgets/log.widget.php index 4455ab0..967d9dd 100644 --- a/src/usr/local/www/widgets/widgets/log.widget.php +++ b/src/usr/local/www/widgets/widgets/log.widget.php @@ -63,8 +63,12 @@ require_once("functions.inc"); /* In an effort to reduce duplicate code, many shared functions have been moved here. */ require_once("filter_log.inc"); -if (is_numeric($_POST['filterlogentries'])) { - $config['widgets']['filterlogentries'] = $_POST['filterlogentries']; +if ($_POST) { + if (is_numeric($_POST['filterlogentries'])) { + $config['widgets']['filterlogentries'] = $_POST['filterlogentries']; + } else { + unset($config['widgets']['filterlogentries']); + } $acts = array(); if ($_POST['actpass']) { @@ -90,6 +94,12 @@ if (is_numeric($_POST['filterlogentries'])) { unset($config['widgets']['filterlogentriesinterfaces']); } + if (is_numeric($_POST['filterlogentriesinterval'])) { + $config['widgets']['filterlogentriesinterval'] = $_POST['filterlogentriesinterval']; + } else { + unset($config['widgets']['filterlogentriesinterval']); + } + write_config(gettext("Saved Filter Log Entries via Dashboard")); Header("Location: /"); exit(0); @@ -106,20 +116,11 @@ $filterfieldsarray = array( "interface" => $nentriesinterfaces ); -$filter_logfile = "{$g['varlog_path']}/filter.log"; +$nentriesinterval = isset($config['widgets']['filterlogentriesinterval']) ? $config['widgets']['filterlogentriesinterval'] : 60; -/* AJAX related routines */ -if (isset($_POST['lastsawtime'])) { - $filterlog = conv_log_filter($filter_logfile, $nentries, $nentries + 20); +$filter_logfile = "{$g['varlog_path']}/filter.log"; - foreach ($filterlog as $idx => $row) { - if (strtotime($log_row['time']) <= $_POST['lastsawtime']) { - unset($filterlog[$idx]); - } - } -} else { - $filterlog = conv_log_filter($filter_logfile, $nentries, 50, $filterfieldsarray); -} +$filterlog = conv_log_filter($filter_logfile, $nentries, 50, $filterfieldsarray); ?> <script type="text/javascript"> //<![CDATA[ @@ -178,12 +179,24 @@ if (isset($_POST['lastsawtime'])) { title="<?=gettext("Reverse Resolve with DNS");?>"><?=$srcIP?></a> </td> <td><a href="diag_dns.php?host=<?=$filterent['dstip']?>" - title="<?=gettext("Reverse Resolve with DNS");?>"><?=$dstIP?></a>:<?=htmlspecialchars($filterent['dstport'])?> + title="<?=gettext("Reverse Resolve with DNS");?>"><?=$dstIP?></a><?php + if ($filterent['dstport']) { + print ':' . htmlspecialchars($filterent['dstport']); + } + ?> </td> </tr> <?php endforeach; ?> +<?php + if (count($filterlog) == 0) { + print '<tr class="text-nowrap"><td colspan=5 class="text-center">'; + print gettext('No logs to display'); + print '</td></tr>'; + } +?> + </tbody> </table> @@ -214,7 +227,7 @@ function logWidgetUpdateFromServer(){ } events.push(function(){ - setInterval('logWidgetUpdateFromServer()', 60*1000); + setInterval('logWidgetUpdateFromServer()', <?=$nentriesinterval?>*1000); }); //]]> </script> @@ -223,12 +236,16 @@ events.push(function(){ </div> <div id="widget-<?=$widgetname?>_panel-footer" class="panel-footer collapse"> +<?php +$pconfig['nentries'] = isset($config['widgets']['filterlogentries']) ? $config['widgets']['filterlogentries'] : ''; +$pconfig['nentriesinterval'] = isset($config['widgets']['filterlogentriesinterval']) ? $config['widgets']['filterlogentriesinterval'] : ''; +?> <form action="/widgets/widgets/log.widget.php" method="post" class="form-horizontal"> <div class="form-group"> <label for="filterlogentries" class="col-sm-4 control-label"><?=gettext('Number of entries')?></label> <div class="col-sm-6"> - <input type="number" name="filterlogentries" id="filterlogentries" value="<?=$nentries?>" + <input type="number" name="filterlogentries" id="filterlogentries" value="<?=$pconfig['nentries']?>" placeholder="5" min="1" max="20" class="form-control" /> </div> </div> @@ -267,6 +284,15 @@ events.push(function(){ </div> <div class="form-group"> + <label for="filterlogentriesinterval" class="col-sm-4 control-label"><?=gettext('Update interval')?></label> + <div class="col-sm-4"> + <input type="number" name="filterlogentriesinterval" id="filterlogentriesinterval" value="<?=$pconfig['nentriesinterval']?>" placeholder="60" + min="1" class="form-control" /> + </div> + <?=gettext('Seconds');?> + </div> + + <div class="form-group"> <div class="col-sm-offset-4 col-sm-6"> <button type="submit" class="btn btn-default"><?=gettext('Save')?></button> </div> |