Hinweis auf die Kaffeeliste auch im PDF-Ausdruck

Die Marke stand bisher nur in der Web-Ansicht; auf dem Ausdruck, den die
Mitglieder taeglich vor sich haben, fehlte sie. Sie erscheint jetzt unten
rechts im Seitenfuss - nach derselben Regel wie im Web: im kostenlosen
Tarif fest, sonst nach Mandant-Einstellung.

Die Tasse wird mit TCPDFs Zeichenbefehlen gemalt statt als SVG oder Bild
eingebettet: ImageSVG braucht die XML-Extension, ein Rasterbild GD - beides
ist auf einem Webspace nicht garantiert.

Der Schriftzug sitzt in einer Cell() statt in Text(): dessen y-Bezug haengt
an Schriftmetriken und ergab in der Probe einen um Millimeter versetzten
Schriftzug. Steht die Marke, reserviert export_page_row_budget_mm() 6 mm am
Seitenfuss, damit die Tabelle nicht hineinlaeuft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 00:46:52 +02:00
co-authored by Claude Opus 5
parent 7a52099a59
commit 9b309bb942
3 changed files with 100 additions and 9 deletions
+14 -1
View File
@@ -85,6 +85,19 @@ function plan_watermark_logo_svg(): string
. '</svg>';
}
/**
* Beschriftung des Wasserzeichens: die Marketing-Domain ohne Schema
* ("kaffeeliste.de"). Laesst sie sich nicht ermitteln, bleibt der Name der
* App uebrig. Wird von der Web-Ansicht und vom PDF-Ausdruck gemeinsam
* genutzt, damit beide dieselbe Adresse nennen.
*/
function plan_watermark_label(): string
{
$url = app_marketing_url();
return $url !== '' ? (string)preg_replace('#^https?://#i', '', $url) : 'Kaffeeliste';
}
/**
* Markup des Wasserzeichens. Ohne erreichbare Marketing-Domain (CLI,
* ungewoehnliche Hosts) bleibt es bei Logo und Namen ohne Link - ein
@@ -93,7 +106,7 @@ function plan_watermark_logo_svg(): string
function plan_watermark_html(): string
{
$url = app_marketing_url();
$label = $url !== '' ? preg_replace('#^https?://#i', '', $url) : 'Kaffeeliste';
$label = plan_watermark_label();
$inner = plan_watermark_logo_svg()
. '<span class="plan-watermark-text">' . htmlspecialchars($label, ENT_QUOTES, 'UTF-8') . '</span>';