Schalter fuer den Hinweis auf die Kaffeeliste

Der Hinweis unten rechts laesst sich ab einem bezahlten Tarif in den
Mandant-Einstellungen abschalten (neue Spalte tenant_settings.
watermark_enabled, Standard an). Im kostenlosen Tarif bleibt er fest
eingeschaltet: das Kaestchen ist angehakt und disabled, daneben steht der
Grund. Zusaetzlich erzwingt saas_update_tenant_settings() den Wert dort noch
einmal, damit ein nachgebauter POST ihn nicht abschalten kann.

Der Titel des Wasserzeichens spricht nicht mehr vom kostenlosen Tarif -
zahlende Mandanten koennen es jetzt freiwillig zeigen.

Der Smoke-Test prueft die Einstellungsseite jetzt auch angemeldet. Sein
Muster fuer PHP-Meldungen verlangt dafuer einen Doppelpunkt, sonst haette
das Feld "negative_warning" als Warnung gezaehlt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 00:27:44 +02:00
co-authored by Claude Opus 5
parent 1d53b66e3f
commit b244451c42
8 changed files with 153 additions and 16 deletions
+24
View File
@@ -90,6 +90,7 @@ if ($canManageSettings) {
'payment_reminder_interval_days' => $_POST['payment_reminder_interval_days'] ?? 7,
'brand_color' => $_POST['brand_color'] ?? '',
'brand_logo' => (string)(saas_fetch_tenant_settings($pdo, (int)$user['tenant_id'])['brand_logo'] ?? ''),
'watermark_enabled' => !empty($_POST['watermark_enabled']) ? 1 : 0,
];
}
} else {
@@ -256,6 +257,29 @@ include 'nav.php';
<?php endif; ?>
</div>
<?php endif; ?>
<?php
// Der Hinweis auf die Kaffeeliste (Logo unten rechts) ist im kostenlosen
// Tarif Teil des Angebots und deshalb dort festgestellt. Das Kaestchen bleibt
// sichtbar, damit erkennbar ist, was passiert - nur eben unveraenderlich.
$watermarkErzwungen = (string)($billing['plan_code'] ?? 'free') === 'free';
$watermarkAn = $watermarkErzwungen || (int)($settings['watermark_enabled'] ?? 1) === 1;
?>
<div class="col-12">
<h3>Hinweis auf die Kaffeeliste</h3>
<p>Unten rechts steht eine kleine Marke mit dem Logo der Kaffeeliste und
einem Link auf unsere Seite.</p>
</div>
<div class="col-12">
<input type="checkbox" id="watermark_enabled" name="watermark_enabled" value="1"
<?php echo $watermarkAn ? 'checked' : ''; ?>
<?php echo $watermarkErzwungen ? 'disabled' : ''; ?>>
<label for="watermark_enabled">Logo der Kaffeeliste unten rechts anzeigen</label>
<?php if ($watermarkErzwungen): ?>
<div class="hint-box"><p>Im kostenlosen Tarif bleibt dieser Hinweis eingeblendet
er ist der Gegenwert für die kostenlose Nutzung. Ab dem Tarif „Basic" könnt ihr
ihn hier ausschalten.</p></div>
<?php endif; ?>
</div>
<div class="col-6 col-12-small">
<input type="checkbox" id="payment_reminder_enabled" name="payment_reminder_enabled" value="1" <?php echo (int)$settings['payment_reminder_enabled'] === 1 ? 'checked' : ''; ?>>
<label for="payment_reminder_enabled">Automatische Zahlungserinnerung ab Warnschwelle</label>