no message

This commit is contained in:
2025-11-04 11:31:14 +01:00
parent 6bd5b64a03
commit e4ff672b73

View File

@@ -49,31 +49,56 @@ class Abrechnung extends IPSModule
}
}
public function RequestAction($Ident, $Value)
{
IPS_LogMessage('Abrechnung', "RequestAction: $Ident");
public function RequestAction($Ident, $Value)
{
IPS_LogMessage('Abrechnung', "RequestAction: $Ident");
switch ($Ident) {
case 'FromDate':
case 'ToDate':
SetValue($this->GetIDForIdent($Ident), $Value);
break;
switch ($Ident) {
case 'FromDate':
case 'ToDate':
SetValue($this->GetIDForIdent($Ident), $Value);
break;
case 'StartBilling':
case 'StartBilling':
IPS_LogMessage('Abrechnung', 'Starte Abrechnung...');
try {
$pdfContent = $this->GenerateInvoices();
if ($pdfContent) {
$mediaID = $this->GetIDForIdent('InvoicePDF');
IPS_SetMediaContent($mediaID, base64_encode($pdfContent));
SetValue($this->GetIDForIdent('LastResult'), 'Abrechnung vom ' . date('d.m.Y H:i'));
IPS_LogMessage('Abrechnung', '✅ Abrechnung erfolgreich gespeichert');
echo "✅ PDF erfolgreich erstellt.";
} else {
IPS_LogMessage('Abrechnung', '❌ Fehler bei PDF-Erstellung');
echo "❌ Fehler bei der PDF-Erstellung";
if ($pdfContent === false) {
IPS_LogMessage('Abrechnung', '❌ GenerateInvoices() lieferte false zurück');
echo "❌ Fehler bei der PDF-Erstellung (GenerateInvoices)";
return;
}
break;
}
if ($pdfContent === null) {
IPS_LogMessage('Abrechnung', '❌ GenerateInvoices() gab null zurück');
echo "❌ Fehler bei der PDF-Erstellung (leer)";
return;
}
if (strlen($pdfContent) < 100) {
IPS_LogMessage('Abrechnung', '❌ PDF-Inhalt zu kurz: ' . strlen($pdfContent));
echo "❌ Fehler bei der PDF-Erstellung (leeres PDF)";
return;
}
$mediaID = $this->GetIDForIdent('InvoicePDF');
if (!$mediaID) {
IPS_LogMessage('Abrechnung', '❌ Media-ID nicht gefunden');
echo "❌ Kein Media-Objekt vorhanden";
return;
}
IPS_SetMediaContent($mediaID, base64_encode($pdfContent));
SetValue($this->GetIDForIdent('LastResult'), 'Abrechnung vom ' . date('d.m.Y H:i'));
IPS_LogMessage('Abrechnung', '✅ Abrechnung erfolgreich gespeichert (' . strlen($pdfContent) . ' Bytes)');
echo "✅ PDF erfolgreich erstellt.";
} catch (Throwable $e) {
IPS_LogMessage('Abrechnung', '💥 Exception in StartBilling: ' . $e->getMessage());
echo "❌ Ausnahmefehler: " . $e->getMessage();
}
break;
}
}
// ====================== PDF-Logik ======================