summaryrefslogtreecommitdiffstats
path: root/src/etc/inc
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2016-01-05 08:17:03 -0500
committerStephen Beaver <sbeaver@netgate.com>2016-01-05 08:17:03 -0500
commit29e0928f3a732cba3c8dd332c1df8061b1fe6548 (patch)
tree7d6ae4f3fb7b91b37aff5f1249f54520d291facb /src/etc/inc
parentea6b7324a65d2509e60f384e64c2fab4cd808ec9 (diff)
parent8cc5e083fcaf84adb1e1a65ebce80b45b7bb4eef (diff)
downloadpfsense-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.inc35
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) {
OpenPOWER on IntegriCloud