From fa4ce66ef2d9884946c00d338cb13574a683b0e7 Mon Sep 17 00:00:00 2001 From: Philipp Stamp Date: Mon, 16 Feb 2026 13:04:28 +0100 Subject: [PATCH] Added the update-system to automatically check for new updates. Added a setting to enable/ disable the text in the delete-logs button. --- mclogcleaner/config/mclogcleaner.php | 5 ++++ mclogcleaner/plugin.json | 4 +-- .../Components/Actions/McLogCleanAction.php | 8 +++-- mclogcleaner/src/McLogCleanerPlugin.php | 30 ++++++++++++++++++- mclogcleaner/updater.json | 6 ++++ 5 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 mclogcleaner/config/mclogcleaner.php create mode 100644 mclogcleaner/updater.json diff --git a/mclogcleaner/config/mclogcleaner.php b/mclogcleaner/config/mclogcleaner.php new file mode 100644 index 00000000..7b4078ca --- /dev/null +++ b/mclogcleaner/config/mclogcleaner.php @@ -0,0 +1,5 @@ + filter_var(env('MCLOGCLEANER_TEXT_ENABLED', true), FILTER_VALIDATE_BOOL), +]; diff --git a/mclogcleaner/plugin.json b/mclogcleaner/plugin.json index 6341a26d..aa26537b 100644 --- a/mclogcleaner/plugin.json +++ b/mclogcleaner/plugin.json @@ -2,11 +2,11 @@ "id": "mclogcleaner", "name": "McLogCleaner", "author": "JuggleGaming", - "version": "1.1.1", + "version": "1.1.2", "description": "Clean your Minecraft-logs with ease", "category": "plugin", "url": "https://github.com/pelican-dev/plugins/tree/main/mclogcleaner", - "update_url": null, + "update_url": "https://raw.githubusercontent.com/JuggleGaming/mclogcleaner/refs/heads/main/updater.json", "namespace": "JuggleGaming\\McLogCleaner", "class": "McLogCleanerPlugin", "panels": null, diff --git a/mclogcleaner/src/Filament/Components/Actions/McLogCleanAction.php b/mclogcleaner/src/Filament/Components/Actions/McLogCleanAction.php index a05c66fb..40160632 100644 --- a/mclogcleaner/src/Filament/Components/Actions/McLogCleanAction.php +++ b/mclogcleaner/src/Filament/Components/Actions/McLogCleanAction.php @@ -35,7 +35,9 @@ protected function setUp(): void return !in_array('mclogcleaner', $features, true); }); - $this->label('Delete logs'); + $this->label(function () { + return config('mclogcleaner.mclogcleaner_text_enabled') ? 'Delete logs' : ''; + }); $this->icon('tabler-trash'); $this->color('danger'); $this->size(Size::ExtraLarge); @@ -104,7 +106,7 @@ protected function setUp(): void return $logDate->lessThan($threshold); }) ->pluck('name') - ->map(fn ($name) => 'logs/' . $name) + ->map(fn ($name) => 'logs/'.$name) ->values() ->all(); if (empty($logsToDelete)) { @@ -124,7 +126,7 @@ protected function setUp(): void ->throw(); Notification::make() ->title('Logfolder cleaned') - ->body(count($logsToDelete) . ' files were deleted.') + ->body(count($logsToDelete).' files were deleted.') ->success() ->send(); } catch (\Throwable $e) { diff --git a/mclogcleaner/src/McLogCleanerPlugin.php b/mclogcleaner/src/McLogCleanerPlugin.php index d33b3785..172dcbc3 100644 --- a/mclogcleaner/src/McLogCleanerPlugin.php +++ b/mclogcleaner/src/McLogCleanerPlugin.php @@ -2,11 +2,17 @@ namespace JuggleGaming\McLogCleaner; +use App\Contracts\Plugins\HasPluginSettings; +use App\Traits\EnvironmentWriterTrait; use Filament\Contracts\Plugin; +use Filament\Forms\Components\Toggle; +use Filament\Notifications\Notification; use Filament\Panel; -class McLogCleanerPlugin implements Plugin +class McLogCleanerPlugin implements HasPluginSettings, Plugin { + use EnvironmentWriterTrait; + public function getId(): string { return 'mclogcleaner'; @@ -21,4 +27,26 @@ public function boot(Panel $panel): void { // } + + public function getSettingsForm(): array + { + return [ + Toggle::make('mclogcleaner_text_enabled') + ->label('Enable button text') + ->default(fn () => (bool) config('mclogcleaner.mclogcleaner_text_enabled', true)), + ]; + } + + public function saveSettings(array $data): void + { + $this->writeToEnvironment([ + 'MCLOGCLEANER_TEXT_ENABLED' => $data['mclogcleaner_text_enabled'] ? 'true' : 'false', + ]); + + Notification::make() + ->title('McLogCleaner') + ->body('Settings successfully saved!') + ->success() + ->send(); + } } diff --git a/mclogcleaner/updater.json b/mclogcleaner/updater.json new file mode 100644 index 00000000..888898bb --- /dev/null +++ b/mclogcleaner/updater.json @@ -0,0 +1,6 @@ +{ + "*": { + "version": "1.1.2", + "download_url": "https://github.com/JuggleGaming/mclogcleaner/releases/latest/download/mclogcleaner.zip" + } +} \ No newline at end of file