1<?php
2/**
3 * DokuWiki Plugin structgantt (Action Component)
4 *
5 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
6 * @author  Andreas Gohr <dokuwiki@cosmocode.de>
7 */
8
9
10// must be run within Dokuwiki
11if(!defined('DOKU_INC')) die();
12
13class action_plugin_structgantt extends DokuWiki_Action_Plugin {
14
15    /**
16     * Registers a callback function for a given event
17     *
18     * @param Doku_Event_Handler $controller DokuWiki's event controller object
19     * @return void
20     */
21    public function register(Doku_Event_Handler $controller) {
22        $controller->register_hook('PLUGIN_STRUCT_CONFIGPARSER_UNKNOWNKEY', 'BEFORE', $this, 'handle_configparser');
23    }
24
25    /**
26     * Add our own config keys
27     *
28     * @param Doku_Event $event event object by reference
29     * @param mixed $param [the parameters passed as fifth argument to register_hook() when this
30     *                           handler was registered]
31     */
32    public function handle_configparser(Doku_Event $event, $param) {
33        if(!in_array($event->data['key'], array('skipweekend', 'skipweekends'))) return;
34        $event->preventDefault();
35        $event->stopPropagation();
36        $event->data['config']['skipweekends'] = (bool) $event->data['val'];
37    }
38
39}
40