1007225e5Sgerardnico<?php 2007225e5Sgerardnico 3007225e5Sgerardnicouse ComboStrap\LinkUtility; 4007225e5Sgerardnicouse ComboStrap\PluginUtility; 5007225e5Sgerardnico 6007225e5Sgerardnicoif (!defined('DOKU_INC')) die(); 7007225e5Sgerardnicorequire_once(__DIR__ . '/../class/PluginUtility.php'); 8007225e5Sgerardnicorequire_once(__DIR__ . '/../class/LinkUtility.php'); 9007225e5Sgerardnico 10007225e5Sgerardnico/** 11007225e5Sgerardnico * Class action_plugin_combo_move 12007225e5Sgerardnico * Handle the move of a page in order to update the link 13007225e5Sgerardnico */ 14007225e5Sgerardnicoclass action_plugin_combo_linkmove extends DokuWiki_Action_Plugin 15007225e5Sgerardnico{ 16007225e5Sgerardnico 17007225e5Sgerardnico /** 18007225e5Sgerardnico * As explained https://www.dokuwiki.org/plugin:move 19007225e5Sgerardnico * @param Doku_Event_Handler $controller 20007225e5Sgerardnico */ 21007225e5Sgerardnico function register(Doku_Event_Handler $controller) 22007225e5Sgerardnico { 23007225e5Sgerardnico $controller->register_hook('PLUGIN_MOVE_HANDLERS_REGISTER', 'BEFORE', $this, 'handle_move', array()); 24007225e5Sgerardnico } 25007225e5Sgerardnico 26007225e5Sgerardnico /** 27007225e5Sgerardnico * Handle the move of a page 28007225e5Sgerardnico * @param Doku_Event $event 29007225e5Sgerardnico * @param $params 30007225e5Sgerardnico */ 31007225e5Sgerardnico function handle_move(Doku_Event $event, $params) 32007225e5Sgerardnico { 33007225e5Sgerardnico /** 34*ef295d81Sgerardnico * The handlers is the name of the component (ie refers to the {@link syntax_plugin_combo_link} handler) 35*ef295d81Sgerardnico * and 'rewrite_combo' to the below method 36007225e5Sgerardnico */ 37*ef295d81Sgerardnico $event->data['handlers'][syntax_plugin_combo_link::COMPONENT] = array($this, 'rewrite_combo'); 38007225e5Sgerardnico } 39007225e5Sgerardnico 40007225e5Sgerardnico /** 41007225e5Sgerardnico * 42007225e5Sgerardnico * @param $match 43007225e5Sgerardnico * @param $state 44007225e5Sgerardnico * @param $pos 45007225e5Sgerardnico * @param $plugin 46007225e5Sgerardnico * @param helper_plugin_move_handler $handler 47007225e5Sgerardnico */ 48007225e5Sgerardnico public function rewrite_combo($match, $state, $pos, $plugin, helper_plugin_move_handler $handler) 49007225e5Sgerardnico { 50007225e5Sgerardnico /** 51007225e5Sgerardnico * We call the original move method 52007225e5Sgerardnico * that supports Link rewriting 53007225e5Sgerardnico */ 54007225e5Sgerardnico $handler->internallink($match, $state, $pos); 55007225e5Sgerardnico 56007225e5Sgerardnico } 57007225e5Sgerardnico 58007225e5Sgerardnico 59007225e5Sgerardnico} 60