From: <var...@us...> - 2009-01-23 14:01:49
|
Revision: 6434 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6434&view=rev Author: vargenau Date: 2009-01-23 14:01:41 +0000 (Fri, 23 Jan 2009) Log Message: ----------- Implement Wikicreole nowiki for blocks Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-23 13:47:05 UTC (rev 6433) +++ trunk/lib/BlockParser.php 2009-01-23 14:01:41 UTC (rev 6434) @@ -368,7 +368,7 @@ if (!is_object($_regexpset)) { $Block_types = array ('oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', - 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'email_blockquote', + 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'nowiki_wikicreole', 'email_blockquote', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! if (ENABLE_MARKUP_DIVSPAN) { @@ -951,7 +951,31 @@ return true; } } +class Block_nowiki_wikicreole extends BlockMarkup +{ + var $_re = '{{{'; + function _match (&$input, $m) { + $endtag = '}}}'; + $text = array(); + $pos = $input->getPos(); + + $line = $m->postmatch; + while (ltrim($line) != $endtag) { + $text[] = $line; + if (($line = $input->nextLine()) === false) { + $input->setPos($pos); + return false; + } + } + $input->advance(); + + $text = join("\n", $text); + $this->_element = new Block_HtmlElement('pre', false, $text); + return true; + } +} + class Block_plugin extends Block_pre { var $_re = '<\?plugin(?:-form)?(?!\S)'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |