Skip to content

Commit

Permalink
Fix dw2pdf multipage struct output
Browse files Browse the repository at this point in the history
When the dw2pdf plugin is used to export multiple pages in a
single document, all the pages are rendered in a single instance
of syntax_plugin_struct_output. We want to allow this usecase and
only skip repeated calls for non-dw2pdf renderings.

Signed-off-by: Frieder Schrempf <[email protected]>
  • Loading branch information
fschrempf committed May 8, 2021
1 parent d9b413c commit 05e773d
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion syntax/output.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,19 @@ public function render($format, Doku_Renderer $renderer, $data)
return true;
}
}

if ($ID != $INFO['id']) return true;
if (!$INFO['exists']) return true;
if ($this->hasBeenRendered) return true;

/*
* When the dw2pdf plugin is used to export multiple pages in a
* single document, all the pages are rendered in a single instance
* of syntax_plugin_struct_output. We want to allow this usecase and
* only skip repeated calls for non-dw2pdf renderings.
*/
if (!is_a($renderer, 'renderer_plugin_dw2pdf') && $this->hasBeenRendered)
return true;

if (!preg_match(self::WHITELIST_ACTIONS, act_clean($ACT))) return true;

// do not render the output twice on the same page, e.g. when another page has been included
Expand Down

0 comments on commit 05e773d

Please sign in to comment.