propresenter-php/php
Thorsten Bus 86b4e74577 feat(playlist): add ProPlaylistReader
- Implement ProPlaylistReader::read() following ProFileReader pattern
- ZIP handling: fix headers with Zip64Fixer, extract data + embedded files
- Comprehensive error handling: missing file, empty file, invalid ZIP, missing data entry
- Temp file cleanup in finally block (no leaks on error paths)
- 11 tests, 31 assertions — all pass
- Verified with all 4 .proplaylist test files

Task 7 of proplaylist-module plan complete
2026-03-01 21:04:48 +01:00
..
bin [AI] update CLI and docs with macro, media, and label features 2026-03-01 18:46:12 +01:00
generated feat(playlist): add proto field 5, Zip64Fixer, and format spec 2026-03-01 20:50:14 +01:00
proto feat(playlist): add proto field 5, Zip64Fixer, and format spec 2026-03-01 20:50:14 +01:00
src feat(playlist): add ProPlaylistReader 2026-03-01 21:04:48 +01:00
tests feat(playlist): add ProPlaylistReader 2026-03-01 21:04:48 +01:00
vendor [AI] first parser implementation 2026-03-01 16:12:17 +01:00
.phpunit.result.cache [AI] first parser implementation 2026-03-01 16:12:17 +01:00
composer.json [AI] first parser implementation 2026-03-01 16:12:17 +01:00
composer.lock [AI] first parser implementation 2026-03-01 16:12:17 +01:00
phpunit.xml [AI] first parser implementation 2026-03-01 16:12:17 +01:00