diff options
author | sembrestels <sembrestels@riseup.net> | 2011-10-13 15:23:11 +0200 |
---|---|---|
committer | sembrestels <sembrestels@riseup.net> | 2011-10-13 15:23:11 +0200 |
commit | 74bd6999c5e5c23ebbf90dbb6bdaabbddd7594cf (patch) | |
tree | 834c120d692be288f261bcae169eedd3d6b31d74 /vendors/dokuwiki/lib/plugins/note | |
parent | f8be8643f0faadb2c0ce87d553b7b9d569af5afd (diff) | |
download | elgg-74bd6999c5e5c23ebbf90dbb6bdaabbddd7594cf.tar.gz elgg-74bd6999c5e5c23ebbf90dbb6bdaabbddd7594cf.tar.bz2 |
Rename lib/dokuwiki to vendors/dokuwiki
Diffstat (limited to 'vendors/dokuwiki/lib/plugins/note')
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/important.png | bin | 0 -> 2250 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/note.png | bin | 0 -> 2520 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/tb_important.png | bin | 0 -> 1366 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/tb_note.png | bin | 0 -> 1461 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/tb_tip.png | bin | 0 -> 1441 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/tb_warning.png | bin | 0 -> 1870 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/tip.png | bin | 0 -> 2909 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/images/warning.png | bin | 0 -> 3249 bytes | |||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/info.txt | 8 | ||||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/script.js | 36 | ||||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/style.css | 41 | ||||
-rw-r--r-- | vendors/dokuwiki/lib/plugins/note/syntax.php | 191 |
12 files changed, 276 insertions, 0 deletions
diff --git a/vendors/dokuwiki/lib/plugins/note/images/important.png b/vendors/dokuwiki/lib/plugins/note/images/important.png Binary files differnew file mode 100644 index 000000000..dc8c8a457 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/important.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/note.png b/vendors/dokuwiki/lib/plugins/note/images/note.png Binary files differnew file mode 100644 index 000000000..df1e0a926 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/note.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/tb_important.png b/vendors/dokuwiki/lib/plugins/note/images/tb_important.png Binary files differnew file mode 100644 index 000000000..d853518de --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/tb_important.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/tb_note.png b/vendors/dokuwiki/lib/plugins/note/images/tb_note.png Binary files differnew file mode 100644 index 000000000..f5c931603 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/tb_note.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/tb_tip.png b/vendors/dokuwiki/lib/plugins/note/images/tb_tip.png Binary files differnew file mode 100644 index 000000000..f127e91c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/tb_tip.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/tb_warning.png b/vendors/dokuwiki/lib/plugins/note/images/tb_warning.png Binary files differnew file mode 100644 index 000000000..892c83393 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/tb_warning.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/tip.png b/vendors/dokuwiki/lib/plugins/note/images/tip.png Binary files differnew file mode 100644 index 000000000..2000f2085 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/tip.png diff --git a/vendors/dokuwiki/lib/plugins/note/images/warning.png b/vendors/dokuwiki/lib/plugins/note/images/warning.png Binary files differnew file mode 100644 index 000000000..3c8a37df5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/images/warning.png diff --git a/vendors/dokuwiki/lib/plugins/note/info.txt b/vendors/dokuwiki/lib/plugins/note/info.txt new file mode 100644 index 000000000..5226345f4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/info.txt @@ -0,0 +1,8 @@ +# General Plugin Info do not edit + +author Olivier Cortès / Eric Hameleers / Christopher Smith / Aurélien Bompard +email olive@deep-ocean.net +date 2009-06-15 +name Note Plugin +desc Add Note/Important/Tip/Warning Capability (DIV+CSS box) +url http://www.dokuwiki.org/plugin:note diff --git a/vendors/dokuwiki/lib/plugins/note/script.js b/vendors/dokuwiki/lib/plugins/note/script.js new file mode 100644 index 000000000..c21120727 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/script.js @@ -0,0 +1,36 @@ +/* Add Note buttons to the toolbar */ +/* from http://wiki.splitbrain.org/wiki:tips:toolbarbutton */ + +/* Disabled because this does not allow to select a text and turn it into a note like the type:format does +var notes_arr = new Array(); // key = insertion string , value = icon filename. +notes_arr['<note></note>\\n']='tb_note.png'; +notes_arr['<note tip></note>\\n']='tb_tip.png'; +notes_arr['<note important></note>\\n']='tb_important.png'; +notes_arr['<note warning></note>\\n']='tb_warning.png'; + +toolbar[toolbar.length] = {"type":"picker", + "title":"Notes", + "icon":"../../plugins/note/images/tb_note.png", + "key":"", + "list": notes_arr, + "icobase":"../plugins/note/images"}; +*/ + +if(toolbar){ + toolbar[toolbar.length] = {"type":"format", "title":"note", "key":"", + "icon":"../../plugins/note/images/tb_note.png", + "open":"<note>", "close":"</note>" + }; + toolbar[toolbar.length] = {"type":"format", "title":"tip", "key":"", + "icon":"../../plugins/note/images/tb_tip.png", + "open":"<note tip>", "close":"</note>" + }; + toolbar[toolbar.length] = {"type":"format", "title":"important", "key":"", + "icon":"../../plugins/note/images/tb_important.png", + "open":"<note important>", "close":"</note>" + }; + toolbar[toolbar.length] = {"type":"format", "title":"warning", "key":"", + "icon":"../../plugins/note/images/tb_warning.png", + "open":"<note warning>", "close":"</note>" + }; +} diff --git a/vendors/dokuwiki/lib/plugins/note/style.css b/vendors/dokuwiki/lib/plugins/note/style.css new file mode 100644 index 000000000..8b97dea06 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/style.css @@ -0,0 +1,41 @@ +.noteclassic, .noteimportant, .notewarning, .notetip { + margin: 2em; + margin-left: auto; + margin-right: auto; + width: 70% !important; + min-height: 40px; + clear: both; + text-align: justify; + vertical-align: middle; + border-collapse: collapse; + padding: 15px 20px 15px 80px; + background-position: 20px 50%; + background-repeat: no-repeat; + -moz-border-radius: 20px; + -khtml-border-radius: 20px; + border-radius: 20px; +} + +.noteclassic { + /*border: 1px solid #99D;*/ + background-color: #eef; + background-image: url(images/note.png); +} + +.noteimportant { + /*border: 1px solid #ff0;*/ + background-color: #ffc; + background-image: url(images/important.png); +} + +.notewarning { + /*border: 1px solid #d99;*/ + background-color: #fdd; + background-image: url(images/warning.png); +} + +.notetip { + /*border: 1px solid #9d9;*/ + background-color: #dfd; + background-image: url(images/tip.png); +} diff --git a/vendors/dokuwiki/lib/plugins/note/syntax.php b/vendors/dokuwiki/lib/plugins/note/syntax.php new file mode 100644 index 000000000..368d0d412 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/note/syntax.php @@ -0,0 +1,191 @@ +<?php +/** + * Add Note capability to dokuwiki + * + * <note>This is note</note> + * <note classic>This is note</note> + * <note important>This is an important note</note> + * <note warning>This is a big warning</note> + * <note tip>This is a tip</note> + * + * by Olivier Cortès <olive@deep-ocean.net> + * under the terms of the GNU GPL v2. + * + * Originaly derived from the work of : + * Stephane Chamberland <stephane.chamberland@ec.gc.ca> (Side Notes PlugIn) + * Carl-Christian Salvesen <calle@ioslo.net> (Graphviz plugin) + * + * Contributions by Eric Hameleers <alien [at] slackware [dot] com> : + * use <div> instead of <table>, + * contain the images and stylesheet inside the plugin, + * permit nesting of notes, + * + * Contributed by Christopher Smith <chris [at] jalakai [dot] co [dot] uk> + * fix some parsing problems and a security hole. + * make note types case independent + * simplify code reading + * modernise the plugin for changes/fixes/improvements to the underlying Dokuwiki plugin class, + * improve efficiency. + * + * Contributed by Aurélien Bompard <aurelien [at] bompard [dot] org> + * support for the ODT output format. + * + * @license GNU_GPL_v2 + * @author Olivier Cortes <olive@deep-ocean.net> + */ + +if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); +if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); +require_once(DOKU_PLUGIN.'syntax.php'); + + +class syntax_plugin_note extends DokuWiki_Syntax_Plugin { + + var $notes = array( + 'noteimportant' => array('important', 'importante'), + 'notewarning' => array('warning','bloquante','critique'), + 'notetip' => array('tip','tuyau','idée'), + 'noteclassic' => array('','classic','classique') + ); + + var $default = 'noteclassic'; + + function getInfo(){ + return confToHash(dirname(__FILE__).'/info.txt'); + } + + + function getType(){ return 'container'; } + function getPType(){ return 'normal'; } + function getAllowedTypes() { + return array('container','substition','protected','disabled','formatting','paragraphs'); + } + function getSort(){ return 195; } + + // override default accepts() method to allow nesting + // - ie, to get the plugin accepts its own entry syntax + function accepts($mode) { + if ($mode == substr(get_class($this), 7)) return true; + return parent::accepts($mode); + } + + function connectTo($mode) { + $this->Lexer->addEntryPattern('<note.*?>(?=.*?</note>)',$mode,'plugin_note'); + } + function postConnect() { + $this->Lexer->addExitPattern('</note>','plugin_note'); + } + + function handle($match, $state, $pos, &$handler){ + + switch ($state) { + + case DOKU_LEXER_ENTER : + $note = strtolower(trim(substr($match,5,-1))); + + foreach( $this->notes as $class => $names ) { + if (in_array($note, $names)) + return array($state, $class); + } + + return array($state, $this->default); + + case DOKU_LEXER_UNMATCHED : + return array($state, $match); + + default: + return array($state); + } + } + + function render($mode, &$renderer, $indata) { + + if($mode == 'xhtml'){ + + list($state, $data) = $indata; + + switch ($state) { + case DOKU_LEXER_ENTER : + $renderer->doc .= '<p><div class="'.$data.'">'; + break; + + case DOKU_LEXER_UNMATCHED : + $renderer->doc .= $renderer->_xmlEntities($data); + break; + + case DOKU_LEXER_EXIT : + $renderer->doc .= "\n</div></p>"; + break; + } + return true; + + } elseif ($mode == 'odt'){ + + list($state, $data) = $indata; + + switch ($state) { + case DOKU_LEXER_ENTER : + $type = substr($data, 4); + if ($type == "classic") { + $type = "note"; // the icon for classic notes is named note.png + } + $colors = array("note"=>"#eeffff", "warning"=>"#ffdddd", "important"=>"#ffffcc", "tip"=>"#ddffdd"); + $renderer->autostyles["pluginnote"] = ' + <style:style style:name="pluginnote" style:family="table"> + <style:table-properties style:width="15cm" table:align="center" style:shadow="#808080 0.18cm 0.18cm"/> + </style:style>'; + $renderer->autostyles["pluginnote.A"] = ' + <style:style style:name="pluginnote.A" style:family="table-column"> + <style:table-column-properties style:column-width="1.5cm"/> + </style:style>'; + $renderer->autostyles["pluginnote.B"] = ' + <style:style style:name="pluginnote.B" style:family="table-column"> + <style:table-column-properties style:column-width="13.5cm"/> + </style:style>'; + $renderer->autostyles["pluginnote".$type.".A1"] = ' + <style:style style:name="pluginnote'.$type.'.A1" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.1cm" fo:border-left="0.002cm solid #000000" fo:border-right="none" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:background-color="'.$colors[$type].'"/> + </style:style>'; + $renderer->autostyles["pluginnote".$type.".B1"] = ' + <style:style style:name="pluginnote'.$type.'.B1" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.3cm" fo:border-left="none" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:background-color="'.$colors[$type].'"/> + </style:style>'; + // Content + $renderer->p_close(); + $renderer->doc .= '<table:table table:name="" table:style-name="pluginnote">'; + $renderer->doc .= '<table:table-column table:style-name="pluginnote.A"/>'; + $renderer->doc .= '<table:table-column table:style-name="pluginnote.B"/>'; + $renderer->doc .= '<table:table-row>'; + $renderer->doc .= '<table:table-cell table:style-name="pluginnote'.$type.'.A1" office:value-type="string">'; + // Don't use p_open, as it's not the same style-name + $renderer->doc .= '<text:p text:style-name="Table_20_Contents">'; + $src = DOKU_PLUGIN."note/images/".$type.".png"; + $renderer->_odtAddImage($src); + $renderer->doc .= '</text:p>'; + $renderer->doc .= '</table:table-cell>'; + $renderer->doc .= '<table:table-cell table:style-name="pluginnote'.$type.'.B1" office:value-type="string">'; + $renderer->p_open(); + break; + + case DOKU_LEXER_UNMATCHED : + $renderer->cdata($data); + break; + + case DOKU_LEXER_EXIT : + $renderer->p_close(); + $renderer->doc .= '</table:table-cell>'; + $renderer->doc .= '</table:table-row>'; + $renderer->doc .= '</table:table>'; + $renderer->p_open(); + break; + } + return true; + } + + // unsupported $mode + return false; + } +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : +?> |