Skip to content

Commit d6c722e

Browse files
committed
Улучшил внешний вид статистики в админке, поправил сохранение файла сканирования сайта, больше он не удаляется при очистке кеша, добавил приватную директорию storage/app/private
1 parent 665cb7c commit d6c722e

File tree

6 files changed

+42
-30
lines changed

6 files changed

+42
-30
lines changed

app/Http/Controllers/Admin/CheckerController.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,25 @@
66

77
use Illuminate\Http\RedirectResponse;
88
use Illuminate\Http\Request;
9+
use Illuminate\Support\Facades\Storage;
910
use Illuminate\View\View;
1011
use Symfony\Component\Finder\Finder;
1112
use Symfony\Component\Finder\SplFileInfo;
1213

1314
class CheckerController extends AdminController
1415
{
16+
private string $filename = 'checker.php';
17+
1518
/**
1619
* Главная страница
1720
*/
1821
public function index(): View
1922
{
2023
$diff = [];
21-
22-
if (file_exists(storage_path('framework/cache/checker.php'))) {
24+
if (Storage::disk('private')->exists($this->filename)) {
2325
$files = $this->scanFiles(base_path());
24-
$filesScan = json_decode(file_get_contents(storage_path('framework/cache/checker.php')), true);
26+
27+
$filesScan = json_decode(Storage::disk('private')->get($this->filename));
2528

2629
$diff['left'] = array_diff($files, $filesScan);
2730
$diff['right'] = array_diff($filesScan, $files);
@@ -38,7 +41,7 @@ public function scan(Request $request): RedirectResponse
3841
if ($request->input('_token') === csrf_token()) {
3942
$files = $this->scanFiles(base_path());
4043

41-
file_put_contents(storage_path('framework/cache/checker.php'), json_encode($files));
44+
Storage::disk('private')->put($this->filename, json_encode($files));
4245

4346
setFlash('success', __('admin.checkers.success_crawled'));
4447
} else {
@@ -68,7 +71,7 @@ private function scanFiles(string $dir): array
6871

6972
/** @var SplFileInfo $file */
7073
foreach ($files as $file) {
71-
$state[] = $file->getRelativePathname() . ' / ' . dateFixed($file->getMTime(), 'd.m.y H:i', true) . ' / ' . formatSize($file->getSize());
74+
$state[] = $file->getRelativePathname() . ' / ' . dateFixed($file->getMTime(), 'd.m.y H:i:s', true) . ' / ' . formatSize($file->getSize());
7275
}
7376

7477
return $state;

app/helpers.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
use Illuminate\Support\Facades\DB;
4444
use Illuminate\Support\Facades\Http;
4545
use Illuminate\Support\Facades\Mail;
46+
use Illuminate\Support\Facades\Storage;
4647
use Illuminate\Support\HtmlString;
4748
use Illuminate\Support\Str;
4849
use Illuminate\Support\ViewErrorBag;
@@ -477,8 +478,8 @@ function statsStickers(): int
477478
*/
478479
function statsChecker(): string
479480
{
480-
if (file_exists(storage_path('framework/cache/checker.php'))) {
481-
return dateFixed(filemtime(storage_path('framework/cache/checker.php')), 'd.m.Y');
481+
if (Storage::disk('private')->exists('checker.php')) {
482+
return dateFixed(Storage::disk('private')->lastModified('checker.php'));
482483
}
483484

484485
return '0';

config/filesystems.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
'root' => storage_path('app'),
3434
],
3535

36+
'private' => [
37+
'driver' => 'local',
38+
'root' => storage_path('app/private'),
39+
],
40+
3641
'public' => [
3742
'driver' => 'local',
3843
'root' => storage_path('app/public'),

resources/views/admin/index.blade.php

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
<i class="fa fa-cog fa-lg text-muted"></i> {{ __('main.editor') }}
2323
</div>
2424
<div class="section-body">
25-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/chats">{{ __('index.admin_chat') }}</a> ({{ statsChat() }})<br>
26-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/guestbook">{{ __('index.guestbook') }}</a> ({{ statsGuestbook() }})<br>
27-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/forums">{{ __('index.forums') }}</a> ({{ statsForum() }})<br>
28-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/photos">{{ __('index.photos') }}</a> ({{ statsPhotos() }})<br>
29-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/blogs">{{ __('index.blogs') }}</a> ({{ statsBlog() }})<br>
30-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/boards">{{ __('index.boards') }}</a> ({{ statsBoard() }})<br>
25+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/chats">{{ __('index.admin_chat') }}</a> <span class="badge bg-light text-dark">{{ statsChat() }}</span><br>
26+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/guestbook">{{ __('index.guestbook') }}</a> <span class="badge bg-light text-dark">{{ statsGuestbook() }}</span><br>
27+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/forums">{{ __('index.forums') }}</a> <span class="badge bg-light text-dark">{{ statsForum() }}</span><br>
28+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/photos">{{ __('index.photos') }}</a> <span class="badge bg-light text-dark">{{ statsPhotos() }}</span><br>
29+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/blogs">{{ __('index.blogs') }}</a> <span class="badge bg-light text-dark">{{ statsBlog() }}</span><br>
30+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/boards">{{ __('index.boards') }}</a> <span class="badge bg-light text-dark">{{ statsBoard() }}</span><br>
3131
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/admin-adverts">{{ __('index.admin_advertising') }}</a><br>
3232
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/adverts">{{ __('index.advertising') }}</a><br>
3333
@hook('adminBlockEditor')
@@ -40,14 +40,14 @@
4040
<i class="fa fa-cog fa-lg text-muted"></i> {{ __('main.moder') }}
4141
</div>
4242
<div class="section-body">
43-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/spam">{{ __('index.complains') }}</a> ({{ statsSpam() }})<br>
43+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/spam">{{ __('index.complains') }}</a> <span class="badge bg-light text-dark">{{ statsSpam() }}</span><br>
4444
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/bans">{{ __('index.ban_unban') }}</a><br>
45-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/banlists">{{ __('index.banned_list') }}</a> ({{ statsBanned() }})<br>
46-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/reglists">{{ __('index.pending_list') }}</a> ({{ statsRegList() }})<br>
47-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/votes">{{ __('index.votes') }}</a> ({{ statVotes() }})<br>
48-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/antimat">{{ __('index.antimat') }}</a> ({{ statsAntimat() }})<br>
49-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/banhists">{{ __('index.ban_history') }}</a> ({{ statsBanHist() }})<br>
50-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/invitations">{{ __('index.invitations') }}</a> ({{ statsInvite() }})<br>
45+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/banlists">{{ __('index.banned_list') }}</a> <span class="badge bg-light text-dark">{{ statsBanned() }}</span><br>
46+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/reglists">{{ __('index.pending_list') }}</a> <span class="badge bg-light text-dark">{{ statsRegList() }}</span><br>
47+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/votes">{{ __('index.votes') }}</a> <span class="badge bg-light text-dark">{{ statVotes() }}</span><br>
48+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/antimat">{{ __('index.antimat') }}</a> <span class="badge bg-light text-dark">{{ statsAntimat() }}</span><br>
49+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/banhists">{{ __('index.ban_history') }}</a> <span class="badge bg-light text-dark">{{ statsBanHist() }}</span><br>
50+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/invitations">{{ __('index.invitations') }}</a> <span class="badge bg-light text-dark">{{ statsInvite() }}</span><br>
5151
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/transfers">{{ __('index.cash_transactions') }}</a><br>
5252
@hook('adminBlockModer')
5353
</div>
@@ -61,16 +61,16 @@
6161
</div>
6262
<div class="section-body">
6363
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/rules">{{ __('index.site_rules') }}</a><br>
64-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/news">{{ __('index.news') }}</a> ({{ statsNews() }})<br>
64+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/news">{{ __('index.news') }}</a> <span class="badge bg-light text-dark">{{ statsNews() }}</span><br>
6565

66-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/ipbans">{{ __('index.ip_ban') }}</a> ({{ statsIpBanned() }})<br>
67-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/phpinfo">{{ __('index.phpinfo') }}</a> ({{ parseVersion(PHP_VERSION) }})<br>
68-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/loads">{{ __('index.loads') }}</a> ({{ statsLoad() }})<br>
69-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/downs/new">{{ __('index.new_loads') }}</a> ({{ statsNewLoad() }})<br>
66+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/ipbans">{{ __('index.ip_ban') }}</a> <span class="badge bg-light text-dark">{{ statsIpBanned() }}</span><br>
67+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/phpinfo">{{ __('index.phpinfo') }}</a> <span class="badge bg-light text-dark">{{ parseVersion(PHP_VERSION) }}</span><br>
68+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/loads">{{ __('index.loads') }}</a> <span class="badge bg-light text-dark">{{ statsLoad() }}</span><br>
69+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/downs/new">{{ __('index.new_loads') }}</a> <span class="badge bg-light text-dark">{{ statsNewLoad() }}</span><br>
7070
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/errors">{{ __('index.errors') }}</a><br>
71-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/blacklists">{{ __('index.blacklist') }}</a> ({{ statsBlacklist() }})<br>
72-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/offers">{{ __('index.offers') }}</a> ({{ statsOffers() }})<br>
73-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/stickers">{{ __('index.stickers') }}</a> ({{ statsStickers() }})<br>
71+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/blacklists">{{ __('index.blacklist') }}</a> <span class="badge bg-light text-dark">{{ statsBlacklist() }}</span><br>
72+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/offers">{{ __('index.offers') }}</a> <span class="badge bg-light text-dark">{{ statsOffers() }}</span><br>
73+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/stickers">{{ __('index.stickers') }}</a> <span class="badge bg-light text-dark">{{ statsStickers() }}</span><br>
7474
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/status">{{ __('index.user_statuses') }}</a><br>
7575
@hook('adminBlockAdmin')
7676
</div>
@@ -84,10 +84,10 @@
8484
</div>
8585
<div class="section-body">
8686
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/settings">{{ __('index.site_settings') }}</a><br>
87-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/users">{{ __('index.users') }}</a> ({{ statsUsers() }})<br>
87+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/users">{{ __('index.users') }}</a> <span class="badge bg-light text-dark">{{ statsUsers() }}</span><br>
8888
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/caches">{{ __('index.cache_clear') }}</a><br>
8989
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/backups">{{ __('index.backup') }}</a><br>
90-
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/checkers">{{ __('index.site_scan') }}</a> ({{ statsChecker() }})<br>
90+
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/checkers">{{ __('index.site_scan') }}</a> <span class="badge bg-light text-dark">{{ statsChecker() }}</span><br>
9191
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/delivery">{{ __('index.private_mailing') }}</a><br>
9292
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/logs">{{ __('index.logs_visits') }}</a><br>
9393
<i class="far fa-circle fa-lg text-muted"></i> <a href="/admin/notices">{{ __('index.email_templates') }}</a><br>

storage/app/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*
22
!public/
3+
!private/
34
!.gitignore

storage/app/private/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore

0 commit comments

Comments
 (0)