Adding upstream version 20241201.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
5f5109ce41
commit
f8d74cc725
216 changed files with 7490 additions and 0 deletions
146
plugins/55/wrap/action.php
Normal file
146
plugins/55/wrap/action.php
Normal file
|
@ -0,0 +1,146 @@
|
|||
<?php
|
||||
/**
|
||||
* Action Component for the Wrap Plugin
|
||||
*
|
||||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
|
||||
class action_plugin_wrap extends DokuWiki_Action_Plugin {
|
||||
|
||||
/**
|
||||
* register the eventhandlers
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function register(Doku_Event_Handler $controller){
|
||||
$controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'handle_toolbar', array ());
|
||||
$controller->register_hook('HTML_SECEDIT_BUTTON', 'BEFORE', $this, 'handle_secedit_button');
|
||||
}
|
||||
|
||||
function handle_toolbar(Doku_Event $event, $param) {
|
||||
$syntaxDiv = $this->getConf('syntaxDiv');
|
||||
$syntaxSpan = $this->getConf('syntaxSpan');
|
||||
|
||||
$event->data[] = array (
|
||||
'type' => 'picker',
|
||||
'title' => $this->getLang('picker'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/picker.png',
|
||||
'list' => array(
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('column'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/column.png',
|
||||
'open' => '<'.$syntaxDiv.' group>\n<'.$syntaxDiv.' half column>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n\n<'.$syntaxDiv.' half column>\n\n</'.$syntaxDiv.'>\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('box'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/box.png',
|
||||
'open' => '<'.$syntaxDiv.' center round box 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('info'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/info.png',
|
||||
'open' => '<'.$syntaxDiv.' center round info 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('tip'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/tip.png',
|
||||
'open' => '<'.$syntaxDiv.' center round tip 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('important'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/important.png',
|
||||
'open' => '<'.$syntaxDiv.' center round important 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('alert'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/alert.png',
|
||||
'open' => '<'.$syntaxDiv.' center round alert 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('help'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/help.png',
|
||||
'open' => '<'.$syntaxDiv.' center round help 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('download'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/download.png',
|
||||
'open' => '<'.$syntaxDiv.' center round download 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('todo'),
|
||||
'icon' => '../../plugins/wrap/images/note/16/todo.png',
|
||||
'open' => '<'.$syntaxDiv.' center round todo 60%>\n',
|
||||
'close' => '\n</'.$syntaxDiv.'>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'insert',
|
||||
'title' => $this->getLang('clear'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/clear.png',
|
||||
'insert' => '<'.$syntaxDiv.' clear/>\n',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('em'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/em.png',
|
||||
'open' => '<'.$syntaxSpan.' em>',
|
||||
'close' => '</'.$syntaxSpan.'>',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('hi'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/hi.png',
|
||||
'open' => '<'.$syntaxSpan.' hi>',
|
||||
'close' => '</'.$syntaxSpan.'>',
|
||||
),
|
||||
array(
|
||||
'type' => 'format',
|
||||
'title' => $this->getLang('lo'),
|
||||
'icon' => '../../plugins/wrap/images/toolbar/lo.png',
|
||||
'open' => '<'.$syntaxSpan.' lo>',
|
||||
'close' => '</'.$syntaxSpan.'>',
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle section edit buttons, prevents section buttons inside the wrap plugin from being rendered
|
||||
*
|
||||
* @param Doku_Event $event The event object
|
||||
* @param array $param Parameters for the event
|
||||
*/
|
||||
public function handle_secedit_button(Doku_Event $event, $param) {
|
||||
// counter of the number of currently opened wraps
|
||||
static $wraps = 0;
|
||||
$data = $event->data;
|
||||
|
||||
if ($data['target'] == 'plugin_wrap_start') {
|
||||
++$wraps;
|
||||
} elseif ($data['target'] == 'plugin_wrap_end') {
|
||||
--$wraps;
|
||||
} elseif ($wraps > 0 && $data['target'] == 'section') {
|
||||
$event->preventDefault();
|
||||
$event->stopPropagation();
|
||||
$event->result = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue