xref: /plugin/box2/action.php (revision cc863027d87367b282fdef2d791786a3c1aaa08d)
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
16*cc863027SGerry 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
22bd01c8ecSGerry Weißbach	function act_box_redirect_execute( &$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