diff --git a/src/classes/logstream.class.php b/src/classes/logstream.class.php index b233ad0..4ceafaf 100644 --- a/src/classes/logstream.class.php +++ b/src/classes/logstream.class.php @@ -281,6 +281,7 @@ abstract class LogStream { { // Split key and value $tmpArray = explode(":", $myEntry, 2); +//print_r ( $tmpArray ); // Continue if empty filter! if ( strlen(trim($tmpArray[FILTER_TMP_VALUE])) == 0 ) @@ -643,9 +644,20 @@ abstract class LogStream { $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE] = $tmpArray[FILTER_TMP_VALUE]; } - // Replace + with spaces - $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE] = str_replace( '+', ' ', $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE]); - + // Reverse string prepareation + $searchArray = array( + '/(?_filters[$tmpKeyName][$iNum][FILTER_VALUE] = preg_replace( $searchArray, $replaceArray, $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE] ); +// $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE] = str_replace( '+', ' ', $this->_filters[$tmpKeyName][$iNum][FILTER_VALUE]); // --- } diff --git a/src/index.php b/src/index.php index 546c4b4..3dda9f1 100644 --- a/src/index.php +++ b/src/index.php @@ -565,7 +565,7 @@ if ( isset($content['Sources'][$currentSourceID]) ) // Set some basic variables first $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = $logArray[$mycolkey]; // May contain the field value trunscated $content['syslogmessages'][$counter]['values'][$mycolkey]['rawfieldvalue'] = $logArray[$mycolkey]; // helper variable used for Popups! - $content['syslogmessages'][$counter]['values'][$mycolkey]['encodedfieldvalue'] = str_replace(' ', '+', $logArray[$mycolkey]); // Convert into filter format for submenus + $content['syslogmessages'][$counter]['values'][$mycolkey]['encodedfieldvalue'] = PrepareStringForSearch($logArray[$mycolkey]); // Convert into filter format for submenus // --- Check for reached string character limit if ( $mycolkey != SYSLOG_MESSAGE ) @@ -972,9 +972,18 @@ function HighLightString($highlightArray, $strmsg) return $strmsg; } +/* +* Prepare a string for search! spaces will be replaces with a single + +* + will be replaced with a double ++ +*/ function PrepareStringForSearch($myString) { - return str_replace(" ", "+", $myString); + // Create Find & Replace arrays + $searchArray = array("+", " "); + $replaceArray = array("++", "+"); + + // str_replace(' ', '+', $logArray[$mycolkey]); + return str_replace($searchArray, $replaceArray, $myString); } function AddOnClickMenu(&$fieldGridItem, $fieldType, $szSearchFieldName, $szFieldDisplayNameID, $searchOnline = false)