diff options
Diffstat (limited to 'lib')
59 files changed, 546 insertions, 0 deletions
diff --git a/lib/plugins/imagebox/conf/default.php b/lib/plugins/imagebox/conf/default.php new file mode 100755 index 000000000..9d8a2655c --- /dev/null +++ b/lib/plugins/imagebox/conf/default.php @@ -0,0 +1,4 @@ +<?php +$conf['display_magnify'] = 'If necessary'; // Afficher magnify-clip.png, ou pas +$conf['default_caption_style'] = 'Normal'; // Style de la legende par defaut +$conf['center_align'] = 1; // Authoriser le centrage
\ No newline at end of file diff --git a/lib/plugins/imagebox/conf/metadata.php b/lib/plugins/imagebox/conf/metadata.php new file mode 100755 index 000000000..1bcf34fe6 --- /dev/null +++ b/lib/plugins/imagebox/conf/metadata.php @@ -0,0 +1,4 @@ +<?php +$meta['display_magnify'] = array('multichoice','_choices' => array('If necessary','Always','Never')); +$meta['center_align'] = array('onoff'); +$meta['default_caption_style'] = array('multichoice','_choices' => array('Normal','Italic','Bold'));
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ar/lang.php b/lib/plugins/imagebox/lang/ar/lang.php new file mode 100755 index 000000000..54c0c801b --- /dev/null +++ b/lib/plugins/imagebox/lang/ar/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'تكبير';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/bg/lang.php b/lib/plugins/imagebox/lang/bg/lang.php new file mode 100755 index 000000000..6d98147cf --- /dev/null +++ b/lib/plugins/imagebox/lang/bg/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Увеличаване';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ca/lang.php b/lib/plugins/imagebox/lang/ca/lang.php new file mode 100755 index 000000000..5e5142aa0 --- /dev/null +++ b/lib/plugins/imagebox/lang/ca/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Ampliar';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/cs/lang.php b/lib/plugins/imagebox/lang/cs/lang.php new file mode 100755 index 000000000..8d5df6520 --- /dev/null +++ b/lib/plugins/imagebox/lang/cs/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Zvětšit';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/da/lang.php b/lib/plugins/imagebox/lang/da/lang.php new file mode 100755 index 000000000..057d59e34 --- /dev/null +++ b/lib/plugins/imagebox/lang/da/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Forstør';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/de/lang.php b/lib/plugins/imagebox/lang/de/lang.php new file mode 100755 index 000000000..1d63b9726 --- /dev/null +++ b/lib/plugins/imagebox/lang/de/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'vergrößern';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/el/lang.php b/lib/plugins/imagebox/lang/el/lang.php new file mode 100755 index 000000000..eb2f65733 --- /dev/null +++ b/lib/plugins/imagebox/lang/el/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Μεγέθυνση';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/en/lang.php b/lib/plugins/imagebox/lang/en/lang.php new file mode 100755 index 000000000..4bf84676b --- /dev/null +++ b/lib/plugins/imagebox/lang/en/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Enlarge';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/eo/lang.php b/lib/plugins/imagebox/lang/eo/lang.php new file mode 100755 index 000000000..dc61079d8 --- /dev/null +++ b/lib/plugins/imagebox/lang/eo/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Pligrandigi';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/es/lang.php b/lib/plugins/imagebox/lang/es/lang.php new file mode 100755 index 000000000..a77955f67 --- /dev/null +++ b/lib/plugins/imagebox/lang/es/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Aumentar';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/et/lang.php b/lib/plugins/imagebox/lang/et/lang.php new file mode 100755 index 000000000..d5b97a75c --- /dev/null +++ b/lib/plugins/imagebox/lang/et/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Suurenda';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/eu/lang.php b/lib/plugins/imagebox/lang/eu/lang.php new file mode 100755 index 000000000..f4b9a5203 --- /dev/null +++ b/lib/plugins/imagebox/lang/eu/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Handitu';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/fi/lang.php b/lib/plugins/imagebox/lang/fi/lang.php new file mode 100755 index 000000000..16e18915d --- /dev/null +++ b/lib/plugins/imagebox/lang/fi/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Suurenna';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/fo/lang.php b/lib/plugins/imagebox/lang/fo/lang.php new file mode 100755 index 000000000..f237e2d83 --- /dev/null +++ b/lib/plugins/imagebox/lang/fo/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Víðka';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/fr/lang.php b/lib/plugins/imagebox/lang/fr/lang.php new file mode 100755 index 000000000..48e3d29df --- /dev/null +++ b/lib/plugins/imagebox/lang/fr/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Agrandir'; diff --git a/lib/plugins/imagebox/lang/gl/lang.php b/lib/plugins/imagebox/lang/gl/lang.php new file mode 100755 index 000000000..93493e86b --- /dev/null +++ b/lib/plugins/imagebox/lang/gl/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Agrandado';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/he/lang.php b/lib/plugins/imagebox/lang/he/lang.php new file mode 100755 index 000000000..cc5e8d1cd --- /dev/null +++ b/lib/plugins/imagebox/lang/he/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'הגדל';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/hr/lang.php b/lib/plugins/imagebox/lang/hr/lang.php new file mode 100755 index 000000000..8443f1f28 --- /dev/null +++ b/lib/plugins/imagebox/lang/hr/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Povećaj';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/hu/lang.php b/lib/plugins/imagebox/lang/hu/lang.php new file mode 100755 index 000000000..81b27e06f --- /dev/null +++ b/lib/plugins/imagebox/lang/hu/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Nagyít';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/id/lang.php b/lib/plugins/imagebox/lang/id/lang.php new file mode 100755 index 000000000..252352ff6 --- /dev/null +++ b/lib/plugins/imagebox/lang/id/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Perbesar';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/it/lang.php b/lib/plugins/imagebox/lang/it/lang.php new file mode 100755 index 000000000..022481e03 --- /dev/null +++ b/lib/plugins/imagebox/lang/it/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Ingrandisci';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ja/lang.php b/lib/plugins/imagebox/lang/ja/lang.php new file mode 100755 index 000000000..40717d795 --- /dev/null +++ b/lib/plugins/imagebox/lang/ja/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = '拡大';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ko/lang.php b/lib/plugins/imagebox/lang/ko/lang.php new file mode 100755 index 000000000..1295026a5 --- /dev/null +++ b/lib/plugins/imagebox/lang/ko/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = '실제 크기로';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ku/lang.php b/lib/plugins/imagebox/lang/ku/lang.php new file mode 100755 index 000000000..58d51fd23 --- /dev/null +++ b/lib/plugins/imagebox/lang/ku/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Mezin bike';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/lt/lang.php b/lib/plugins/imagebox/lang/lt/lang.php new file mode 100755 index 000000000..9e95533de --- /dev/null +++ b/lib/plugins/imagebox/lang/lt/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Padidinti';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/lv/lang.php b/lib/plugins/imagebox/lang/lv/lang.php new file mode 100755 index 000000000..73b4a6e75 --- /dev/null +++ b/lib/plugins/imagebox/lang/lv/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Palielināt';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/mg/lang.php b/lib/plugins/imagebox/lang/mg/lang.php new file mode 100755 index 000000000..a99970386 --- /dev/null +++ b/lib/plugins/imagebox/lang/mg/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Angezao';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/nl/lang.php b/lib/plugins/imagebox/lang/nl/lang.php new file mode 100755 index 000000000..659f51108 --- /dev/null +++ b/lib/plugins/imagebox/lang/nl/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Groter';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/no/lang.php b/lib/plugins/imagebox/lang/no/lang.php new file mode 100755 index 000000000..4bc88bac2 --- /dev/null +++ b/lib/plugins/imagebox/lang/no/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Forstørr';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/pl/lang.php b/lib/plugins/imagebox/lang/pl/lang.php new file mode 100755 index 000000000..f0cedfc46 --- /dev/null +++ b/lib/plugins/imagebox/lang/pl/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Powiększ';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/pt/lang.php b/lib/plugins/imagebox/lang/pt/lang.php new file mode 100755 index 000000000..5e5142aa0 --- /dev/null +++ b/lib/plugins/imagebox/lang/pt/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Ampliar';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ro/lang.php b/lib/plugins/imagebox/lang/ro/lang.php new file mode 100755 index 000000000..bec8fcc24 --- /dev/null +++ b/lib/plugins/imagebox/lang/ro/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Extinde';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/ru/lang.php b/lib/plugins/imagebox/lang/ru/lang.php new file mode 100755 index 000000000..740f21250 --- /dev/null +++ b/lib/plugins/imagebox/lang/ru/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Увеличить';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/sk/lang.php b/lib/plugins/imagebox/lang/sk/lang.php new file mode 100755 index 000000000..8cf014485 --- /dev/null +++ b/lib/plugins/imagebox/lang/sk/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Zväčšiť';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/sl/lang.php b/lib/plugins/imagebox/lang/sl/lang.php new file mode 100755 index 000000000..0f44ce762 --- /dev/null +++ b/lib/plugins/imagebox/lang/sl/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Povečaj';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/sr/lang.php b/lib/plugins/imagebox/lang/sr/lang.php new file mode 100755 index 000000000..eb849befe --- /dev/null +++ b/lib/plugins/imagebox/lang/sr/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'увећај';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/sv/lang.php b/lib/plugins/imagebox/lang/sv/lang.php new file mode 100755 index 000000000..5b6be3b3e --- /dev/null +++ b/lib/plugins/imagebox/lang/sv/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Förstora';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/tr/lang.php b/lib/plugins/imagebox/lang/tr/lang.php new file mode 100755 index 000000000..3842b35f9 --- /dev/null +++ b/lib/plugins/imagebox/lang/tr/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Büyüt';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/uk/lang.php b/lib/plugins/imagebox/lang/uk/lang.php new file mode 100755 index 000000000..7ddd8f4a6 --- /dev/null +++ b/lib/plugins/imagebox/lang/uk/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Збільшити';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/vi/lang.php b/lib/plugins/imagebox/lang/vi/lang.php new file mode 100755 index 000000000..d8959da51 --- /dev/null +++ b/lib/plugins/imagebox/lang/vi/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = 'Phóng lớn';
\ No newline at end of file diff --git a/lib/plugins/imagebox/lang/zh/lang.php b/lib/plugins/imagebox/lang/zh/lang.php new file mode 100755 index 000000000..702feb888 --- /dev/null +++ b/lib/plugins/imagebox/lang/zh/lang.php @@ -0,0 +1,2 @@ +<?php +$lang['enlarge'] = '放大';
\ No newline at end of file diff --git a/lib/plugins/imagebox/magnify-clip.png b/lib/plugins/imagebox/magnify-clip.png Binary files differnew file mode 100755 index 000000000..50abcb682 --- /dev/null +++ b/lib/plugins/imagebox/magnify-clip.png diff --git a/lib/plugins/imagebox/style.css b/lib/plugins/imagebox/style.css new file mode 100755 index 000000000..4986f0c81 --- /dev/null +++ b/lib/plugins/imagebox/style.css @@ -0,0 +1,60 @@ +div.thumb2{ +margin-bottom:.5em; +width:auto; +} +div.trien{ +float:left; +margin:.5em 1.4em .8em 0; +} +div.tleft{ +clear:left; +float:left; +margin:.5em 1.4em .8em 0; +} +div.tright{ +clear:right; +float:right; +margin:.5em 0 .8em 1.4em; +} +div.tcenter{ +clear:both; +margin:.5em auto .8em auto; +} +div.thumb2 .thumbinner{ +background-color:#F9F9F9; +border:1px solid #CCC; +font-size:94%; +overflow:hidden; +padding:3px; +} +div.thumb2 .mediabox2{ +background:#FFF none repeat scroll 0 0; +margin:0; +border:1px solid #CCC!important; +} +html .thumbcaption{ +border:medium none; +font-size:94%; +line-height:1.4em; +padding:3px; +text-align:left; +} +div.thumb2 .magnify{ +background:transparent none repeat scroll 0 0; +border:medium none!important; +float:right; +} +div.thumb2 .magnify a,div.thumb2 .magnify img{ +background:transparent none repeat scroll 0 0; +border:medium none!important; +display:block; +} +div.thumb2 .interwiki{ +background-position:0 center; +padding-left:17px; +} +/* Uncomment these lines to force the edit button show up bellow the imagebox. */ +/* div.dokuwiki div.secedit input.button{ + * clear:both !important; + * } + */
\ No newline at end of file diff --git a/lib/plugins/imagebox/syntax.php b/lib/plugins/imagebox/syntax.php new file mode 100755 index 000000000..1fe6fe1f3 --- /dev/null +++ b/lib/plugins/imagebox/syntax.php @@ -0,0 +1,119 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author FFTiger <fftiger@wikisquare.com>, myst6re <myst6re@wikisquare.com> + */ + +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_imagebox extends DokuWiki_Syntax_Plugin { + + function getInfo(){ + return array( + 'author' => 'FFTiger / myst6re', + 'email' => 'myst6re@wikisquare.com', + 'date' => '2010-05-30', + 'name' => 'Imagebox Plugin', + 'desc' => 'Entoure les images avec un cadre de décoration.', + 'url' => 'http://www.wikisquare.com/', + ); + } + + function getType(){ return 'protected'; } + function getAllowedTypes() { return array('substition','protected','disabled','formatting'); } + function getSort(){ return 315; } + function getPType(){ return 'block'; } + function connectTo($mode) { $this->Lexer->addEntryPattern('\[\{\{[^\|\}]+\|*(?=[^\}]*\}\}\])',$mode,'plugin_imagebox'); } + function postConnect() { $this->Lexer->addExitPattern('\}\}\]','plugin_imagebox'); } + + function handle($match, $state, $pos, &$handler){ + switch($state){ + case DOKU_LEXER_ENTER: + $match=Doku_Handler_Parse_Media(substr($match,3)); + $match['w'] = $match['width']; + $dispMagnify = ($match['w'] || $match['height']) && $this->getConf('display_magnify')=='If necessary' || $this->getConf('display_magnify')=='Always'; + + $gimgs = false; + list($src,$hash) = explode('#',$match['src'],2); + + if($match['type']=='internalmedia') { + global $ID; + $exists = false; + resolve_mediaid(getNS($ID), $src, $exists); + + if($dispMagnify) { + $match['detail'] = ml($src,array('id'=>$ID,'cache'=>$match['cache']),($match['linking']=='direct')); + if($hash) $match['detail'] .= '#'.$hash; + } + + if($exists) $gimgs = @getImageSize(mediaFN($src)); + } + else { + if($dispMagnify) { + $match['detail'] = ml($src,array('cache'=>'cache'),false); + if($hash) $match['detail'] .= '#'.$hash; + } + + $gimgs = @getImageSize($src); + } + + $match['exist'] = $gimgs!==false; + + if(!$match['w'] && $match['exist']){ + ($match['height'])? + $match['w'] = $match['height']*$gimgs[0]/$gimgs[1]: + $match['w'] = $gimgs[0]; + } + + if(!$match['align'] || $match['align']=='center'&&!$this->getConf('center_align')) + $match['align'] = 'rien'; + return array($state,$match); + + case DOKU_LEXER_UNMATCHED: + return array($state,$match); + + case DOKU_LEXER_EXIT: + return array($state,$match); + } + } + + function render($mode, &$renderer, $data){ + if($mode == 'xhtml'){ + list($state,$match) = $data; + + switch($state){ + case DOKU_LEXER_ENTER: + $renderer->doc.= '<div class="thumb2 t'.$match['align'].'" style="width:'.($match['w']?($match['w']+10).'px':'auto').'"><div class="thumbinner">'; + if($match['exist']) + $renderer->$match['type']($match['src'],$match['title'],'box2',$match['width'],$match['height'],$match['cache'],$match['linking']); + else + $renderer->doc.= 'Invalid Link'; + $renderer->doc.= '<div class="thumbcaption">'; + if($match['detail']) { + $renderer->doc.= '<div class="magnify">'; + $renderer->doc.= '<a class="internal" title="'.$this->getLang('enlarge').'" href="'.$match['detail'].'">'; + $renderer->doc.= '<img width="15" height="11" alt="" src="'.DOKU_BASE.'lib/plugins/imagebox/magnify-clip.png"/>'; + $renderer->doc.= '</a></div>'; + } + break; + + case DOKU_LEXER_UNMATCHED: + $style=$this->getConf('default_caption_style'); + if($style=='Italic') $renderer->doc .= '<em>'.$renderer->_xmlEntities($match).'</em>'; + elseif($style=='Bold') $renderer->doc .= '<strong>'.$renderer->_xmlEntities($match).'</strong>'; + else $renderer->doc .= $renderer->_xmlEntities($match); + break; + + case DOKU_LEXER_EXIT: + $renderer->doc.= '</div></div></div>'; + break; + } + return true; + } + return false; + } +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/lib/plugins/note/.gitignore b/lib/plugins/note/.gitignore new file mode 100644 index 000000000..f3c7a7c5d --- /dev/null +++ b/lib/plugins/note/.gitignore @@ -0,0 +1 @@ +Makefile diff --git a/lib/plugins/note/images/important.png b/lib/plugins/note/images/important.png Binary files differnew file mode 100644 index 000000000..dc8c8a457 --- /dev/null +++ b/lib/plugins/note/images/important.png diff --git a/lib/plugins/note/images/note.png b/lib/plugins/note/images/note.png Binary files differnew file mode 100644 index 000000000..df1e0a926 --- /dev/null +++ b/lib/plugins/note/images/note.png diff --git a/lib/plugins/note/images/tb_important.png b/lib/plugins/note/images/tb_important.png Binary files differnew file mode 100644 index 000000000..d853518de --- /dev/null +++ b/lib/plugins/note/images/tb_important.png diff --git a/lib/plugins/note/images/tb_note.png b/lib/plugins/note/images/tb_note.png Binary files differnew file mode 100644 index 000000000..f5c931603 --- /dev/null +++ b/lib/plugins/note/images/tb_note.png diff --git a/lib/plugins/note/images/tb_tip.png b/lib/plugins/note/images/tb_tip.png Binary files differnew file mode 100644 index 000000000..f127e91c5 --- /dev/null +++ b/lib/plugins/note/images/tb_tip.png diff --git a/lib/plugins/note/images/tb_warning.png b/lib/plugins/note/images/tb_warning.png Binary files differnew file mode 100644 index 000000000..892c83393 --- /dev/null +++ b/lib/plugins/note/images/tb_warning.png diff --git a/lib/plugins/note/images/tip.png b/lib/plugins/note/images/tip.png Binary files differnew file mode 100644 index 000000000..2000f2085 --- /dev/null +++ b/lib/plugins/note/images/tip.png diff --git a/lib/plugins/note/images/warning.png b/lib/plugins/note/images/warning.png Binary files differnew file mode 100644 index 000000000..3c8a37df5 --- /dev/null +++ b/lib/plugins/note/images/warning.png diff --git a/lib/plugins/note/info.txt b/lib/plugins/note/info.txt new file mode 100644 index 000000000..5226345f4 --- /dev/null +++ b/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/lib/plugins/note/script.js b/lib/plugins/note/script.js new file mode 100644 index 000000000..c21120727 --- /dev/null +++ b/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/lib/plugins/note/style.css b/lib/plugins/note/style.css new file mode 100644 index 000000000..8b97dea06 --- /dev/null +++ b/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/lib/plugins/note/syntax.php b/lib/plugins/note/syntax.php new file mode 100644 index 000000000..368d0d412 --- /dev/null +++ b/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 : +?> |