diff --git a/src/classes/logstreamdisk.class.php b/src/classes/logstreamdisk.class.php
index d0ab195..c689374 100644
--- a/src/classes/logstreamdisk.class.php
+++ b/src/classes/logstreamdisk.class.php
@@ -185,6 +185,9 @@ class LogStreamDisk extends LogStream {
// Line Parser Hook here
$this->_logStreamConfigObj->_lineParser->ParseLine($arrProperitesOut[SYSLOG_MESSAGE], $arrProperitesOut);
+ // Set uID to the PropertiesOut!
+ $arrProperitesOut[SYSLOG_UID] = $uID;
+
// Loop until the filter applies, or another error occurs.
} while ( $this->ApplyFilters($ret, $arrProperitesOut) != SUCCESS && $ret == SUCCESS );
diff --git a/src/config.php b/src/config.php
index ed2a162..0a53893 100644
--- a/src/config.php
+++ b/src/config.php
@@ -48,19 +48,29 @@ $CFG['UserDBPass'] = "";
// ---
// --- Misc Options
-$CFG['MiscShowDebugMsg'] = 1;
-$CFG["MiscShowPageRenderStats"] = 1; // If enabled, you will see Pagerender Settings
+$CFG['MiscShowDebugMsg'] = 0; // if enabled, you will get additional output on certain places
+$CFG["MiscShowPageRenderStats"] = 1; // If enabled, you will see Pagerender Settings
// ---
// --- Default Frontend Options
$CFG['ViewUseTodayYesterday'] = 1; // If enabled, the date from today and yesterday is displayed as "today" and "yesterday"
-$CFG['ViewMessageCharacterLimit'] = 100; // Default character limit for the message gets trunscated.
+$CFG['ViewMessageCharacterLimit'] = 80; // Default character limit for the message gets trunscated.
$CFG['ViewEntriesPerPage'] = 50; // Default number of syslog entries shown per page
$CFG['ViewEnableDetailPopups'] = 1; // If enabled, you will see additional Details for each syslog message on mouse over.
$CFG['SearchCustomButtonCaption'] = "I'd like to feel sad"; // Default caption for the custom fast search button
$CFG['SearchCustomButtonSearch'] = "error"; // Default search string for the custom search button
+// ---
+// --- Define which fields you want to see
+//$CFG['ShowMessage'] = true; // If enabled, the Message column will be appended to the columns list.
+$CFG['Columns'][] = SYSLOG_DATE;
+$CFG['Columns'][] = SYSLOG_FACILITY;
+$CFG['Columns'][] = SYSLOG_SEVERITY;
+$CFG['Columns'][] = SYSLOG_HOST;
+$CFG['Columns'][] = SYSLOG_SYSLOGTAG;
+$CFG['Columns'][] = SYSLOG_MESSAGETYPE;
+$CFG['Columns'][] = SYSLOG_MESSAGE;
// ---
// --- Source Options
diff --git a/src/css/defaults.css b/src/css/defaults.css
index 6b1fc11..a6f98f6 100644
--- a/src/css/defaults.css
+++ b/src/css/defaults.css
@@ -22,7 +22,7 @@
display: none;
}
-.syslogdetails, a.syslogdetails, a.syslogdetails:link
+.syslogdetails, a.syslogdetails, a.syslogdetails:link, a.syslogdetails:active, a.syslogdetails:visited
{
font-weight:normal;
text-decoration:none;
diff --git a/src/include/constants_filters.php b/src/include/constants_filters.php
index 44ffe94..054e8e8 100644
--- a/src/include/constants_filters.php
+++ b/src/include/constants_filters.php
@@ -49,10 +49,4 @@ define('FILTER_MODE', 'filtermode');
define('FILTER_MODE_INCLUDE', 0);
define('FILTER_MODE_EXCLUDE', 1);
-
-// Defines which kind of filters we have
-define('FILTER_TYPE_STRING', 0);
-define('FILTER_TYPE_NUMBER', 1);
-define('FILTER_TYPE_DATE', 2);
-
?>
\ No newline at end of file
diff --git a/src/include/constants_logstream.php b/src/include/constants_logstream.php
index af6e92b..16c399a 100644
--- a/src/include/constants_logstream.php
+++ b/src/include/constants_logstream.php
@@ -24,7 +24,8 @@ if ( !defined('IN_PHPLOGCON') )
// --- Some custom defines
-// Properties we need from the stream class
+// Define properties names of all know fields
+define('SYSLOG_UID', 'uID');
define('SYSLOG_DATE', 'timereported');
define('SYSLOG_DATE_FORMATED', 'timereported_formatted');
define('SYSLOG_FACILITY', 'syslogfacility');
@@ -38,6 +39,69 @@ define('SYSLOG_MESSAGETRUNSCATED', 'msgtrunscated');
define('SYSLOG_MESSAGETYPE', 'IUT');
define('SYSLOG_PROCESSID', 'procid');
+// Defines which kind of field types we have
+define('FILTER_TYPE_STRING', 0);
+define('FILTER_TYPE_NUMBER', 1);
+define('FILTER_TYPE_DATE', 2);
+
+// Predefine fields array!
+
+$fields[SYSLOG_UID]['FieldID'] = SYSLOG_UID;
+$fields[SYSLOG_UID]['FieldCaptionID'] = 'LN_FIELDS_UID';
+$fields[SYSLOG_UID]['FieldType'] = FILTER_TYPE_NUMBER;
+$fields[SYSLOG_UID]['Sortable'] = false;
+$fields[SYSLOG_UID]['DefaultWidth'] = "50";
+$fields[SYSLOG_UID]['FieldAlign'] = "center";
+$fields[SYSLOG_DATE]['FieldID'] = SYSLOG_DATE;
+$fields[SYSLOG_DATE]['FieldCaptionID'] = 'LN_FIELDS_DATE';
+$fields[SYSLOG_DATE]['FieldType'] = FILTER_TYPE_DATE;
+$fields[SYSLOG_DATE]['Sortable'] = true;
+$fields[SYSLOG_DATE]['DefaultWidth'] = "110";
+$fields[SYSLOG_DATE]['FieldAlign'] = "center";
+$fields[SYSLOG_FACILITY]['FieldID'] = SYSLOG_FACILITY;
+$fields[SYSLOG_FACILITY]['FieldCaptionID'] = 'LN_FIELDS_FACILITY';
+$fields[SYSLOG_FACILITY]['FieldType'] = FILTER_TYPE_NUMBER;
+$fields[SYSLOG_FACILITY]['Sortable'] = true;
+$fields[SYSLOG_FACILITY]['DefaultWidth'] = "50";
+$fields[SYSLOG_FACILITY]['FieldAlign'] = "center";
+$fields[SYSLOG_SEVERITY]['FieldID'] = SYSLOG_SEVERITY;
+$fields[SYSLOG_SEVERITY]['FieldCaptionID'] = 'LN_FIELDS_SEVERITY';
+$fields[SYSLOG_SEVERITY]['FieldType'] = FILTER_TYPE_NUMBER;
+$fields[SYSLOG_SEVERITY]['Sortable'] = true;
+$fields[SYSLOG_SEVERITY]['DefaultWidth'] = "50";
+$fields[SYSLOG_SEVERITY]['FieldAlign'] = "center";
+$fields[SYSLOG_HOST]['FieldID'] = SYSLOG_HOST;
+$fields[SYSLOG_HOST]['FieldCaptionID'] = 'LN_FIELDS_HOST';
+$fields[SYSLOG_HOST]['FieldType'] = FILTER_TYPE_STRING;
+$fields[SYSLOG_HOST]['Sortable'] = true;
+$fields[SYSLOG_HOST]['DefaultWidth'] = "65";
+$fields[SYSLOG_HOST]['FieldAlign'] = "center";
+$fields[SYSLOG_SYSLOGTAG]['FieldID'] = SYSLOG_SYSLOGTAG;
+$fields[SYSLOG_SYSLOGTAG]['FieldCaptionID'] = 'LN_FIELDS_SYSLOGTAG';
+$fields[SYSLOG_SYSLOGTAG]['FieldType'] = FILTER_TYPE_STRING;
+$fields[SYSLOG_SYSLOGTAG]['Sortable'] = true;
+$fields[SYSLOG_SYSLOGTAG]['DefaultWidth'] = "70";
+$fields[SYSLOG_SYSLOGTAG]['FieldAlign'] = "center";
+$fields[SYSLOG_MESSAGETYPE]['FieldID'] = SYSLOG_MESSAGETYPE;
+$fields[SYSLOG_MESSAGETYPE]['FieldCaptionID'] = 'LN_FIELDS_MESSAGETYPE';
+$fields[SYSLOG_MESSAGETYPE]['FieldType'] = FILTER_TYPE_NUMBER;
+$fields[SYSLOG_MESSAGETYPE]['Sortable'] = true;
+$fields[SYSLOG_MESSAGETYPE]['DefaultWidth'] = "90";
+$fields[SYSLOG_MESSAGETYPE]['FieldAlign'] = "center";
+$fields[SYSLOG_PROCESSID]['FieldID'] = SYSLOG_PROCESSID;
+$fields[SYSLOG_PROCESSID]['FieldCaptionID'] = 'LN_FIELDS_PROCESSID';
+$fields[SYSLOG_PROCESSID]['FieldType'] = FILTER_TYPE_NUMBER;
+$fields[SYSLOG_PROCESSID]['Sortable'] = true;
+$fields[SYSLOG_PROCESSID]['DefaultWidth'] = "65";
+$fields[SYSLOG_PROCESSID]['FieldAlign'] = "center";
+$fields[SYSLOG_MESSAGE]['FieldID'] = SYSLOG_MESSAGE;
+$fields[SYSLOG_MESSAGE]['FieldCaptionID'] = 'LN_FIELDS_MESSAGE';
+$fields[SYSLOG_MESSAGE]['FieldType'] = FILTER_TYPE_STRING;
+$fields[SYSLOG_MESSAGE]['Sortable'] = false;
+$fields[SYSLOG_MESSAGE]['DefaultWidth'] = "100%";
+$fields[SYSLOG_MESSAGE]['FieldAlign'] = "left";
+
+
// MonitorWare InfoUnit Defines
define('IUT_Unknown', '0');
define('IUT_Syslog', '1');
diff --git a/src/include/functions_common.php b/src/include/functions_common.php
index e3da01a..299384d 100644
--- a/src/include/functions_common.php
+++ b/src/include/functions_common.php
@@ -24,6 +24,7 @@ if ( !defined('IN_PHPLOGCON') )
// --- Basic Includes
include($gl_root_path . 'include/constants_general.php');
+include($gl_root_path . 'include/constants_logstream.php');
include($gl_root_path . 'config.php');
include($gl_root_path . 'classes/class_template.php');
@@ -45,7 +46,7 @@ $LANG_EN = "en"; // Used for fallback
$LANG = "en"; // Default language
// Default Template vars
-$content['BUILDNUMBER'] = "2.0.105";
+$content['BUILDNUMBER'] = "2.0.107";
$content['TITLE'] = "PhpLogCon - Release " . $content['BUILDNUMBER']; // Title of the Page
$content['BASEPATH'] = $gl_root_path;
$content['EXTRA_METATAGS'] = "";
@@ -84,7 +85,11 @@ function InitPhpLogConConfigFile()
// Easier DB Access
define('DB_CONFIG', $CFG['UserDBPref'] . "config");
- // Copy all entries into content variable
+ // If DEBUG Mode is enabled, we prepend the UID field into the col list!
+ if ( $CFG['MiscShowDebugMsg'] == 1 )
+ array_unshift($CFG['Columns'], SYSLOG_UID);
+
+ // Now Copy all entries into content variable
foreach ($CFG as $key => $value )
$content[$key] = $value;
diff --git a/src/include/functions_frontendhelpers.php b/src/include/functions_frontendhelpers.php
index a3ebfe9..ec74202 100644
--- a/src/include/functions_frontendhelpers.php
+++ b/src/include/functions_frontendhelpers.php
@@ -66,11 +66,14 @@ function CreateCurrentUrl()
if ( strpos($queries[$i], "sourceid") === false )
{
$tmpvars = explode ("=", $queries[$i]);
- // 4Server Selector
- $content['HIDDENVARS'][$counter]['varname'] = $tmpvars[0];
- $content['HIDDENVARS'][$counter]['varvalue'] = $tmpvars[1];
+ if ( isset($tmpvars[1]) ) // Only if value param is set!
+ {
+ // 4Server Selector
+ $content['HIDDENVARS'][$counter]['varname'] = $tmpvars[0];
+ $content['HIDDENVARS'][$counter]['varvalue'] = $tmpvars[1];
- $counter++;
+ $counter++;
+ }
}
}
}
diff --git a/src/index.php b/src/index.php
index 0dffe66..55642be 100644
--- a/src/index.php
+++ b/src/index.php
@@ -34,25 +34,25 @@
// *** Default includes and procedures *** //
define('IN_PHPLOGCON', true);
$gl_root_path = './';
+
+// Now include necessary include files!
include($gl_root_path . 'include/functions_common.php');
include($gl_root_path . 'include/functions_frontendhelpers.php');
include($gl_root_path . 'include/functions_filters.php');
+// Init Langauge first!
+IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/main.php' );
+
// Include LogStream facility
include($gl_root_path . 'classes/logstream.class.php');
InitPhpLogCon();
InitSourceConfigs();
InitFrontEndDefaults(); // Only in WebFrontEnd
+InitFilterHelpers(); // Helpers for frontend filtering!
+// ---
-// Init Langauge first!
-IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/main.php' );
-
-// Helpers for frontend filtering!
-InitFilterHelpers();
-// *** *** //
-
-// --- Extra Stylesheet!
+// --- Define Extra Stylesheet!
$content['EXTRA_STYLESHEET'] = '';
// ---
@@ -82,7 +82,23 @@ $content['EXPAND_HIGHLIGHT'] = "false";
//else
$content['TITLE'] = "phpLogCon :: Home";
-// Read and process filters from search dialog!
+// --- BEGIN Define Helper functions
+function HighLightString($highlightArray, $strmsg)
+{
+ if ( isset($highlightArray) )
+ {
+ // TODO OPTIMIZE - USING FONT TAG as SPAN is HIDDEN if MESSAGE POPUP is ENABNLED!
+ foreach( $highlightArray as $highlightword )
+ $strmsg = preg_replace( "/(" . $highlightword['highlight'] . ")/i", '\\1', $strmsg );
+ }
+
+ // return result
+ return $strmsg;
+}
+
+// ---
+
+// --- Read and process filters from search dialog!
if ( (isset($_POST['search']) || isset($_GET['search'])) && (isset($_POST['filter']) || isset($_GET['filter'])) )
{
// Copy search over
@@ -231,21 +247,30 @@ if ( (isset($_POST['search']) || isset($_GET['search'])) && (isset($_POST['filte
$content['EXPAND_HIGHLIGHT'] = "true";
}
}
-
-
-
// ---
// --- BEGIN Custom Code
if ( isset($content['Sources'][$currentSourceID]) && $content['Sources'][$currentSourceID]['SourceType'] == SOURCE_DISK )
{
+ // Preprocessing the fields we need
+ foreach($content['Columns'] as $mycolkey)
+ {
+ $content['fields'][$mycolkey]['FieldID'] = $mycolkey;
+ $content['fields'][$mycolkey]['FieldCaption'] = $content[ $fields[$mycolkey]['FieldCaptionID'] ];
+ $content['fields'][$mycolkey]['FieldType'] = $fields[$mycolkey]['FieldType'];
+ $content['fields'][$mycolkey]['FieldSortable'] = $fields[$mycolkey]['Sortable'];
+ $content['fields'][$mycolkey]['DefaultWidth'] = $fields[$mycolkey]['DefaultWidth'];
+// $content['fields'][$mycolkey]['FieldAlign'] = $fields[$mycolkey]['FieldAlign'];
+ }
+
// Obtain and get the Config Object
$stream_config = $content['Sources'][$currentSourceID]['ObjRef'];
// Create LogStream Object
$stream = $stream_config->LogStreamFactory($stream_config);
$stream->SetFilter($content['searchstr']);
- $stream->Open( array ( SYSLOG_DATE, SYSLOG_FACILITY, SYSLOG_FACILITY_TEXT, SYSLOG_SEVERITY, SYSLOG_SEVERITY_TEXT, SYSLOG_HOST, SYSLOG_SYSLOGTAG, SYSLOG_MESSAGE, SYSLOG_MESSAGETYPE ), true);
+ $stream->Open( $content['Columns'], true );
+// $stream->Open( array ( SYSLOG_DATE, SYSLOG_FACILITY, SYSLOG_FACILITY_TEXT, SYSLOG_SEVERITY, SYSLOG_SEVERITY_TEXT, SYSLOG_HOST, SYSLOG_SYSLOGTAG, SYSLOG_MESSAGE, SYSLOG_MESSAGETYPE ), true);
$stream->SetReadDirection(EnumReadDirection::Backward);
$uID = $currentUID;
@@ -266,55 +291,7 @@ if ( isset($content['Sources'][$currentSourceID]) && $content['Sources'][$curren
do
{
// Copy Obtained array
- $content['syslogmessages'][] = $logArray;
-
- // Copy UID
- $content['syslogmessages'][$counter]['UID'] = $uID;
-
- // --- Popup Details
- if ( isset($CFG['ViewEnableDetailPopups']) && $CFG['ViewEnableDetailPopups'] == 1 )
- {
- $content['syslogmessages'][$counter]['popupcaption'] = GetAndReplaceLangStr( $content['LN_GRID_POPUPDETAILS'], $content['syslogmessages'][$counter]['UID']);
- $content['syslogmessages'][$counter]['popupdetails'] = "true";
- foreach($content['syslogmessages'][$counter] as $mykey => $myfield)
- {
- // Set key!
- $content['syslogmessages'][$counter]['messagesdetails'][]['fieldtitle']= $mykey;
-
- // Get ArrayIndex
- $myIndex = count($content['syslogmessages'][$counter]['messagesdetails']) - 1;
-
- // --- Set CSS Class
- if ( $myIndex % 2 == 0 )
- $content['syslogmessages'][$counter]['messagesdetails'][$myIndex]['cssclass'] = "line1";
- else
- $content['syslogmessages'][$counter]['messagesdetails'][$myIndex]['cssclass'] = "line2";
- // ---
-
- // Set field value
- $content['syslogmessages'][$counter]['messagesdetails'][$myIndex]['fieldvalue']= $myfield;
- }
- }
- else
- $content['syslogmessages'][$counter]['popupdetails'] = "false";
- // ---
-
- // Set truncasted message for display
- if ( isset($logArray[SYSLOG_MESSAGE]) )
- $content['syslogmessages'][$counter][SYSLOG_MESSAGETRUNSCATED] = GetStringWithHTMLCodes(strlen($logArray[SYSLOG_MESSAGE]) > $CFG['ViewMessageCharacterLimit'] ? substr($logArray[SYSLOG_MESSAGE], 0, $CFG['ViewMessageCharacterLimit'] ) . " ..." : $logArray[SYSLOG_MESSAGE]);
- else
- $content['syslogmessages'][$counter][SYSLOG_MESSAGETRUNSCATED] = "";
-
- if ( isset($content['highlightwords']) )
- {
- // We need to highlight some words ^^!
- foreach( $content['highlightwords'] as $highlightword )
- $content['syslogmessages'][$counter][SYSLOG_MESSAGETRUNSCATED] = preg_replace( "/(" . $highlightword['highlight'] . ")/i", '\\1', $content['syslogmessages'][$counter][SYSLOG_MESSAGETRUNSCATED] );
- }
-
- // --- Create Displayable DataStamp
- $content['syslogmessages'][$counter][SYSLOG_DATE_FORMATED] = GetFormatedDate($content['syslogmessages'][$counter][SYSLOG_DATE]);
- // ---
+// $content['syslogmessages'][] = $logArray;
// --- Set CSS Class
if ( $counter % 2 == 0 )
@@ -323,32 +300,140 @@ if ( isset($content['Sources'][$currentSourceID]) && $content['Sources'][$curren
$content['syslogmessages'][$counter]['cssclass'] = "line2";
// ---
- // --- Set Syslog severity and facility col colors
- if ( isset($content['syslogmessages'][$counter][SYSLOG_SEVERITY]) && strlen($content['syslogmessages'][$counter][SYSLOG_SEVERITY]) > 0)
+ // --- Now we populate the values array!
+ foreach($content['Columns'] as $mycolkey)
{
- $content['syslogmessages'][$counter]['severity_color'] = $severity_colors[$content['syslogmessages'][$counter][SYSLOG_SEVERITY]];
- $content['syslogmessages'][$counter]['severity_cssclass'] = "lineColouredWhite";
- }
- else
- {
- // Use default colour!
- $content['syslogmessages'][$counter]['severity_color'] = $severity_colors[SYSLOG_INFO];
- $content['syslogmessages'][$counter]['severity_cssclass'] = $content['syslogmessages'][$counter]['cssclass'];
- }
+ if ( isset($logArray[$mycolkey]) )
+ {
+ // Set defaults
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['FieldAlign'] = $fields[$mycolkey]['FieldAlign'];
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldcssclass'] = $content['syslogmessages'][$counter]['cssclass'];
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldbgcolor'] = "";
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['hasdetails'] = "false";
- if ( isset($content['syslogmessages'][$counter][SYSLOG_FACILITY]) && strlen($content['syslogmessages'][$counter][SYSLOG_FACILITY]) > 0)
- {
- $content['syslogmessages'][$counter]['facility_color'] = $facility_colors[$content['syslogmessages'][$counter][SYSLOG_FACILITY]];
- $content['syslogmessages'][$counter]['facility_cssclass'] = "lineColouredBlack";
+ if ( $content['fields'][$mycolkey]['FieldType'] == FILTER_TYPE_DATE )
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = GetFormatedDate($logArray[$mycolkey]);
+ }
+ else if ( $content['fields'][$mycolkey]['FieldType'] == FILTER_TYPE_NUMBER )
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = $logArray[$mycolkey];
+
+ // Special style classes and colours for SYSLOG_FACILITY
+ if ( $mycolkey == SYSLOG_FACILITY )
+ {
+ if ( isset($logArray[$mycolkey][SYSLOG_FACILITY]) && strlen($logArray[$mycolkey][SYSLOG_FACILITY]) > 0)
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldbgcolor'] = 'bgcolor="' . $facility_colors[ $logArray[SYSLOG_FACILITY] ] . '" ';
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldcssclass'] = "lineColouredBlack";
+
+ // Set Human readable Facility!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = GetFacilityDisplayName( $logArray[$mycolkey] );
+ }
+ else
+ {
+ // Use default colour!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldbgcolor'] = 'bgcolor="' . $facility_colors[SYSLOG_LOCAL0] . '" ';
+ }
+ }
+ else if ( $mycolkey == SYSLOG_SEVERITY )
+ {
+ if ( isset($logArray[$mycolkey][SYSLOG_SEVERITY]) && strlen($logArray[$mycolkey][SYSLOG_SEVERITY]) > 0)
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldbgcolor'] = 'bgcolor="' . $severity_colors[ $logArray[SYSLOG_SEVERITY] ] . '" ';
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldcssclass'] = "lineColouredWhite";
+
+ // Set Human readable Facility!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = GetSeverityDisplayName( $logArray[$mycolkey] );
+ }
+ else
+ {
+ // Use default colour!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldbgcolor'] = 'bgcolor="' . $severity_colors[SYSLOG_INFO] . '" ';
+ }
+ }
+ else if ( $mycolkey == SYSLOG_MESSAGETYPE )
+ {
+ }
+ }
+ else if ( $content['fields'][$mycolkey]['FieldType'] == FILTER_TYPE_STRING )
+ {
+ // kindly copy!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = $logArray[$mycolkey];
+
+ // Special Handling for the Syslog Message!
+ if ( $mycolkey == SYSLOG_MESSAGE )
+ {
+ // Set truncasted message for display
+ if ( isset($logArray[SYSLOG_MESSAGE]) )
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = GetStringWithHTMLCodes(strlen($logArray[SYSLOG_MESSAGE]) > $CFG['ViewMessageCharacterLimit'] ? substr($logArray[SYSLOG_MESSAGE], 0, $CFG['ViewMessageCharacterLimit'] ) . " ..." : $logArray[SYSLOG_MESSAGE]);
+ }
+ else
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = "";
+
+ // If we need to highlight some words ^^!
+ if ( isset($content['highlightwords']) )
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] = HighLightString( $content['highlightwords'], $content['syslogmessages'][$counter]['values'][$mycolkey]['fieldvalue'] );
+
+ if ( isset($CFG['ViewEnableDetailPopups']) && $CFG['ViewEnableDetailPopups'] == 1 )
+ {
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['popupcaption'] = GetAndReplaceLangStr( $content['LN_GRID_POPUPDETAILS'], $logArray[SYSLOG_UID]);
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['hasdetails'] = "true";
+
+ foreach($content['syslogmessages'][$counter]['values'] as $mykey => $myfield)
+ {
+ // Set Caption!
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][]['detailfieldtitle']= $content['fields'][$mykey]['FieldCaption'];
+
+ // Get ArrayIndex
+ $myIndex = count($content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails']) - 1;
+
+ // --- Set CSS Class
+ if ( $myIndex % 2 == 0 )
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][$myIndex]['detailscssclass'] = "line1";
+ else
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][$myIndex]['detailscssclass'] = "line2";
+ // ---
+
+ // If message field, we need to handle differently!
+ if ( $mykey == SYSLOG_MESSAGE )
+ {
+ if ( isset($content['highlightwords']) )
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][$myIndex]['detailfieldvalue'] = HighLightString( $content['highlightwords'],GetStringWithHTMLCodes($logArray[SYSLOG_MESSAGE]) );
+ else
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][$myIndex]['detailfieldvalue'] = GetStringWithHTMLCodes($logArray[SYSLOG_MESSAGE]);
+ }
+ else // Just set field value
+ $content['syslogmessages'][$counter]['values'][$mycolkey]['messagesdetails'][$myIndex]['detailfieldvalue'] = $myfield['fieldvalue'];
+
+ }
+ }
+
+ }
+ }
+ }
}
- else
+ // ---
+
+ // --- Popup Details
+ if ( isset($CFG['ViewEnableDetailPopups']) && $CFG['ViewEnableDetailPopups'] == 1 )
{
- // Use default colour!
- $content['syslogmessages'][$counter]['facility_color'] = $facility_colors[SYSLOG_LOCAL0];
- $content['syslogmessages'][$counter]['facility_cssclass'] = $content['syslogmessages'][$counter]['cssclass'];
}
+// else
+// $content['syslogmessages'][$counter]['popupdetails'] = "false";
// ---
+/*
+ // --- Prepare message if needed!
+ if ( $CFG['ShowMessage'] == 1 )
+ {
+
+ }
+ else
+ $content['syslogmessages'][$counter]['ShowMessage'] = "false";
+ // ---
+*/
// Increment Counter
$counter++;
} while ($stream->ReadNext($uID, $logArray) == SUCCESS && $counter <= $CFG['ViewEntriesPerPage']);
diff --git a/src/lang/en/main.php b/src/lang/en/main.php
index c52a6c8..4518a0e 100644
--- a/src/lang/en/main.php
+++ b/src/lang/en/main.php
@@ -16,13 +16,6 @@ $content['LN_GEN_PREVIOUSPAGE'] = "Previous Page";
$content['LN_ERROR_INSTALLFILEREMINDER'] = "Warning! You still have NOT removed the 'install.php' from your PhpLogCon main directory!";
$content['LN_TOP_NUM'] = "No.";
$content['LN_TOP_UID'] = "uID";
-$content['LN_GRID_DATE'] = "Date";
-$content['LN_GRID_FACILITY'] = "Facility";
-$content['LN_GRID_SEVERITY'] = "Severity";
-$content['LN_GRID_SYSLOGTAG'] = "SyslogTag";
-$content['LN_GRID_INFOUNIT'] = "InfoUnit";
-$content['LN_GRID_HOST'] = "Source";
-$content['LN_GRID_MSG'] = "Message";
$content['LN_GRID_POPUPDETAILS'] = "Details for Syslogmessage with ID '%1'";
$content['LN_SEARCH_USETHISBLA'] = "Use the form below and your advanced search will appear here";
@@ -37,7 +30,6 @@ $content['LN_HIGHLIGHT'] = "Hightlight >>";
$content['LN_HIGHLIGHT_OFF'] = "Hightlight <<";
$content['LN_HIGHLIGHT_WORDS'] = "Hightlight words comma separated";
-
// Filter Options
$content['LN_FILTER_DATE'] = "Datetime Range";
$content['LN_FILTER_DATEMODE'] = "Select mode";
@@ -60,4 +52,15 @@ $content['LN_FILTER_MESSAGE'] = "Syslog Message";
$content['LN_FILTER_SYSLOGTAG'] = "Syslogtag";
$content['LN_FILTER_SOURCE'] = "Source (Hostname)";
+// Field Captions
+$content['LN_FIELDS_DATE'] = "Date";
+$content['LN_FIELDS_FACILITY'] = "Facility";
+$content['LN_FIELDS_SEVERITY'] = "Severity";
+$content['LN_FIELDS_HOST'] = "Host";
+$content['LN_FIELDS_SYSLOGTAG'] = "Syslogtag";
+$content['LN_FIELDS_PROCESSID'] = "ProcessID";
+$content['LN_FIELDS_MESSAGETYPE'] = "Messagetype";
+$content['LN_FIELDS_UID'] = "uID";
+$content['LN_FIELDS_MESSAGE'] = "Message";
+
?>
\ No newline at end of file
diff --git a/src/templates/index.html b/src/templates/index.html
index daa45d0..292eb49 100644
--- a/src/templates/index.html
+++ b/src/templates/index.html
@@ -92,47 +92,66 @@