pp-planer/app/Services
Thorsten Bus fdabaadb89 fix(export): preserve probundle extension and attach slide macros
- store() persisted uploads under Laravel's MIME-guessed extension,
  turning a .probundle (a ZIP) into .zip; embedExportProFile then
  branched on the stored path, missed the bundle branch and embedded
  the raw ZIP as a broken .pro (ProPresenter showed an empty slide).
  Store with the real client extension and derive the bundle type from
  the original filename, treating .zip as a bundle for legacy uploads.
- Skip export .pro/.probundle files that parse to zero content slides,
  recording a German warning instead of injecting an empty slide.
- Attach position macros (first_slide/last_slide/all_slides) per slide
  for information/moderation/sermon parts in the agenda and legacy paths.
- Cover both with ExportProFileProbundleEmbedTest and PlaylistSermonMacroTest.
2026-07-06 11:19:56 +02:00
..
DTO feat(ccli): scaffold CcliPasteParser service 2026-05-10 18:42:21 +02:00
AgendaMatcherService.php feat(service): add AgendaMatcherService with wildcard namesmatching 2026-03-29 11:37:06 +02:00
CcliImportService.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
CcliPasteParser.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
CcliTranslationPairingService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
ChurchToolsService.php refactor(php): rename SongGroup references throughout controllers/services/tests 2026-05-03 22:55:02 +02:00
FileConversionService.php feat(images): cover-fit conversion mode 2026-05-30 23:56:05 +02:00
LabelsImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacroResolutionService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacrosImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
NameTagResolver.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
NameTagSlideBuilder.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
PlaylistExportService.php fix(export): preserve probundle extension and attach slide macros 2026-07-06 11:19:56 +02:00
ProBundleExportService.php feat(export): honor per-service arrangement 2026-07-05 23:16:59 +02:00
ProExportService.php feat(export): honor per-service arrangement 2026-07-05 23:16:59 +02:00
ProImportService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
ServiceImageResolver.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
SongMatchingService.php feat: confirm-state for service songs + service-edit UX fixes 2026-06-21 11:53:55 +02:00
SongPrefixPostfixService.php fix(export): copyright/blank slides, bundle-relative media, probundle injection, song links 2026-06-21 09:58:55 +02:00
SongService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
TranslationService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00