It's better when it's simple

User Tools

Site Tools



intercept page writes
writes a wiki page to disk

The event is signalled by io_writeWikiPage() in inc/io.php.

The page content may be modified by action plugins between DokuWiki and the disk.

Page creation may be detected by checking if the file already exists and the revision is false.

Page deletion may be detected by checking for empty page content. On update to an existing page this event is called twice, once for the transfer of the old version to the attic (rev will have a value) and once to write the new version of the page into the wiki (rev is false)

Passed Data

The passed Doku_Event object has the fields $data and $result.

The $data field is an array with the entries:

  • $data[0] – The raw arguments for io_saveFile() as an array. Do not change file path.
    • $data[0][0] – the file path.
    • $data[0][1] – the content to be saved, and may be modified.
    • $data[0][2] – whether given content will be appended, default false.
  • $data[1] – ns: The colon separated namespace path minus the trailing page name. (false if root ns)
  • $data[2] – page_name: The wiki page name.
  • $data[3] – rev: The page revision, false for current wiki pages.

In the BEFORE event handler the $data can be modified, for example to modify the content.

In the AFTER event handler the $result field is available with the boolean result (success or fail) of the _io_writeWikiPage_action() method.

See also

devel/event/io_wikipage_write.txt · Last modified: 2018-12-08 15:46 by torpedo

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki