feat: Implement invoice generation and emailing functionality

- Added invoice generation logic using DomPDF.
- Integrated invoice data retrieval from the API.
- Implemented language determination for invoices based on customer data.
- Added options to email invoices to customers and admin.
- Included HTML output option for direct viewing in the browser.
- Ensured proper redirection and error handling throughout the process.
This commit is contained in:
“VeLiTi”
2026-01-07 14:36:48 +01:00
parent 543f0b3cac
commit 08263c7933
46 changed files with 4982 additions and 151 deletions

View File

@@ -319,6 +319,21 @@ $firmwaretool_step_5 = 'Gdy oprogramowanie jest dostępne: Pasek stanu pokaże "
$firmwaretool_step_6 = 'Gdy oprogramowanie jest dostępne: Upewnij się, że SN i HW zostały odczytane z urządzenia i potwierdź to zaznaczając pole "Potwierdzam, że SN i HW zostały odczytane z urządzenia"';
$firmwaretool_step_7 = 'Naciśnij przycisk <i>"Aktualizuj oprogramowanie"</i>, aby uruchomić okno aktualizacji oprogramowania i postępuj zgodnie z instrukcjami na ekranie';
$firmwaretool_step_8 = '<b>Uwaga: Ten proces nie może zostać przerwany i musi się zakończyć.</b>';
$softwaretool_h2 = 'Narzędzie aktualizacji oprogramowania';
$softwaretool_p = 'Opcje aktualizacji oprogramowania.';
$softwaretool_step = 'Instrukcje';
$softwaretool_step_1 = 'Podłącz urządzenie do komputera przez USB. (Znajduje się pod pokrywą baterii)';
$softwaretool_step_2 = 'Naciśnij przycisk "<i>połącz</i>"';
$softwaretool_step_3 = 'Pojawi się okno popup z prośbą o wybranie urządzenia. Wybierz urządzenie klikając na nie, a następnie naciśnij przycisk połącz.';
$softwaretool_step_4 = 'Po zniknięciu okna popup urządzenie zostanie odczytane, pasek stanu pokaże postęp';
$softwaretool_step_5 = 'Dostępne aktualizacje oprogramowania zostaną wyświetlone z Nazwą, Opisem i Ceną';
$softwaretool_step_6 = 'Wybierz wersję oprogramowania';
$softwaretool_step_7 = 'W przypadku płatnych aktualizacji postępuj zgodnie z procesem płatności';
$softwaretool_step_8 = '<b>Uwaga: Ten proces nie może zostać przerwany i musi się zakończyć.</b>';
$softwaretool_no_updates = 'Nie znaleziono aktualizacji oprogramowania';
$softwaretool_checking = 'Sprawdzanie aktualizacji oprogramowania...';
$softwaretool_available = 'Dostępne aktualizacje oprogramowania';
$softwaretool_select_upgrade = 'Wybierz opcję aktualizacji:';
$newuser_subject = 'Użytkownik CustomerPortal utworzony';
$newuser_header = 'Szanowny użytkowniku CustomerPortal';
$newuser_text = 'Administrator CustomerPortal przyznał Ci dostęp do CustomerPortal. Aby ukończyć konfigurację konta, musisz zaktualizować hasło za pomocą poniższego linku.';