refactor: config/mailwolt.php → config/clubird.php + Artisan Commands umbenennen
- config/mailwolt.php → config/clubird.php (Datei umbenannt)
- Alle config('mailwolt.*') → config('clubird.*') ersetzt (15 PHP + 3 Blade)
- Artisan-Signaturen: mailwolt:* → clubird:* (5 Commands)
- Artisan-Aufrufe in Jobs + Scheduler aktualisiert
- Config-Cache neu aufgebaut
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
v1.1.382
parent
8ea925e4ae
commit
bbc7cc6c34
|
|
@ -6,7 +6,7 @@ use Illuminate\Console\Command;
|
|||
|
||||
class CheckUpdates extends Command
|
||||
{
|
||||
protected $signature = 'mailwolt:check-updates';
|
||||
protected $signature = 'clubird:check-updates';
|
||||
protected $description = 'Check for newer MailWolt releases via git tags';
|
||||
|
||||
public function handle(): int
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ use Illuminate\Console\Command;
|
|||
|
||||
class MailwoltRestart extends Command
|
||||
{
|
||||
protected $signature = 'mailwolt:restart-services';
|
||||
protected $signature = 'clubird:restart-services';
|
||||
protected $description = 'Restart or reload MailWolt-related system services';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$units = config('mailwolt.units', []);
|
||||
$units = config('clubird.units', []);
|
||||
|
||||
foreach ($units as $u) {
|
||||
$base = (string)($u['name'] ?? '');
|
||||
|
|
@ -45,12 +45,12 @@ class MailwoltRestart extends Command
|
|||
|
||||
//class MailwoltRestart extends Command
|
||||
//{
|
||||
// protected $signature = 'mailwolt:restart-services';
|
||||
// protected $signature = 'clubird:restart-services';
|
||||
// protected $description = 'Restart or reload MailWolt-related system services';
|
||||
//
|
||||
// public function handle(): int
|
||||
// {
|
||||
// $units = config('mailwolt.units', []);
|
||||
// $units = config('clubird.units', []);
|
||||
// $allowed = ['reload','restart','try-reload-or-restart'];
|
||||
//
|
||||
// foreach ($units as $u) {
|
||||
|
|
@ -90,12 +90,12 @@ class MailwoltRestart extends Command
|
|||
//
|
||||
//class MailwoltRestart extends Command
|
||||
//{
|
||||
// protected $signature = 'mailwolt:restart-services';
|
||||
// protected $signature = 'clubird:restart-services';
|
||||
// protected $description = 'Restart or reload MailWolt-related system services';
|
||||
//
|
||||
// public function handle(): int
|
||||
// {
|
||||
// $units = config('mailwolt.units', []);
|
||||
// $units = config('clubird.units', []);
|
||||
//
|
||||
// foreach ($units as $u) {
|
||||
// $unit = rtrim($u['name'] ?? '', '.service') . '.service';
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use Illuminate\Console\Command;
|
|||
|
||||
class MigrateEnvReverb extends Command
|
||||
{
|
||||
protected $signature = 'mailwolt:migrate-env-reverb';
|
||||
protected $signature = 'clubird:migrate-env-reverb';
|
||||
protected $description = 'Migriert veraltete REVERB_* .env-Werte auf Domain-Basis';
|
||||
|
||||
public function handle(): int
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
//
|
||||
//class ProvisionCert extends Command
|
||||
//{
|
||||
//// protected $signature = 'mailwolt:provision-cert
|
||||
//// protected $signature = 'clubird:provision-cert
|
||||
//// {domain : z.B. mail.example.com}
|
||||
//// {--email= : E-Mail für Let\'s Encrypt}
|
||||
//// {--self-signed : Statt LE ein self-signed Zertifikat erzeugen}';
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Illuminate\Console\Command;
|
|||
|
||||
class WizardDomains extends Command
|
||||
{
|
||||
protected $signature = 'mailwolt:wizard-domains
|
||||
protected $signature = 'clubird:wizard-domains
|
||||
{--ui= : UI-Domain}
|
||||
{--mail= : Mail-Domain}
|
||||
{--webmail= : Webmail-Domain}
|
||||
|
|
|
|||
|
|
@ -26,10 +26,10 @@ class ValidateHost
|
|||
return true;
|
||||
}
|
||||
|
||||
$base = config('mailwolt.domain.base');
|
||||
$uiSub = config('mailwolt.domain.ui');
|
||||
$mtaSub = config('mailwolt.domain.mail');
|
||||
$wmHost = config('mailwolt.domain.webmail_host');
|
||||
$base = config('clubird.domain.base');
|
||||
$uiSub = config('clubird.domain.ui');
|
||||
$mtaSub = config('clubird.domain.mail');
|
||||
$wmHost = config('clubird.domain.webmail_host');
|
||||
|
||||
$allowed = array_filter([
|
||||
$wmHost,
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class ProvisionCertJob implements ShouldQueue
|
|||
if ($this->useLetsEncrypt) {
|
||||
$this->emit($task, 'running', 'Let’s Encrypt wird ausgeführt…', $mode);
|
||||
|
||||
$exit = Artisan::call('mailwolt:provision-cert', [
|
||||
$exit = Artisan::call('clubird:provision-cert', [
|
||||
'domain' => $this->domain,
|
||||
'--email' => $this->email ?? '',
|
||||
]);
|
||||
|
|
@ -83,14 +83,14 @@ class ProvisionCertJob implements ShouldQueue
|
|||
|
||||
// Fallback → self-signed
|
||||
$mode = 'self-signed';
|
||||
$exit = Artisan::call('mailwolt:provision-cert', [
|
||||
$exit = Artisan::call('clubird:provision-cert', [
|
||||
'domain' => $this->domain,
|
||||
'--self-signed' => true,
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$this->emit($task, 'running', 'Self-Signed Zertifikat wird erstellt…', $mode);
|
||||
$exit = Artisan::call('mailwolt:provision-cert', [
|
||||
$exit = Artisan::call('clubird:provision-cert', [
|
||||
'domain' => $this->domain,
|
||||
'--self-signed' => true,
|
||||
]);
|
||||
|
|
@ -120,7 +120,7 @@ class ProvisionCertJob implements ShouldQueue
|
|||
// $task->update(['message' => 'Let’s Encrypt wird ausgeführt…']);
|
||||
// $this->syncCache($task);
|
||||
//
|
||||
// $exit = Artisan::call('mailwolt:provision-cert', [
|
||||
// $exit = Artisan::call('clubird:provision-cert', [
|
||||
// 'domain' => $this->domain,
|
||||
// '--email' => $this->email ?? '',
|
||||
// ]);
|
||||
|
|
@ -131,7 +131,7 @@ class ProvisionCertJob implements ShouldQueue
|
|||
// $this->syncCache($task);
|
||||
//
|
||||
// // Fallback: Self-Signed
|
||||
// $exit = Artisan::call('mailwolt:provision-cert', [
|
||||
// $exit = Artisan::call('clubird:provision-cert', [
|
||||
// 'domain' => $this->domain,
|
||||
// '--self-signed' => true,
|
||||
// ]);
|
||||
|
|
@ -140,7 +140,7 @@ class ProvisionCertJob implements ShouldQueue
|
|||
// $task->update(['message' => 'Self-Signed wird erstellt…']);
|
||||
// $this->syncCache($task);
|
||||
//
|
||||
// $exit = Artisan::call('mailwolt:provision-cert', [
|
||||
// $exit = Artisan::call('clubird:provision-cert', [
|
||||
// 'domain' => $this->domain,
|
||||
// '--self-signed' => true,
|
||||
// ]);
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ class DomainDnsModal extends ModalComponent
|
|||
// --- Komfort / Web ---
|
||||
[
|
||||
'type' => 'CNAME',
|
||||
'name' => (config('mailwolt.domain.webmail') ?: env('WEBMAIL_SUB', 'webmail')) . ".{$this->domainName}",
|
||||
'name' => (config('clubird.domain.webmail') ?: env('WEBMAIL_SUB', 'webmail')) . ".{$this->domainName}",
|
||||
'value' => "{$mailServerFqdn}.",
|
||||
'helpLabel' => 'Webmail Alias',
|
||||
'helpUrl' => 'https://en.wikipedia.org/wiki/CNAME_record',
|
||||
|
|
@ -1176,7 +1176,7 @@ class DomainDnsModal extends ModalComponent
|
|||
////
|
||||
//// // Placeholder-Werte, sofern du sie anderswo speicherst gern ersetzen:
|
||||
//// $serverIp = config('app.server_ip', 'DEINE.SERVER.IP');
|
||||
//// $mxHost = config('mailwolt.mx_fqdn', 'mx.' . $this->domain->domain);
|
||||
//// $mxHost = config('clubird.mx_fqdn', 'mx.' . $this->domain->domain);
|
||||
//// $selector = optional(
|
||||
//// DkimKey::where('domain_id', $this->domain->id)->where('is_active', true)->first()
|
||||
//// )->selector ?? 'mwl1';
|
||||
|
|
|
|||
|
|
@ -129,10 +129,10 @@ class DomainsSslForm extends Component
|
|||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->base_domain = (string) config('mailwolt.domain.base', '');
|
||||
$this->ui_sub = (string) config('mailwolt.domain.ui', '');
|
||||
$this->webmail_sub = (string) config('mailwolt.domain.webmail', '');
|
||||
$this->mta_sub = (string) config('mailwolt.domain.mail', '');
|
||||
$this->base_domain = (string) config('clubird.domain.base', '');
|
||||
$this->ui_sub = (string) config('clubird.domain.ui', '');
|
||||
$this->webmail_sub = (string) config('clubird.domain.webmail', '');
|
||||
$this->mta_sub = (string) config('clubird.domain.mail', '');
|
||||
|
||||
$this->loadMtaStsFromFileIfPossible();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class DomainsSslForm extends Component
|
|||
|
||||
public function mount(): void
|
||||
{
|
||||
$this->mail_domain_readonly = (string) config('mailwolt.domain.mail', 'mx');
|
||||
$this->mail_domain_readonly = (string) config('clubird.domain.mail', 'mx');
|
||||
$this->ui_domain = Setting::get('ui_domain', $this->ui_domain);
|
||||
$this->webmail_domain = Setting::get('webmail_domain', $this->webmail_domain);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -444,7 +444,7 @@ class SettingsForm extends Component
|
|||
: implode('.', $parts);
|
||||
}
|
||||
|
||||
$base = $derivedBase ?: rtrim((string) config('mailwolt.domain.base', ''), '.');
|
||||
$base = $derivedBase ?: rtrim((string) config('clubird.domain.base', ''), '.');
|
||||
|
||||
$sub = function (string $full) use ($base): string {
|
||||
$full = strtolower(trim($full));
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
<x-slot:breadcrumb>Übersicht</x-slot:breadcrumb>
|
||||
|
||||
@php
|
||||
$_wmSub = config('mailwolt.domain.webmail');
|
||||
$_wmBase = config('mailwolt.domain.base');
|
||||
$_wmSub = config('clubird.domain.webmail');
|
||||
$_wmBase = config('clubird.domain.base');
|
||||
$_wmUrl = ($_wmSub && $_wmBase)
|
||||
? 'https://'.$_wmSub.'.'.$_wmBase.'/inbox'
|
||||
: url('/webmail/inbox');
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<label class="block text-white/60 text-sm mb-1">Sprache</label>
|
||||
<select wire:model.defer="locale"
|
||||
class="w-full h-11 rounded-xl border border-white/10 bg-white/[0.04] px-3 text-white/90">
|
||||
@foreach (config('mailwolt.language') as $key => $lang)
|
||||
@foreach (config('clubird.language') as $key => $lang)
|
||||
<option value="{{ $lang['locale'] }}">{{ $lang['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ Artisan::command('inspire', function () {
|
|||
|
||||
Schedule::job(RunHealthChecks::class)->everyMinute()->withoutOverlapping();
|
||||
Schedule::command('spamav:collect')->everyFiveMinutes()->withoutOverlapping();
|
||||
//Schedule::command('mailwolt:check-updates')->dailyAt('04:10');
|
||||
Schedule::command('mailwolt:check-updates')->everytwoMinutes();
|
||||
//Schedule::command('clubird:check-updates')->dailyAt('04:10');
|
||||
Schedule::command('clubird:check-updates')->everytwoMinutes();
|
||||
Schedule::command('rbl:probe')->weeklyOn(0, '3:30')->withoutOverlapping();
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue