| 3ddddb3b | 20-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
rector fixes |
| a9cd524e | 20-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
require allowdebug for debug output requested via URL
The debug URL parameter dumped the raw mPDF HTML and bypassed the cache for any visitor. It is now honored from the URL only when core allowdebu
require allowdebug for debug output requested via URL
The debug URL parameter dumped the raw mPDF HTML and bypassed the cache for any visitor. It is now honored from the URL only when core allowdebug is enabled; the config/programmatic path stays trusted.
show more ...
|
| 40a07da2 | 20-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
skip forbidden pages and distinguish them from empty selections
Collected pages the user may not read are dropped from the export and remembered separately, so a selection where every page is forbid
skip forbidden pages and distinguish them from empty selections
Collected pages the user may not read are dropped from the export and remembered separately, so a selection where every page is forbidden can be told apart from one where nothing was selected and reports "no read access" instead of "nothing selected". The forbidden message no longer lists the page ids or references the removed 'Skip Forbidden Pages' option; its outdated translations are dropped so they get re-translated.
show more ...
|
| 4c569113 | 20-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
give user feedback for empty or invalid PDF exports
Collectors used to return an empty page list for a missing page, a missing namespace or an empty selection, which then failed silently or crashed
give user feedback for empty or invalid PDF exports
Collectors used to return an empty page list for a missing page, a missing namespace or an empty selection, which then failed silently or crashed when the first page was accessed. They now throw a translated ExportException instead, which the action handler turns into feedback: a flash message and redirect for regular navigations, or an HTTP error with the message in the body for the background download BookCreator uses. Dynamic message parts are HTML escaped because that body is injected into the page via a jQuery html() sink.
show more ...
|
| 08b6e06b | 20-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
fix export of pages named 0
The current page id was only applied as the export default when truthy, so a page literally named "0" was treated as if no page was given. Use blank() so "0" is accepted
fix export of pages named 0
The current page id was only applied as the export default when truthy, so a page literally named "0" was treated as if no page was given. Use blank() so "0" is accepted as a valid id.
show more ...
|
| 506d9b98 | 09-Feb-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Use safer array access |
| 3ef754f4 | 05-Feb-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Set up book title to be available for placeholder replacement |
| 631fdc31 | 28-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Fix failing tests |
| 6444f9a1 | 27-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Fix revision handling |
| c2e1b45b | 21-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Cleanup custom AssetFetcher |
| 3c796bb4 | 21-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Fix media paths by supplying custom AssetFetcher to Mpdf |
| 1a52a777 | 15-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Rename DokuPdf class to avoid accidental deletion based on deleted.files
deleted.files includes DokuPDF already, and on some systems the extension manager might delete DokuPdf as well |
| da4f9133 | 15-Jan-2026 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Use caching settings |
| 212a1ea5 | 28-Nov-2025 |
Andreas Gohr <andi@splitbrain.org> |
fix config attrbutes and extend tests |
| b08d5470 | 27-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
pass the Config object into the renderer
This streamlines the configuration to a single point of entry. The renderer was the last bit not adhering to that. |
| bee95f00 | 27-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
Overhaul chapter/header counting in renderer
Using static variables makes it impossible to automatically test this correctly.
The PDF renderer is now a singleton. The Writer class initializes it an
Overhaul chapter/header counting in renderer
Using static variables makes it impossible to automatically test this correctly.
The PDF renderer is now a singleton. The Writer class initializes it anew for each export, but during the export, the same renderer is reused.
show more ...
|
| f2000117 | 27-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
make PdfExportService reusable in debug mode
This refactors the service so that tests can easily access the produced debug HTML |
| 01a7083b | 27-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
Use attributes in config class to denote how to initialize them
This should make it easier to add new configuration and see with a glance how it is initialized. |
| 7542e5b4 | 27-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
some minor fixes based on PR feedback |
| 70028127 | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
extracted PDF generation and sending out of action
Now only event handling happens in the action handler |
| 5340eaff | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
rector and codesnifffer fixes |
| b23d7b8a | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
for exporting single pages do not rely on $ID
We want the ID to be passed via Config as well. |
| 32d393ae | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
have collectors check for page existance |
| 5eabda9a | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
fix additional blank page at the end |
| 45269358 | 26-Nov-2025 |
Andreas Gohr <gohr@cosmocode.de> |
address some of the remaining FIXMEs |