1bd01c8ecSGerry Weißbach<?php 2bd01c8ecSGerry Weißbach/** 3bd01c8ecSGerry Weißbach * Box Plugin 4bd01c8ecSGerry Weißbach * 5bd01c8ecSGerry Weißbach * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 6bd01c8ecSGerry Weißbach * @author i-net software <tools@inetsoftware.de> 7bd01c8ecSGerry Weißbach * @author Gerry Weissbach <gweissbach@inetsoftware.de> 8bd01c8ecSGerry Weißbach */ 9bd01c8ecSGerry Weißbach 10bd01c8ecSGerry Weißbach// must be run within Dokuwiki 11bd01c8ecSGerry Weißbachif(!defined('DOKU_INC')) die(); 12bd01c8ecSGerry Weißbach 13bd01c8ecSGerry Weißbachif(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 14bd01c8ecSGerry Weißbachrequire_once(DOKU_PLUGIN.'action.php'); 15bd01c8ecSGerry Weißbach 16cc863027SGerry Weißbachclass action_plugin_box2 extends DokuWiki_Action_Plugin { 17bd01c8ecSGerry Weißbach 1812700fb9SGerry Weißbach function register(Doku_Event_Handler $controller) { 19bd01c8ecSGerry Weißbach $controller->register_hook('ACTION_SHOW_REDIRECT', 'BEFORE', $this, 'act_box_redirect_execute'); 20bd01c8ecSGerry Weißbach } 21bd01c8ecSGerry Weißbach 22*57014b88SGerry Weißbach function act_box_redirect_execute( Doku_Event &$event ) { 23bd01c8ecSGerry Weißbach global $PRE; 24bd01c8ecSGerry Weißbach global $TEXT; 25bd01c8ecSGerry Weißbach 26bd01c8ecSGerry Weißbach if ( !empty($event->data['fragment']) ) { return; } 27bd01c8ecSGerry Weißbach if ( $event->data['preact'] == 'save' ) { return; } 28bd01c8ecSGerry Weißbach 29bd01c8ecSGerry Weißbach if($PRE && preg_match('/^\s*<box.*?\|([^>\n]+)/',$TEXT,$match)){ 30bd01c8ecSGerry Weißbach $check = false; //Byref 31bd01c8ecSGerry Weißbach $event->data['fragment'] = sectionID($match[1], $check); 32bd01c8ecSGerry Weißbach } 33bd01c8ecSGerry Weißbach } 34bd01c8ecSGerry Weißbach} 35