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