|
|
@@ -1,19 +1,21 @@
|
|
|
<?php
|
|
|
|
|
|
-class FreshRSS_LogDAO {
|
|
|
-
|
|
|
- private static function logPath(): string {
|
|
|
- return USERS_PATH . '/' . (Minz_User::name() ?? Minz_User::INTERNAL_USER) . '/' . LOG_FILENAME;
|
|
|
+final class FreshRSS_LogDAO {
|
|
|
+ public static function logPath(?string $logFileName = null): string {
|
|
|
+ if ($logFileName === null || $logFileName === '') {
|
|
|
+ $logFileName = LOG_FILENAME;
|
|
|
+ }
|
|
|
+ return USERS_PATH . '/' . (Minz_User::name() ?? Minz_User::INTERNAL_USER) . '/' . $logFileName;
|
|
|
}
|
|
|
|
|
|
/** @return array<FreshRSS_Log> */
|
|
|
- public static function lines(): array {
|
|
|
- $logs = array();
|
|
|
- $handle = @fopen(self::logPath(), 'r');
|
|
|
+ public static function lines(?string $logFileName = null): array {
|
|
|
+ $logs = [];
|
|
|
+ $handle = @fopen(self::logPath($logFileName), 'r');
|
|
|
if ($handle) {
|
|
|
while (($line = fgets($handle)) !== false) {
|
|
|
if (preg_match('/^\[([^\[]+)\] \[([^\[]+)\] --- (.*)$/', $line, $matches)) {
|
|
|
- $myLog = new FreshRSS_Log ();
|
|
|
+ $myLog = new FreshRSS_Log();
|
|
|
$myLog->_date($matches[1]);
|
|
|
$myLog->_level($matches[2]);
|
|
|
$myLog->_info($matches[3]);
|
|
|
@@ -25,8 +27,8 @@ class FreshRSS_LogDAO {
|
|
|
return array_reverse($logs);
|
|
|
}
|
|
|
|
|
|
- public static function truncate(): void {
|
|
|
- file_put_contents(self::logPath(), '');
|
|
|
+ public static function truncate(?string $logFileName = null): void {
|
|
|
+ file_put_contents(self::logPath($logFileName), '');
|
|
|
if (FreshRSS_Auth::hasAccess('admin')) {
|
|
|
file_put_contents(ADMIN_LOG, '');
|
|
|
file_put_contents(API_LOG, '');
|