diff options
Diffstat (limited to 'config/widget-snort/snort_alerts.widget.php')
-rw-r--r-- | config/widget-snort/snort_alerts.widget.php | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/config/widget-snort/snort_alerts.widget.php b/config/widget-snort/snort_alerts.widget.php index e488bc49..ddf8ac59 100644 --- a/config/widget-snort/snort_alerts.widget.php +++ b/config/widget-snort/snort_alerts.widget.php @@ -25,15 +25,17 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +require_once("guiconfig.inc"); +require_once("/usr/local/www/widgets/include/widget-snort.inc"); + global $config, $g; /* array sorting */ function sksort(&$array, $subkey="id", $sort_ascending=false) { /* an empty array causes sksort to fail - this test alleviates the error */ if(empty($array)) - { - return false; - } + return false; if (count($array)) { $temp_array[key($array)] = array_shift($array); }; @@ -58,7 +60,14 @@ function sksort(&$array, $subkey="id", $sort_ascending=false) { }; /* check if firewall widget variable is set */ -if (!isset($nentries)) $nentries = 5; +$nentries = $config['widgets']['widget_snort_display_lines']; +if (!isset($nentries) || $nentries < 0) $nentries = 5; + +if(isset($_POST['widget_snort_display_lines'])) { + $config['widgets']['widget_snort_display_lines'] = $_POST['widget_snort_display_lines']; + write_config("Saved Snort Alerts Widget Displayed Lines Parameter via Dashboard"); + header("Location: ../../index.php"); +} /* check if Snort include file exists before we use it */ if (file_exists("/usr/local/pkg/snort/snort.inc")) { @@ -89,7 +98,9 @@ if (file_exists("/usr/local/pkg/snort/snort.inc")) { continue; $snort_alerts[$counter]['instanceid'] = $a_instance[$instanceid]['interface']; - $snort_alerts[$counter]['timestamp'] = $fields[0]; + // fields[0] is the timestamp. Reverse its date order to YY/MM/DD for proper sorting + $tmp = substr($fields[0],6,2) . '/' . substr($fields[0],0,2) . '/' . substr($fields[0],3,2); + $snort_alerts[$counter]['timestamp'] = str_replace(substr($fields[0],0,8),$tmp,$fields[0]); $snort_alerts[$counter]['timeonly'] = substr($fields[0], strpos($fields[0], '-')+1, -8); $snort_alerts[$counter]['dateonly'] = substr($fields[0], 0, strpos($fields[0], '-')); $snort_alerts[$counter]['src'] = $fields[6]; @@ -118,6 +129,16 @@ if (file_exists("/usr/local/pkg/snort/snort.inc")) { /* display the result */ ?> + +<input type="hidden" id="snort_alerts-config" name="snort_alerts-config" value="" /> +<div id="snort_alerts-settings" class="widgetconfigdiv" style="display:none;"> + <form action="/widgets/widgets/snort_alerts.widget.php" method="post" name="iformd"> + Enter number of recent alerts to display (default is 5)<br/> + <input type="text" size="5" name="widget_snort_display_lines" class="formfld unknown" id="widget_snort_display_lines" value="<?= $config['widgets']['widget_snort_display_lines'] ?>" /> + <input id="submitd" name="submitd" type="submit" class="formbtn" value="Save" /> + </form> +</div> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr class="snort-alert-header"> @@ -147,3 +168,13 @@ if (is_array($snort_alerts)) { ?> </tbody> </table> + +<!-- needed to display the widget settings menu --> +<script type="text/javascript"> +//<![CDATA[ + selectIntLink = "snort_alerts-configure"; + textlink = document.getElementById(selectIntLink); + textlink.style.display = "inline"; +//]]> +</script> + |