diff options
author | Stephen Beaver <sbeaver@netgate.com> | 2016-01-05 08:17:03 -0500 |
---|---|---|
committer | Stephen Beaver <sbeaver@netgate.com> | 2016-01-05 08:17:03 -0500 |
commit | 29e0928f3a732cba3c8dd332c1df8061b1fe6548 (patch) | |
tree | 7d6ae4f3fb7b91b37aff5f1249f54520d291facb /src/etc/inc | |
parent | ea6b7324a65d2509e60f384e64c2fab4cd808ec9 (diff) | |
parent | 8cc5e083fcaf84adb1e1a65ebce80b45b7bb4eef (diff) | |
download | pfsense-29e0928f3a732cba3c8dd332c1df8061b1fe6548.zip pfsense-29e0928f3a732cba3c8dd332c1df8061b1fe6548.tar.gz |
Merge branch 'Status_-_System_Logs_-_Consolidation' of https://github.com/NOYB/pfsense
* 'Status_-_System_Logs_-_Consolidation' of https://github.com/NOYB/pfsense:
Redmine #5731 Error when setting various system log settings from factory default config
HTML Compliance - Status - System Logs - Firewall Summary View
Fixup AJAX stuff so dynamic updating works.
Rename functions per Phil suggestions.
Remove commented out test code.
Can' t do that here. Remove space between php tags.
Status - System Logs - Consolidate - Firewall Summary View
Status - System Logs - Consolidate - Firewall Dynamic View
Status - System Logs - Consolidate - Common Functions
Diffstat (limited to 'src/etc/inc')
-rw-r--r-- | src/etc/inc/filter_log.inc | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/etc/inc/filter_log.inc b/src/etc/inc/filter_log.inc index 32ba9da..1a34c03 100644 --- a/src/etc/inc/filter_log.inc +++ b/src/etc/inc/filter_log.inc @@ -535,24 +535,39 @@ function find_action_image($action) { } /* AJAX specific handlers */ -function handle_ajax($nentries, $tail = 50) { +function handle_ajax() { global $config; - if ($_GET['lastsawtime'] or $_POST['lastsawtime']) { - global $filter_logfile, $filterent; - if ($_GET['lastsawtime']) { - $lastsawtime = $_GET['lastsawtime']; - } - if ($_POST['lastsawtime']) { - $lastsawtime = $_POST['lastsawtime']; + if (($_GET['lastsawtime'] or $_POST['lastsawtime']) and ($_GET['logfile'] or $_POST['logfile'])) { + + $lastsawtime = getGETPOSTsettingvalue('lastsawtime', null); + $logfile = getGETPOSTsettingvalue('logfile', null); + $nentries = getGETPOSTsettingvalue('nentries', null); + $type = getGETPOSTsettingvalue('type', null); + $filter = getGETPOSTsettingvalue('filter', null); + $interfacefilter = getGETPOSTsettingvalue('interfacefilter', null); + + if (!empty(trim($filter)) || is_numeric($filter)) { + $filter = json_decode($filter, true); # Filter Fields Array or Filter Text } + /* compare lastsawrule's time stamp to filter logs. * afterwards return the newer records so that client * can update AJAX interface screen. */ $new_rules = ""; - $filterlog = conv_log_filter($filter_logfile, $nentries, $tail); + + $filterlog = conv_log_filter($logfile, $nentries, $nentries + 100, $filter, $interfacefilter); + /* We need this to always be in forward order for the AJAX update to work properly */ - $filterlog = isset($config['syslog']['reverse']) ? array_reverse($filterlog) : $filterlog; + /* Since the lines are in reverse order, flip them around if needed based on the user's preference */ + # First get the "General Logging Options" (global) chronological order setting. Then apply specific log override if set. + $reverse = isset($config['syslog']['reverse']); + $specific_log = basename($logfile, '.log') . '_settings'; + if ($config['syslog'][$specific_log]['cronorder'] == 'forward') $reverse = false; + if ($config['syslog'][$specific_log]['cronorder'] == 'reverse') $reverse = true; + + $filterlog = ($reverse) ? array_reverse($filterlog) : $filterlog; + foreach ($filterlog as $log_row) { $row_time = strtotime($log_row['time']); if ($row_time > $lastsawtime) { |