]> git.mxchange.org Git - friendica.git/blob - src/Module/Admin/Logs/View.php
Move admin/logs to src/Module
[friendica.git] / src / Module / Admin / Logs / View.php
1 <?php\r
2 \r
3 namespace Friendica\Module\Admin\Logs;\r
4 \r
5 use Friendica\Core\Config;\r
6 use Friendica\Core\L10n;\r
7 use Friendica\Core\Renderer;\r
8 use Friendica\Module\BaseAdminModule;\r
9 use Friendica\Util\Strings;\r
10 \r
11 class View extends BaseAdminModule\r
12 {\r
13         public static function content()\r
14         {\r
15                 parent::content();\r
16 \r
17                 $t = Renderer::getMarkupTemplate('admin/logs/view.tpl');\r
18                 $f = Config::get('system', 'logfile');\r
19                 $data = '';\r
20 \r
21                 if (!file_exists($f)) {\r
22                         $data = L10n::t('Error trying to open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s exist and is readable.', $f);\r
23                 } else {\r
24                         $fp = fopen($f, 'r');\r
25                         if (!$fp) {\r
26                                 $data = L10n::t('Couldn\'t open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s is readable.', $f);\r
27                         } else {\r
28                                 $fstat = fstat($fp);\r
29                                 $size = $fstat['size'];\r
30                                 if ($size != 0) {\r
31                                         if ($size > 5000000 || $size < 0) {\r
32                                                 $size = 5000000;\r
33                                         }\r
34                                         $seek = fseek($fp, 0 - $size, SEEK_END);\r
35                                         if ($seek === 0) {\r
36                                                 $data = Strings::escapeHtml(fread($fp, $size));\r
37                                                 while (!feof($fp)) {\r
38                                                         $data .= Strings::escapeHtml(fread($fp, 4096));\r
39                                                 }\r
40                                         }\r
41                                 }\r
42                                 fclose($fp);\r
43                         }\r
44                 }\r
45                 return Renderer::replaceMacros($t, [\r
46                         '$title' => L10n::t('Administration'),\r
47                         '$page' => L10n::t('View Logs'),\r
48                         '$data' => $data,\r
49                         '$logname' => Config::get('system', 'logfile')\r
50                 ]);\r
51         }\r
52 }\r