Fixed log file issues on a freshly installed Friendica.

* Check to see if log file exists.
* After trying to open it, check to see if it went ok.
* So, check to see if the file size != 0 (fread error with size = 0)
This commit is contained in:
Abinoam P. Marques Jr 2012-02-18 14:19:35 -08:00
parent 5734d5f357
commit dedfc300a0
1 changed files with 27 additions and 14 deletions

View File

@ -635,23 +635,36 @@ function admin_page_logs(&$a){
$t = get_markup_template("admin_logs.tpl"); $t = get_markup_template("admin_logs.tpl");
$f = get_config('system','logfile'); $f = get_config('system','logfile');
$size = filesize($f);
if($size > 5000000 || $size < 0)
$size = 5000000;
$data = ''; $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 = escape_tags(fread($fp,$size));
while(! feof($fp))
$data .= escape_tags(fread($fp,4096));
}
fclose($fp);
}
if(!file_exists($f)) {
$data = t("Error trying to open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f exist and is
readable.");
}
else {
$fp = fopen($f, 'r');
if(!$fp) {
$data = t("Couldn't open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f is readable.");
}
else {
$fstat = fstat($fp);
$size = $fstat['size'];
if($size != 0)
{
if($size > 5000000 || $size < 0)
$size = 5000000;
$seek = fseek($fp,0-$size,SEEK_END);
if($seek === 0) {
fgets($fp); // throw away the first partial line
$data = escape_tags(fread($fp,$size));
while(! feof($fp))
$data .= escape_tags(fread($fp,4096));
}
}
fclose($fp);
}
}
return replace_macros($t, array( return replace_macros($t, array(
'$title' => t('Administration'), '$title' => t('Administration'),