From 5b7eb88b705f27dce88ebab52427c3d7d4cf40b3 Mon Sep 17 00:00:00 2001 From: Andre Lorbach Date: Mon, 23 Mar 2009 14:32:24 +0100 Subject: [PATCH 1/2] Added missing default filter selection for message type filter on search page --- src/include/functions_filters.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/functions_filters.php b/src/include/functions_filters.php index b2c4332..6887cff 100644 --- a/src/include/functions_filters.php +++ b/src/include/functions_filters.php @@ -182,7 +182,7 @@ function InitFilterHelpers() if ( isset($_SESSION['filter_messagetype']) ) $filters['filter_messagetype'] = intval($_SESSION['filter_messagetype']); else - $filters['filter_messagetype'] = array ( IUT_Syslog, IUT_NT_EventReport, IUT_File_Monitor ); + $filters['filter_messagetype'] = array ( IUT_Syslog, IUT_NT_EventReport, IUT_File_Monitor, IUT_WEBSERVERLOG ); $iCount = count($content['filter_messagetype_list']); for ( $i = 0; $i < $iCount; $i++ ) From eeef8ad211cf40236d9899ef7ca49ea8d111491a Mon Sep 17 00:00:00 2001 From: Andre Lorbach Date: Mon, 23 Mar 2009 15:59:14 +0100 Subject: [PATCH 2/2] Fixed Filtering issues when using multiple filters on the same field. The filter handling had to be fixed due earlier filter changes made in the 2.5 beta branch. Numeric based filters will now work as expected again. This also addresse Bug #108. --- src/classes/logstream.class.php | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/classes/logstream.class.php b/src/classes/logstream.class.php index a643977..9168c58 100644 --- a/src/classes/logstream.class.php +++ b/src/classes/logstream.class.php @@ -292,9 +292,6 @@ abstract class LogStream { // Process all filters if ( $this->_filters != null ) { - // Evaluation default for now is true - $bEval = true; - // Loop through set properties foreach( $arrProperitesOut as $propertyname => $propertyvalue ) { @@ -305,6 +302,13 @@ abstract class LogStream { !(is_string($propertyvalue) && strlen($propertyvalue) <= 0) /* Negative because it only matters if the propvalure is a string*/ ) { + // Evaluation default is true + $bEval = true; + + // Default for numeric filters is false! + if ( isset($this->_filters[$propertyname][0]) && $this->_filters[$propertyname][0][FILTER_TYPE] == FILTER_TYPE_NUMBER ) + $bEval = false; + // Extra var needed for number checks! $bIsOrFilter = false; // If enabled we need to check for numbereval later $bOrFilter = false; @@ -462,12 +466,17 @@ abstract class LogStream { // TODO! break; } + + // If was number filter, we apply it the evaluation. + if ( $bIsOrFilter && $bOrFilter) + { + // Fixed binary comparison to | instead of &! + $bEval |= $bOrFilter; + //echo "!" . $bOrFilter . "-" . $bEval . "!
"; + } } - // If was number filter, we apply it the evaluation. - if ( $bIsOrFilter ) - $bEval &= $bOrFilter; - + // Check if evaluation was successfull if ( !$bEval ) { // unmatching filter, reset property array @@ -477,6 +486,7 @@ abstract class LogStream { // return error! return ERROR_FILTER_NOT_MATCH; } + } } @@ -612,11 +622,13 @@ abstract class LogStream { } } +/* OBSELETE CODE foreach( $tmpValues as $mykey => $szValue ) { // First set Filter Mode $tmpValues[$mykey][FILTER_TMP_MODE] = $this->SetFilterIncludeMode($szValue); } +*/ } else {