History log of /plugin/dw2pdf/src/ (Results 1 – 25 of 37)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3ddddb3b20-Jul-2026 Andreas Gohr <gohr@cosmocode.de>

rector fixes

a9cd524e20-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 ...

40a07da220-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 ...

4c56911320-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 ...

08b6e06b20-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 ...

506d9b9809-Feb-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Use safer array access

3ef754f405-Feb-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Set up book title to be available for placeholder replacement

631fdc3128-Jan-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Fix failing tests

6444f9a127-Jan-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Fix revision handling

c2e1b45b21-Jan-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Cleanup custom AssetFetcher

3c796bb421-Jan-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Fix media paths by supplying custom AssetFetcher to Mpdf

1a52a77715-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

da4f913315-Jan-2026 Anna Dabrowska <dabrowska@cosmocode.de>

Use caching settings


/plugin/dw2pdf/composer.json
/plugin/dw2pdf/composer.lock
/plugin/dw2pdf/deleted.files
Config.php
PdfExportService.php
/plugin/dw2pdf/vendor/autoload.php
/plugin/dw2pdf/vendor/composer/autoload_psr4.php
/plugin/dw2pdf/vendor/composer/autoload_real.php
/plugin/dw2pdf/vendor/composer/autoload_static.php
/plugin/dw2pdf/vendor/composer/installed.json
/plugin/dw2pdf/vendor/composer/installed.php
/plugin/dw2pdf/vendor/composer/platform_check.php
/plugin/dw2pdf/vendor/mpdf/mpdf/.gitignore
/plugin/dw2pdf/vendor/mpdf/mpdf/CHANGELOG.md
/plugin/dw2pdf/vendor/mpdf/mpdf/composer.json
/plugin/dw2pdf/vendor/mpdf/mpdf/phpstan-baseline.neon
/plugin/dw2pdf/vendor/mpdf/mpdf/src/AssetFetcher.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/AssetFetcherInterface.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/Cache.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/Http/CurlHttpClient.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/Mpdf.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/PageBox.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/ServiceFactory.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/SizeConverter.php
/plugin/dw2pdf/vendor/mpdf/mpdf/src/Writer/FontWriter.php
/plugin/dw2pdf/vendor/mpdf/psr-log-aware-trait/composer.json
/plugin/dw2pdf/vendor/mpdf/psr-log-aware-trait/src/MpdfPsrLogAwareTrait.php
/plugin/dw2pdf/vendor/mpdf/psr-log-aware-trait/src/PsrLogAwareTrait.php
/plugin/dw2pdf/vendor/mpdf/qrcode/.github/workflows/tests.yml
/plugin/dw2pdf/vendor/mpdf/qrcode/composer.json
/plugin/dw2pdf/vendor/mpdf/qrcode/src/Output/Png.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/AbstractLogger.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/InvalidArgumentException.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/LogLevel.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/LoggerInterface.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/LoggerTrait.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/NullLogger.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/Test/DummyTest.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
/plugin/dw2pdf/vendor/psr/log/Psr/Log/Test/TestLogger.php
/plugin/dw2pdf/vendor/psr/log/composer.json
212a1ea528-Nov-2025 Andreas Gohr <andi@splitbrain.org>

fix config attrbutes and extend tests

b08d547027-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.

bee95f0027-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 ...

f200011727-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

01a7083b27-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.

7542e5b427-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

some minor fixes based on PR feedback

7002812726-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

extracted PDF generation and sending out of action

Now only event handling happens in the action handler

5340eaff26-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

rector and codesnifffer fixes

b23d7b8a26-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.

32d393ae26-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

have collectors check for page existance

5eabda9a26-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

fix additional blank page at the end

4526935826-Nov-2025 Andreas Gohr <gohr@cosmocode.de>

address some of the remaining FIXMEs

12