From cf0922ddb78f0eb0d137c3d96ba91b69a59385f4 Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Fri, 5 Jul 2013 03:48:40 +0000 Subject: [PATCH] Add uuid filter for the log viewer. Thanks to soapee01. --- app/log_viewer/app_languages.php | 4 ++- app/log_viewer/log_viewer.php | 59 ++++++++++++++++++++------------ 2 files changed, 41 insertions(+), 22 deletions(-) diff --git a/app/log_viewer/app_languages.php b/app/log_viewer/app_languages.php index 25608fbe28..6d9eb3ac9b 100644 --- a/app/log_viewer/app_languages.php +++ b/app/log_viewer/app_languages.php @@ -24,11 +24,12 @@ Mark J Crane James Rose */ - $text['label-log-viewer']['en-us'] = 'Log Viewer'; $text['label-line-num']['en-us'] = 'Show Line Numbers'; $text['label-sort']['en-us'] = 'Sort Descending'; + $text['label-filter']['en-us'] = 'Filter'; + $text['description-filter']['en-us'] = 'Filtering the log with the text:'; $text['button-reload']['en-us'] = 'Reload'; $text['label-kb']['en-us'] = 'KB'; //KiloBytes $text['button-download']['en-us'] = 'Download Logs'; @@ -37,6 +38,7 @@ $text['label-syntax']['en-us'] = 'Syntax Highlighted'; $text['label-open-at']['en-us'] = 'opening at'; $text['label-open-file']['en-us'] = 'opening entire file'; + $text['error-open-file']['en-us'] = 'Unable to open file!'; ?> \ No newline at end of file diff --git a/app/log_viewer/log_viewer.php b/app/log_viewer/log_viewer.php index 660b3fafe2..16ff1f5bbd 100644 --- a/app/log_viewer/log_viewer.php +++ b/app/log_viewer/log_viewer.php @@ -83,10 +83,11 @@ echo " ".$text['label-log-viewer']."
\n"; echo " \n"; echo "
\n"; echo " \n"; -echo " "; -echo " "; -echo " Display ".$text['label-kb'].""; -echo " "; +echo " "; +echo " "; +echo " "; +echo " Display ".$text['label-kb'].""; +echo " "; echo " \n"; echo "
\n"; echo " \n"; @@ -167,12 +168,16 @@ if (permission_exists('log_view')) { else { $user_filesize = $_POST['fs'] * 1024; } + if (strlen($_REQUEST['filter']) > 0){ + $uuid_filter = $_REQUEST['filter']; + echo "
".$text['description-filter']." " . $uuid_filter . "
"; + } } //echo "Log File Size: " . $file_size . " bytes.
"; echo "
".$text['label-displaying']." " . number_format($user_filesize,0,'.',',') . " of " . number_format($file_size,0,'.',',') . " ".$text['label-bytes'].".


"; - $file = fopen($log_file, "r") or exit("Unable to open file!"); + $file = fopen($log_file, "r") or exit($text['error-open-file']); //set pointer in file if ($user_filesize >= '0') { @@ -221,27 +226,39 @@ if (permission_exists('log_view')) { $log_line = fgets($file); $byte_count++; $noprint = false; - foreach ($arr_filter as $v1) { - $pos = strpos($log_line, $v1['pattern']); - //echo "
POS is: '$pos'
"; - if ($pos !== false){ - //color adjustments on words in log line - for ($i=2; $i<=$MAXEL; $i++){ - if (isset ($v1["pattern".$i])){ - $log_line = str_replace($v1["pattern".$i], "{$v1["pattern".$i]}", $log_line); - } - } - $ary_output[] = "".$log_line."
"; - $noprint = true; + $skip_line = false; + if (!empty($uuid_filter) ) { + $uuid_match = strpos($log_line, $uuid_filter); + if ($uuid_match === false) { + $skip_line = true; + } + else { + $skip_line = false; } } - if ($noprint !== true){ - //more firefox workaround... - //echo "

"; + if ($skip_line === false) { + foreach ($arr_filter as $v1) { + $pos = strpos($log_line, $v1['pattern']); + //echo "
POS is: '$pos'
"; + if ($pos !== false){ + //color adjustments on words in log line + for ($i=2; $i<=$MAXEL; $i++){ + if (isset ($v1["pattern".$i])){ + $log_line = str_replace($v1["pattern".$i], "{$v1["pattern".$i]}", $log_line); + } + } + $ary_output[] = "".$log_line."
"; + $noprint = true; + } + } - $ary_output[] = "".htmlentities($log_line)."
"; + if ($noprint !== true){ + //more firefox workaround... + //echo "

"; + $ary_output[] = "".$log_line."
"; + } } }