1*63314d65SLeo Eibler<?php 2*63314d65SLeo Eibler 3*63314d65SLeo Eibler/** 4*63314d65SLeo Eibler * ToDo Action Plugin: Inserts button for ToDo plugin into toolbar 5*63314d65SLeo Eibler * 6*63314d65SLeo Eibler * Original Example: http://www.dokuwiki.org/devel:action_plugins 7*63314d65SLeo Eibler * @author Babbage <babbage@digitalbrink.com> 8*63314d65SLeo Eibler */ 9*63314d65SLeo Eibler 10*63314d65SLeo Eiblerif (!defined('DOKU_INC')) die(); 11*63314d65SLeo Eiblerif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/'); 12*63314d65SLeo Eiblerrequire_once (DOKU_PLUGIN . 'action.php'); 13*63314d65SLeo Eibler 14*63314d65SLeo Eiblerclass action_plugin_todo extends DokuWiki_Action_Plugin { 15*63314d65SLeo Eibler 16*63314d65SLeo Eibler /** 17*63314d65SLeo Eibler * Return some info 18*63314d65SLeo Eibler */ 19*63314d65SLeo Eibler function getInfo() { 20*63314d65SLeo Eibler return array ( 21*63314d65SLeo Eibler 'author' => 'Babbage', 22*63314d65SLeo Eibler 'email' => 'babbage@digitalbrink.com', 23*63314d65SLeo Eibler 'date' => '2010-02-27', 24*63314d65SLeo Eibler 'name' => 'ToDo Action Plugin', 25*63314d65SLeo Eibler 'desc' => 'Inserts a ToDo button into the editor toolbar', 26*63314d65SLeo Eibler 'url' => 'http://www.dokuwiki.org/plugin:todo', 27*63314d65SLeo Eibler 28*63314d65SLeo Eibler ); 29*63314d65SLeo Eibler } 30*63314d65SLeo Eibler 31*63314d65SLeo Eibler /** 32*63314d65SLeo Eibler * Register the eventhandlers 33*63314d65SLeo Eibler */ 34*63314d65SLeo Eibler function register(&$controller) { 35*63314d65SLeo Eibler $controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'insert_button', array ()); 36*63314d65SLeo Eibler } 37*63314d65SLeo Eibler 38*63314d65SLeo Eibler /** 39*63314d65SLeo Eibler * Inserts the toolbar button 40*63314d65SLeo Eibler */ 41*63314d65SLeo Eibler function insert_button(&$event, $param) { 42*63314d65SLeo Eibler $event->data[] = array( 43*63314d65SLeo Eibler 'type' => 'format', 44*63314d65SLeo Eibler 'title' => $this->getLang('qb_todobutton'), 45*63314d65SLeo Eibler 'icon' => '../../plugins/todo/todo.png', 46*63314d65SLeo Eibler 'key' => 't', 47*63314d65SLeo Eibler 'open' => '<todo>', 48*63314d65SLeo Eibler 'close' => '</todo>', 49*63314d65SLeo Eibler ); 50*63314d65SLeo Eibler } 51*63314d65SLeo Eibler 52*63314d65SLeo Eibler} 53