From fb0b22fb130c03cd92d361e044949c404c78b102 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 16 Jun 2011 22:20:12 -0700 Subject: [PATCH] fix admin log viewer (will only read the last 5M of the log, and puts the text into a scrolling div) --- mod/admin.php | 21 +++++++++++++++++++++ view/admin_logs.tpl | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/mod/admin.php b/mod/admin.php index 6f411bdb1b..e657c80533 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -573,11 +573,32 @@ function admin_page_logs(&$a){ ); $t = get_markup_template("admin_logs.tpl"); + + $f = get_config('system','logfile'); + $size = filesize($f); + if($size > 5000000) + $size = 5000000; + + $data = ''; + $fp = fopen($f,'r'); + if($fp) { + $seek = fseek($fp,0-$size,SEEK_END); + if($seek === 0) { + fgets($fp); // throw away the first partial line + $data = str_replace(array("\n","\t"),array('
','    '),escape_tags(fread($fp,$size))); + while(! feof($fp)) + $data .= str_replace(array("\n","\t"),array('
','    '),escape_tags(fread($fp,4096))); + } + fclose($fp); + } + + return replace_macros($t, array( '$title' => t('Administration'), '$page' => t('Logs'), '$submit' => t('Submit'), '$clear' => t('Clear'), + '$data' => $data, '$baseurl' => $a->get_baseurl(), '$logname' => get_config('system','logfile'), diff --git a/view/admin_logs.tpl b/view/admin_logs.tpl index f2939a7ac3..9d133b1553 100644 --- a/view/admin_logs.tpl +++ b/view/admin_logs.tpl @@ -12,6 +12,7 @@

$logname

- +
$data
+