*/ use dokuwiki\Extension\Event; /** * just intercepts ACTION_ACT_PREPROCESS and emits two new events * * We have two action components handling above event but need them to execute in a specific order. * That's currently not possible to guarantee, so we catch the event only once and emit two of our own * in the right order. Once DokuWiki supports a sort we can skip this. */ class action_plugin_edittable_preprocess extends DokuWiki_Action_Plugin { /** * Register its handlers with the DokuWiki's event controller */ public function register(Doku_Event_Handler $controller) { // register preprocessing for accepting editor data $controller->register_hook('ACTION_ACT_PREPROCESS', 'BEFORE', $this, 'handle_preprocess'); } /** * See class description for WTF we're doing here * * @param Doku_Event $event */ public function handle_preprocess(Doku_Event $event) { Event::createAndTrigger('PLUGIN_EDITTABLE_PREPROCESS_EDITOR', $event->data); Event::createAndTrigger('PLUGIN_EDITTABLE_PREPROCESS_NEWTABLE', $event->data); } }