diff --git a/Abrechnung/module.php b/Abrechnung/module.php
index 58206a6..c5162bc 100644
--- a/Abrechnung/module.php
+++ b/Abrechnung/module.php
@@ -1,7 +1,7 @@
RegisterScript('StartBilling', 'Abrechnung starten', "InstanceID . ", 'StartBilling', ''); ?>");
- // 🧾 Media-Objekt (PDF) anlegen
+ // 🧾 Media-Objekt für das PDF
$this->RegisterMediaDocument('InvoicePDF', 'Letzte Rechnung', 'pdf');
}
+ public function ApplyChanges()
+ {
+ parent::ApplyChanges();
+
+ // Sicherheit: falls TCPDF nicht vorhanden ist
+ if (!class_exists('TCPDF')) {
+ IPS_LogMessage('Abrechnung', '⚠️ TCPDF nicht gefunden! Stelle sicher, dass libs/vendor/autoload.php existiert.');
+ }
+ }
+
private function RegisterMediaDocument($Ident, $Name, $Extension, $Position = 0)
{
$this->RegisterMedia(5, $Ident, $Name, $Extension, $Position);
@@ -69,14 +79,14 @@ class Abrechnung extends IPSModule
SetValue($this->GetIDForIdent('LastResult'), 'Abrechnung ' . date('Y-m-d H:i'));
echo "✅ Abrechnung erfolgreich erstellt.";
} else {
- IPS_LogMessage('Abrechnung', '❌ Fehler bei der PDF-Erstellung');
+ IPS_LogMessage('Abrechnung', '❌ Fehler bei der PDF-Erstellung oder leeres PDF');
echo "❌ Fehler bei der PDF-Erstellung";
}
break;
}
}
- // 🧾 Hauptfunktion: PDF erzeugen (wie in PDFReportMulti)
+ // 🧾 Hauptfunktion: PDF erzeugen (wie SymconReport)
public function GenerateInvoices()
{
$from = GetValue($this->GetIDForIdent('FromDate'));
@@ -94,7 +104,7 @@ class Abrechnung extends IPSModule
IPS_LogMessage('Abrechnung', 'Starte PDF-Erstellung mit TCPDF...');
- // TCPDF initialisieren (wie im SymconReport)
+ // TCPDF initialisieren
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('IPSymcon Abrechnung');
@@ -149,8 +159,8 @@ class Abrechnung extends IPSModule
$pdf->writeHTML("