fix admin log viewer (will only read the last 5M of the log, and puts the text into a scrolling div)

This commit is contained in:
Friendika 2011-06-16 22:20:12 -07:00
parent a66083b3e4
commit fb0b22fb13
2 changed files with 23 additions and 1 deletions

View file

@ -573,11 +573,32 @@ function admin_page_logs(&$a){
); );
$t = get_markup_template("admin_logs.tpl"); $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('<br />','&nbsp;&nbsp;&nbsp;&nbsp;'),escape_tags(fread($fp,$size)));
while(! feof($fp))
$data .= str_replace(array("\n","\t"),array('<br />','&nbsp;&nbsp;&nbsp;&nbsp;'),escape_tags(fread($fp,4096)));
}
fclose($fp);
}
return replace_macros($t, array( return replace_macros($t, array(
'$title' => t('Administration'), '$title' => t('Administration'),
'$page' => t('Logs'), '$page' => t('Logs'),
'$submit' => t('Submit'), '$submit' => t('Submit'),
'$clear' => t('Clear'), '$clear' => t('Clear'),
'$data' => $data,
'$baseurl' => $a->get_baseurl(), '$baseurl' => $a->get_baseurl(),
'$logname' => get_config('system','logfile'), '$logname' => get_config('system','logfile'),

View file

@ -12,6 +12,7 @@
</form> </form>
<h3>$logname</h3> <h3>$logname</h3>
<iframe src='$baseurl/$logname' style="width:100%; height:400px"></iframe> <div style="width:100%; height:400px; overflow: auto; "><pre>$data</pre></div>
<!-- <iframe src='$baseurl/$logname' style="width:100%; height:400px"></iframe> -->
<!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="$clear" /></div> --> <!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="$clear" /></div> -->
</div> </div>