xref: /plugin/combo/action/eventsystem.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1*04fd306cSNickeau<?php
2*04fd306cSNickeau/**
3*04fd306cSNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved.
4*04fd306cSNickeau *
5*04fd306cSNickeau * This source code is licensed under the GPL license found in the
6*04fd306cSNickeau * COPYING  file in the root directory of this source tree.
7*04fd306cSNickeau *
8*04fd306cSNickeau * @license  GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
9*04fd306cSNickeau * @author   ComboStrap <support@combostrap.com>
10*04fd306cSNickeau *
11*04fd306cSNickeau *
12*04fd306cSNickeau */
13*04fd306cSNickeau
14*04fd306cSNickeauuse ComboStrap\Console;
15*04fd306cSNickeauuse ComboStrap\Event;
16*04fd306cSNickeauuse ComboStrap\ExceptionCompile;
17*04fd306cSNickeauuse ComboStrap\ExceptionNotFound;
18*04fd306cSNickeauuse ComboStrap\ExceptionRuntimeInternal;
19*04fd306cSNickeauuse ComboStrap\ExecutionContext;
20*04fd306cSNickeauuse ComboStrap\FileSystems;
21*04fd306cSNickeauuse ComboStrap\LogUtility;
22*04fd306cSNickeauuse ComboStrap\MarkupPath;
23*04fd306cSNickeauuse ComboStrap\Meta\Store\MetadataDbStore;
24*04fd306cSNickeauuse ComboStrap\Meta\Store\MetadataDokuWikiStore;
25*04fd306cSNickeauuse ComboStrap\PluginUtility;
26*04fd306cSNickeauuse ComboStrap\Reference;
27*04fd306cSNickeauuse ComboStrap\References;
28*04fd306cSNickeau
29*04fd306cSNickeau
30*04fd306cSNickeau/**
31*04fd306cSNickeau * Just start our own event system
32*04fd306cSNickeau */
33*04fd306cSNickeauclass action_plugin_combo_eventsystem extends DokuWiki_Action_Plugin
34*04fd306cSNickeau{
35*04fd306cSNickeau
36*04fd306cSNickeau
37*04fd306cSNickeau    const CANONICAL = "event";
38*04fd306cSNickeau
39*04fd306cSNickeau    public function register(Doku_Event_Handler $controller)
40*04fd306cSNickeau    {
41*04fd306cSNickeau
42*04fd306cSNickeau        /**
43*04fd306cSNickeau         * Process the event table
44*04fd306cSNickeau         *
45*04fd306cSNickeau         * We do it after because if there is an error
46*04fd306cSNickeau         * It will not stop the Dokuwiki Processing
47*04fd306cSNickeau         */
48*04fd306cSNickeau        $controller->register_hook('INDEXER_TASKS_RUN', 'AFTER', $this, 'processEventTable', array());
49*04fd306cSNickeau
50*04fd306cSNickeau
51*04fd306cSNickeau    }
52*04fd306cSNickeau
53*04fd306cSNickeau    /**
54*04fd306cSNickeau     */
55*04fd306cSNickeau    public function processEventTable(Doku_Event $event, $param)
56*04fd306cSNickeau    {
57*04fd306cSNickeau
58*04fd306cSNickeau
59*04fd306cSNickeau        /**
60*04fd306cSNickeau         * Process the async event
61*04fd306cSNickeau         */
62*04fd306cSNickeau        Event::dispatchEvent();
63*04fd306cSNickeau
64*04fd306cSNickeau
65*04fd306cSNickeau    }
66*04fd306cSNickeau
67*04fd306cSNickeau
68*04fd306cSNickeau
69*04fd306cSNickeau
70*04fd306cSNickeau}
71*04fd306cSNickeau
72*04fd306cSNickeau
73*04fd306cSNickeau
74