Add Admin\Logs page

This commit is contained in:
Visman 2021-02-22 00:32:52 +07:00
parent 08550d809d
commit 620dba2974
9 changed files with 254 additions and 1 deletions

View file

@ -694,7 +694,12 @@ class Routing
'AdminMaintenance:rebuild',
'AdminRebuildIndex'
);
$r->add(
$r::GET,
'/admin/logs',
'AdminLogs:info',
'AdminLogs'
);
}
$uri = $_SERVER['REQUEST_URI'];

View file

@ -75,6 +75,7 @@ class Admin extends Page
'forums' => [$r->link('AdminForums'), 'Forums'],
'groups' => [$r->link('AdminGroups'), 'User groups'],
'censoring' => [$r->link('AdminCensoring'), 'Censoring'],
'logs' => [$r->link('AdminLogs'), 'Logs'],
'maintenance' => [$r->link('AdminMaintenance'), 'Maintenance'],
];
}

View file

@ -0,0 +1,32 @@
<?php
/**
* This file is part of the ForkBB <https://github.com/forkbb>.
*
* @copyright (c) Visman <mio.visman@yandex.ru, https://github.com/MioVisman>
* @license The MIT License (MIT)
*/
declare(strict_types=1);
namespace ForkBB\Models\Pages\Admin;
use ForkBB\Models\Page;
use ForkBB\Models\Pages\Admin;
class Logs extends Admin
{
/**
* Подготавливает данные для шаблона
*/
public function info(): Page
{
$this->c->Lang->load('admin_logs');
$this->nameTpl = 'admin/logs';
$this->aIndex = 'logs';
$logsFiles = $this->c->LogViewer->files();
$this->logsInfo = $this->c->LogViewer->info($logsFiles);
return $this;
}
}

View file

@ -101,3 +101,6 @@ msgstr "Data updated."
msgid "\"%s\""
msgstr "\"%s\""
msgid "Logs"
msgstr "Logs"

49
app/lang/en/admin_logs.po Normal file
View file

@ -0,0 +1,49 @@
#
msgid ""
msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Project-Id-Version: ForkBB\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
msgid "Log name"
msgstr "Log name"
msgid "Level emergency"
msgstr "Emergency"
msgid "Level alert"
msgstr "Alert"
msgid "Level critical"
msgstr "Critical"
msgid "Level error"
msgstr "Error"
msgid "Level warning"
msgstr "Warning"
msgid "Level notice"
msgstr "Notice"
msgid "Level info"
msgstr "Info"
msgid "Level debug"
msgstr "Debug"
msgid "View log"
msgstr "View"
msgid "Download log"
msgstr "Download"
msgid "Delete log"
msgstr "Delete"

View file

@ -101,3 +101,6 @@ msgstr "Данные изменены."
msgid "\"%s\""
msgstr "\"%s\""
msgid "Logs"
msgstr "Логи"

49
app/lang/ru/admin_logs.po Normal file
View file

@ -0,0 +1,49 @@
#
msgid ""
msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Project-Id-Version: ForkBB\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
msgid "Log name"
msgstr "Имя лога"
msgid "Level emergency"
msgstr "Emergency"
msgid "Level alert"
msgstr "Alert"
msgid "Level critical"
msgstr "Critical"
msgid "Level error"
msgstr "Error"
msgid "Level warning"
msgstr "Warning"
msgid "Level notice"
msgstr "Notice"
msgid "Level info"
msgstr "Info"
msgid "Level debug"
msgstr "Debug"
msgid "View log"
msgstr "Открыть"
msgid "Download log"
msgstr "Скачать"
msgid "Delete log"
msgstr "Удалить"

View file

@ -0,0 +1,31 @@
@extends ('layouts/admin')
@isset ($p->logsInfo)
<section id="fork-logsinfo" class="f-admin">
<h2>{!! __('Logs') !!}</h2>
<div>
<fieldset>
<p></p>
<ul>
@foreach ($p->logsInfo as $hash => $cur)
<li class="f-lgli">
<span class="f-lgname" title="{!! __('Log name') !!}">{{ $cur['log_name'] }}</span>
<span class="f-llv f-llvem" title="{!! __('Level emergency') !!}">{{ num($cur['emergency']) }}</span>
<span class="f-llv f-llval" title="{!! __('Level alert') !!}">{{ num($cur['alert']) }}</span>
<span class="f-llv f-llvcr" title="{!! __('Level critical') !!}">{{ num($cur['critical']) }}</span>
<span class="f-llv f-llver" title="{!! __('Level error') !!}">{{ num($cur['error']) }}</span>
<span class="f-llv f-llvwa" title="{!! __('Level warning') !!}">{{ num($cur['warning']) }}</span>
<span class="f-llv f-llvno" title="{!! __('Level notice') !!}">{{ num($cur['notice']) }}</span>
<span class="f-llv f-llvin" title="{!! __('Level info') !!}">{{ num($cur['info']) }}</span>
<span class="f-llv f-llvde" title="{!! __('Level debug') !!}">{{ num($cur['debug']) }}</span>
<span class="f-logbt">
<a class="f-btn f-lga f-lgaview" href="" title="{!! __('View log') !!}"><span class="f-lgs">{!! __('View log') !!}</span></a>
<a class="f-btn f-lga f-lgadown" href="" title="{!! __('Download log') !!}"><span class="f-lgs">{!! __('Download log') !!}</span></a>
<a class="f-btn f-lga f-lgadel" href="" title="{!! __('Delete log') !!}"><span class="f-lgs">{!! __('Delete log') !!}</span></a>
</span>
</li>
@endforeach
</ul>
</fieldset>
</div>
</section>
@endisset

View file

@ -3294,6 +3294,86 @@ html[lang="ru"] #fork details[open] > summary::after {
background-color: #FEEFB3; /*#FFCCBA;*/
}
/****************************************/
/* Админка/Логи */
/****************************************/
#forka .f-lgli {
padding: 0.3125rem;
border-bottom: 0.0625rem dotted #AA7939;
display: flex;
}
#forka .f-llvem {
color: #B71C1C;
}
#forka .f-llval {
color: #D32F2F;
}
#forka .f-llvcr {
color: #F44336;
}
#forka .f-llver {
color: #FF5722;
}
#forka .f-llvwa {
color: #FF9100;
}
#forka .f-llvno {
color: #4CAF50;
}
#forka .f-llvin {
color: #1976D2;
}
#forka .f-llvde {
color: #90CAF9;
}
#forka .f-lgname {
width: 8rem;
}
#forka .f-logbt {
width: 5rem;
text-align: right;
}
#forka .f-llv {
width: calc( (100% - 13rem) / 8 );
text-align: center;
}
#forka .f-lga {
padding: 0.125rem 0.1875rem;
}
#forka .f-lga:before {
font-family: "FontAwesomeFree";
font-weight: 900;
}
#forka .f-lgaview:before {
content: "\f002";
}
#forka .f-lgadown:before {
content: "\f019";
}
#forka .f-lgadel:before {
content: "\f2ed";
}
#forka .f-lgs {
display: none;
}
/****************************************/
@media screen and (min-width: 81rem) {
#fork.f-with-nav {