From: <var...@us...> - 2009-01-06 20:07:16
|
Revision: 6371 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6371&view=rev Author: vargenau Date: 2009-01-06 20:07:13 +0000 (Tue, 06 Jan 2009) Log Message: ----------- Implemented Wikicreole plugins Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-06 17:29:08 UTC (rev 6370) +++ trunk/lib/BlockParser.php 2009-01-06 20:07:13 UTC (rev 6371) @@ -375,7 +375,7 @@ $Block_types = array ('oldlists', 'list', 'dl', 'table_dl', 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'email_blockquote', - 'plugin', 'p'); + 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! if (ENABLE_MARKUP_DIVSPAN) { array_pop($Block_types); @@ -984,6 +984,30 @@ } } +class Block_plugin_wikicreole extends Block_pre +{ + // var $_re = '<<(?!\S)'; + var $_re = '<<'; + + function _match (&$input, $m) { + $pos = $input->getPos(); + $pi = "<?plugin " . $m->postmatch; + while (!preg_match('/(?<!'.ESCAPE_CHAR.')>>\s*$/', $pi)) { + if (($line = $input->nextLine()) === false) { + $input->setPos($pos); + return false; + } + $pi .= "\n$line"; + } + $input->advance(); + + $pi = str_replace(">>", "?>", $pi); + + $this->_element = new Cached_PluginInvocation($pi); + return true; + } +} + class Block_email_blockquote extends BlockMarkup { var $_attr = array('class' => 'mail-style-quote'); @@ -1191,67 +1215,6 @@ return new XmlContent($output->getContent()); } -// $Log: not supported by cvs2svn $ -// Revision 1.64 2008/08/03 15:29:16 vargenau -// Implement Wikicreole headers -// -// Revision 1.63 2007/08/25 18:24:30 rurban -// speed up divspan without \n -// -// Revision 1.62 2007/08/10 21:54:08 rurban -// fix DIVSPAN parsing -// -// Revision 1.61 2007/07/14 17:55:29 rurban -// SemanticWeb.php -// -// Revision 1.60 2007/01/07 18:41:32 rurban -// Fix ENABLE_DIVSPAN -// -// Revision 1.59 2006/12/22 16:21:29 rurban -// silence one BlockParser use-case -// -// Revision 1.58 2006/11/19 13:57:14 rurban -// fix Regex Syntax Error -// -// Revision 1.57 2006/10/12 06:32:30 rurban -// Optionally support new tags <div>, <span> with ENABLE_MARKUP_DIVSPAN (in work) -// -// Revision 1.56 2006/07/23 14:03:18 rurban -// add new feature: DISABLE_MARKUP_WIKIWORD -// -// Revision 1.55 2005/01/29 21:08:41 rurban -// update (C) -// -// Revision 1.54 2005/01/29 21:00:54 rurban -// do not warn on empty nextBlock -// -// Revision 1.53 2005/01/29 20:36:44 rurban -// very important php5 fix! clone objects -// -// Revision 1.52 2004/10/21 19:52:10 rurban -// Patch #994487: Allow callers to get the parse tree for a page (danfr) -// -// Revision 1.51 2004/09/14 09:54:04 rurban -// cache ParsedBlock::_initBlockTypes -// -// Revision 1.50 2004/09/08 13:38:00 rurban -// improve loadfile stability by using markup=2 as default for undefined markup-style. -// use more refs for huge objects. -// fix debug=static issue in WikiPluginCached -// -// Revision 1.49 2004/07/02 09:55:58 rurban -// more stability fixes: new DISABLE_GETIMAGESIZE if your php crashes when loading LinkIcons: failing getimagesize in old phps; blockparser stabilized -// -// Revision 1.48 2004/06/21 06:30:16 rurban -// revert to prev references -// -// Revision 1.47 2004/06/20 15:30:04 rurban -// get_class case-sensitivity issues -// -// Revision 1.46 2004/06/20 14:42:53 rurban -// various php5 fixes (still broken at blockparser) -// - // (c-file-style: "gnu") // Local Variables: // mode: php This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-01-21 13:26:14
|
Revision: 6427 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6427&view=rev Author: vargenau Date: 2009-01-21 13:26:11 +0000 (Wed, 21 Jan 2009) Log Message: ----------- More tight simplifications Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-21 10:43:22 UTC (rev 6426) +++ trunk/lib/BlockParser.php 2009-01-21 13:26:11 UTC (rev 6427) @@ -262,7 +262,6 @@ function skipSpace () { // In contrast to the case for top-level blocks, // for sub-blocks, there never appears to be any trailing space. - // (The last block in the sub-block should always be of class tight-bottom.) while ($this->_line === '') $this->advance(); @@ -407,6 +406,7 @@ //$block->_text = $line; if (DEBUG & _DEBUG_PARSER) $input->_debug('<', get_class($block)); + $input->skipSpace(); return $block; } if (DEBUG & _DEBUG_PARSER) @@ -493,8 +493,6 @@ if (get_class($nextBlock) == get_class($this)) { assert ($nextBlock->_depth < $this->_depth); $nextBlock->_element->unshiftContent($this->_element); - if (!empty($this->_tight_top)) - $nextBlock->_tight_top = $this->_tight_top; return $nextBlock; } return false; @@ -592,8 +590,6 @@ } } - - class Block_table_dl_defn extends XmlContent { var $nrows; @@ -604,7 +600,6 @@ if (!is_array($defn)) $defn = $defn->getContent(); - $this->_next_tight_top = false; // value irrelevant - gets fixed later $this->_ncols = $this->_ComputeNcols($defn); $this->_nrows = 0; @@ -631,12 +626,10 @@ $this->_accum->pushContent($item); } - function _flushRow ($tight_bottom=false) { + function _flushRow () { if (!empty($this->_accum)) { $row = new Block_HtmlElement('tr', false, $this->_accum); - $this->_next_tight_top = $tight_bottom; - $this->pushContent($row); $this->_accum = false; $this->_nrows++; @@ -647,12 +640,11 @@ if (!($table_rows = $table->getContent())) return; - $this->_flushRow($table_rows[0]->_tight_top); - + $this->_flushRow(); + foreach ($table_rows as $subdef) { $this->pushContent($subdef); $this->_nrows += $subdef->nrows(); - $this->_next_tight_top = $subdef->_tight_bot; } } @@ -975,9 +967,8 @@ function merge ($nextBlock) { $class = get_class($nextBlock); - if (strtolower($class) == 'block_p' and $this->_tight_bot) { + if (strtolower($class) == 'block_p') { $this->_text .= "\n" . $nextBlock->_text; - $this->_tight_bot = $nextBlock->_tight_bot; return $this; } return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <var...@us...> - 2009-01-23 18:46:05
|
Revision: 6435 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6435&view=rev Author: vargenau Date: 2009-01-23 18:45:58 +0000 (Fri, 23 Jan 2009) Log Message: ----------- Handle Mediawiki template syntax in blocks also Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-23 14:01:41 UTC (rev 6434) +++ trunk/lib/BlockParser.php 2009-01-23 18:45:58 UTC (rev 6435) @@ -367,7 +367,7 @@ if (!is_object($_regexpset)) { $Block_types = array - ('oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', + ('template_plugin', 'oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'nowiki_wikicreole', 'email_blockquote', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! @@ -1092,6 +1092,65 @@ } } +class Block_template_plugin extends Block_pre +{ + var $_re = '{{'; + + function _match (&$input, $m) { + $pos = $input->getPos(); + // $pi = "<?plugin Template page=" . $m->postmatch; + $pi = $m->postmatch; + while (!preg_match('/(?<!'.ESCAPE_CHAR.')}}\s*$/', $pi)) { + if (($line = $input->nextLine()) === false) { + $input->setPos($pos); + return false; + } + $pi .= "\n$line"; + } + $input->advance(); + + $pi = trim($pi); + $pi = trim($pi, "}}"); + + if (strpos($pi, "|") === false) { + $imagename = $pi; + $alt = ""; + } else { + $imagename = substr($pi, 0, strpos($pi, "|")); + $alt = ltrim(strstr($pi, "|"), "|"); + } + + // It's not a Mediawiki template, it's a Wikicreole image + if (is_image($imagename)) { + $this->_element = LinkImage(UPLOAD_DATA_PATH . $imagename, $alt); + return true; + } + + $pi = str_replace("\n", "", $pi); + $vars = ''; + + if (preg_match('/^(\S+?)\|(.*)$/', $pi, $_m)) { + $pi = $_m[1]; + $vars = '"' . preg_replace('/\|/', '" "', $_m[2]) . '"'; + $vars = preg_replace('/"(\S+)=([^"]*)"/', '\\1="\\2"', $vars); + } + + // pi may contain a version number + // {{foo?version=5}} + // in that case, output is "page=foo rev=5" + if (strstr($pi, "?")) { + $pi = str_replace("?version=", "\" rev=\"", $page); + } + + if ($vars) + $pi = '<'.'?plugin Template page="'.$pi.'" '.$vars . ' ?>'; + else + $pi = '<'.'?plugin Template page="' . $pi . '" ?>'; + $this->_element = new Cached_PluginInvocation($pi); + return true; + } +} + class Block_email_blockquote extends BlockMarkup { var $_attr = array('class' => 'mail-style-quote'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-01-24 11:09:43
|
Revision: 6438 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6438&view=rev Author: vargenau Date: 2009-01-24 11:09:34 +0000 (Sat, 24 Jan 2009) Log Message: ----------- nowiki_wikicreole must be before template_plugin Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-24 11:06:22 UTC (rev 6437) +++ trunk/lib/BlockParser.php 2009-01-24 11:09:34 UTC (rev 6438) @@ -366,9 +366,10 @@ static $_regexpset, $_block_types; if (!is_object($_regexpset)) { + // nowiki_wikicreole must be before template_plugin $Block_types = array - ('template_plugin', 'oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', - 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'nowiki_wikicreole', 'email_blockquote', + ('nowiki_wikicreole', 'template_plugin', 'oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', + 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'email_blockquote', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! if (ENABLE_MARKUP_DIVSPAN) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-01-27 14:25:10
|
Revision: 6456 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6456&view=rev Author: vargenau Date: 2009-01-27 14:25:00 +0000 (Tue, 27 Jan 2009) Log Message: ----------- Remove setTightness call Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-01-26 19:00:59 UTC (rev 6455) +++ trunk/lib/BlockParser.php 2009-01-27 14:25:00 UTC (rev 6456) @@ -475,7 +475,7 @@ } function _setTightness ($top, $bot) { - $this->_element->setTightness($top, $bot); + // $this->_element->setTightness($top, $bot); } function merge ($followingBlock) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-02-24 15:54:58
|
Revision: 6549 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6549&view=rev Author: vargenau Date: 2009-02-24 15:54:45 +0000 (Tue, 24 Feb 2009) Log Message: ----------- Fix [ 2094716 ] Parsing problem: star is for bold and lists Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-02-24 15:43:52 UTC (rev 6548) +++ trunk/lib/BlockParser.php 2009-02-24 15:54:45 UTC (rev 6549) @@ -517,10 +517,10 @@ //var $_tag = 'ol' or 'ul'; var $_re = '\ {0,4} (?: \+ - | \\# (?!\[.*\]) + | \\#\ (?!\[.*\]) | -(?!-) | [o](?=\ ) - | [*] (?!(?=\S)[^*]*(?<=\S)[*](?:\\s|[-)}>"\'\\/:.,;!?_*=]) ) + | [*]\ (?!(?=\S)[^*]*(?<=\S)[*](?:\\s|[-)}>"\'\\/:.,;!?_*=]) ) )\ *(?=\S)'; var $_content = array(); @@ -808,8 +808,8 @@ class Block_oldlists extends Block_list { //var $_tag = 'ol', 'ul', or 'dl'; - var $_re = '(?: [*] (?!(?=\S)[^*]*(?<=\S)[*](?:\\s|[-)}>"\'\\/:.,;!?_*=])) - | [#] (?! \[ .*? \] ) + var $_re = '(?: [*]\ (?!(?=\S)[^*]*(?<=\S)[*](?:\\s|[-)}>"\'\\/:.,;!?_*=])) + | [#]\ (?! \[ .*? \] ) | ; .*? : ) .*? (?=\S)'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-02-25 13:39:12
|
Revision: 6558 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6558&view=rev Author: vargenau Date: 2009-02-25 13:38:57 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Wikicreole table was not processed at end of page Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-02-25 13:21:36 UTC (rev 6557) +++ trunk/lib/BlockParser.php 2009-02-25 13:38:57 UTC (rev 6558) @@ -1069,10 +1069,10 @@ $intable = true; while ($intable) { - if (($line = $input->nextLine()) === false) { + if ((($line = $input->nextLine()) === false) && !$intable) { $input->setPos($pos); return false; - } + } if (!$line) { $intable = false; $trimline = $line; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-02-28 20:04:04
|
Revision: 6605 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6605&view=rev Author: vargenau Date: 2009-02-28 20:03:55 +0000 (Sat, 28 Feb 2009) Log Message: ----------- Allow <<<x>>> and {{{x}}} at start of line Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-02-28 13:55:59 UTC (rev 6604) +++ trunk/lib/BlockParser.php 2009-02-28 20:03:55 UTC (rev 6605) @@ -1042,7 +1042,11 @@ function _match (&$input, $m) { $pos = $input->getPos(); - $pi = "<?plugin " . $m->postmatch; + $pi = $m->postmatch; + if ($pi[0] == '<') { + return false; + } + $pi = "<?plugin " . $pi; while (!preg_match('/(?<!'.ESCAPE_CHAR.')>>\s*$/', $pi)) { if (($line = $input->nextLine()) === false) { $input->setPos($pos); @@ -1128,8 +1132,10 @@ function _match (&$input, $m) { $pos = $input->getPos(); - // $pi = "<?plugin Template page=" . $m->postmatch; $pi = $m->postmatch; + if ($pi[0] == '{') { + return false; + } while (!preg_match('/(?<!'.ESCAPE_CHAR.')}}\s*$/', $pi)) { if (($line = $input->nextLine()) === false) { $input->setPos($pos); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ru...@us...> - 2009-03-25 11:30:54
|
Revision: 6703 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6703&view=rev Author: rurban Date: 2009-03-25 11:30:52 +0000 (Wed, 25 Mar 2009) Log Message: ----------- break long line Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-03-25 10:28:43 UTC (rev 6702) +++ trunk/lib/BlockParser.php 2009-03-25 11:30:52 UTC (rev 6703) @@ -368,7 +368,8 @@ if (!is_object($_regexpset)) { // nowiki_wikicreole must be before template_plugin $Block_types = array - ('nowiki_wikicreole', 'template_plugin', 'placeholder', 'oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', + ('nowiki_wikicreole', 'template_plugin', 'placeholder', 'oldlists', 'list', 'dl', + 'table_dl', 'table_wikicreole', 'table_mediawiki', 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'email_blockquote', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-06-11 13:29:15
|
Revision: 6916 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6916&view=rev Author: vargenau Date: 2009-06-11 13:29:13 +0000 (Thu, 11 Jun 2009) Log Message: ----------- Fixed bug #2786559 : Rendering problem in definition list table Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-06-11 11:52:32 UTC (rev 6915) +++ trunk/lib/BlockParser.php 2009-06-11 13:29:13 UTC (rev 6916) @@ -650,14 +650,6 @@ function setTightness($tight_top, $tight_bot) { $this->_tight_top = $tight_top; $this->_tight_bot = $tight_bot; - $first = &$this->firstTR(); - $last = &$this->lastTR(); - $first->setInClass('top', $tight_top); - if (!empty($last)) { - $last->setInClass('bottom', $tight_bot); - } else { - trigger_error(sprintf("no lastTR: %s",AsXML($this->_content[0])), E_USER_WARNING); - } } function _addToRow ($item) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-07-08 09:22:20
|
Revision: 7008 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7008&view=rev Author: vargenau Date: 2009-07-08 08:25:12 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Implement Wikicreole indented Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-07-08 07:36:44 UTC (rev 7007) +++ trunk/lib/BlockParser.php 2009-07-08 08:25:12 UTC (rev 7008) @@ -370,7 +370,8 @@ $Block_types = array ('nowiki_wikicreole', 'template_plugin', 'placeholder', 'oldlists', 'list', 'dl', 'table_dl', 'table_wikicreole', 'table_mediawiki', - 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', 'email_blockquote', + 'blockquote', 'heading', 'heading_wikicreole', 'hr', 'pre', + 'email_blockquote', 'wikicreole_indented', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! if (ENABLE_MARKUP_DIVSPAN) { @@ -1194,6 +1195,19 @@ } } +class Block_wikicreole_indented extends BlockMarkup +{ + var $_attr = array('style' => 'margin-left:2em'); + var $_re = ':\ ?'; + + function _match (&$input, $m) { + $indent = $this->_re; + $this->_element = new SubBlock($input, $indent, $m->match, + 'div', $this->_attr); + return true; + } +} + class Block_hr extends BlockMarkup { var $_re = '-{4,}\s*$'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-07-09 09:21:09
|
Revision: 7011 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7011&view=rev Author: vargenau Date: 2009-07-09 09:21:02 +0000 (Thu, 09 Jul 2009) Log Message: ----------- Sublist elements might have the same content Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-07-08 09:46:35 UTC (rev 7010) +++ trunk/lib/BlockParser.php 2009-07-09 09:21:02 UTC (rev 7011) @@ -550,13 +550,9 @@ $li = &$this->_content[0]; $li->setTightness($top, $bot); } - + function merge ($nextBlock) { if (isa($nextBlock, 'Block_list') and $this->_tag == $nextBlock->_tag) { - if ($nextBlock->_content === $this->_content) { - trigger_error("Internal Error: no block advance", E_USER_NOTICE); - return false; - } array_splice($this->_content, count($this->_content), 0, $nextBlock->_content); return $this; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2009-09-05 17:12:27
|
Revision: 7100 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7100&view=rev Author: vargenau Date: 2009-09-05 17:12:17 +0000 (Sat, 05 Sep 2009) Log Message: ----------- Remove empty _setTightness Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2009-09-05 10:48:26 UTC (rev 7099) +++ trunk/lib/BlockParser.php 2009-09-05 17:12:17 UTC (rev 7100) @@ -477,7 +477,6 @@ } function _setTightness ($top, $bot) { - // $this->_element->setTightness($top, $bot); } function merge ($followingBlock) { @@ -1213,10 +1212,6 @@ $this->_element = new Block_HtmlElement('hr'); return true; } - - function _setTightness($top, $bot) { - // Don't tighten <hr/>s - } } class Block_heading extends BlockMarkup @@ -1232,10 +1227,6 @@ return true; } - - function _setTightness($top, $bot) { - // Don't tighten headers. - } } class Block_heading_wikicreole extends BlockMarkup @@ -1255,10 +1246,6 @@ return true; } - - function _setTightness($top, $bot) { - // Don't tighten headers. - } } class Block_p extends BlockMarkup @@ -1345,12 +1332,8 @@ } } $this->_element = new Block_HtmlElement($tag, $args, $content); - //$this->_element->setTightness($tag == 'span', $tag == 'span'); return true; } - function _setTightness($top, $bot) { - // Don't tighten user <div|span> - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2010-09-20 13:05:01
|
Revision: 7697 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7697&view=rev Author: vargenau Date: 2010-09-20 13:04:55 +0000 (Mon, 20 Sep 2010) Log Message: ----------- {{foo?version=2}} no longer worked Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2010-09-20 10:20:25 UTC (rev 7696) +++ trunk/lib/BlockParser.php 2010-09-20 13:04:55 UTC (rev 7697) @@ -1182,7 +1182,7 @@ // {{foo?version=5}} // in that case, output is "page=foo rev=5" if (strstr($pi, "?")) { - $pi = str_replace("?version=", "\" rev=\"", $page); + $pi = str_replace("?version=", "\" rev=\"", $pi); } if ($vars) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2010-10-05 16:08:41
|
Revision: 7711 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7711&view=rev Author: vargenau Date: 2010-10-05 16:08:35 +0000 (Tue, 05 Oct 2010) Log Message: ----------- Fix parsing problem: paragraph consisting only og "{{w.png}}{{w.png}}" Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2010-10-01 11:45:58 UTC (rev 7710) +++ trunk/lib/BlockParser.php 2010-10-05 16:08:35 UTC (rev 7711) @@ -1131,6 +1131,10 @@ var $_re = '{{'; function _match (&$input, $m) { + // If we find "}}", this is an inline template. + if (strpos($m->postmatch, "}}") !== false) { + return false; + } $pos = $input->getPos(); $pi = $m->postmatch; if ($pi[0] == '{') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2011-04-05 08:36:46
|
Revision: 8014 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=8014&view=rev Author: vargenau Date: 2011-04-05 08:36:40 +0000 (Tue, 05 Apr 2011) Log Message: ----------- WikiCreole is implemented with markup == 2 Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2011-04-04 15:33:07 UTC (rev 8013) +++ trunk/lib/BlockParser.php 2011-04-05 08:36:40 UTC (rev 8014) @@ -1380,13 +1380,8 @@ if (!empty($markup) && $markup < 2.0) { $text = ConvertOldMarkup($text); } - // WikiCreole - /*if (!empty($markup) && $markup == 3) { - $text = ConvertFromCreole($text); - }*/ // Expand leading tabs. $text = expand_tabs($text); - //set_time_limit(3); $output = new WikiText($text); return $output; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2012-11-14 17:01:39
|
Revision: 8455 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=8455&view=rev Author: vargenau Date: 2012-11-14 17:01:33 +0000 (Wed, 14 Nov 2012) Log Message: ----------- Remove debug Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2012-11-14 16:49:23 UTC (rev 8454) +++ trunk/lib/BlockParser.php 2012-11-14 17:01:33 UTC (rev 8455) @@ -905,59 +905,6 @@ $li = &$this->_content[0]; $li->setTightness($top, $bot); } else { - // This is where php5 usually brakes. - // wrong duplicated <li> contents - if (DEBUG and DEBUG & _DEBUG_PARSER and check_php_version(5)) { - if (count($this->_content) != 2) { - echo "<pre>"; - /* - $class = new Reflection_Class('XmlElement'); - // Print out basic information - printf( - "===> The %s%s%s %s '%s' [extends %s]\n". - " declared in %s\n". - " lines %d to %d\n". - " having the modifiers %d [%s]\n", - $class->isInternal() ? 'internal' : 'user-defined', - $class->isAbstract() ? ' abstract' : '', - $class->isFinal() ? ' final' : '', - $class->isInterface() ? 'interface' : 'class', - $class->getName(), - var_export($class->getParentClass(), 1), - $class->getFileName(), - $class->getStartLine(), - $class->getEndline(), - $class->getModifiers(), - implode(' ', Reflection::getModifierNames($class->getModifiers())) - ); - // Print class properties - printf("---> Properties: %s\n", var_export($class->getProperties(), 1)); - */ - echo 'count($this->_content): ', count($this->_content), "\n"; - echo "\$this->_content[0]: "; - var_dump($this->_content[0]); - - for ($i = 1; $i < min(5, count($this->_content)); $i++) { - $c =& $this->_content[$i]; - echo '$this->_content[', $i, "]: \n"; - echo "_tag: "; - var_dump($c->_tag); - echo "_content: "; - var_dump($c->_content); - echo "_properties: "; - var_dump($c->_properties); - } - debug_print_backtrace(); - if (DEBUG & _DEBUG_APD) { - if (function_exists("xdebug_get_function_stack")) { - var_dump(xdebug_get_function_stack()); - } - } - echo "</pre>"; - } - } - if (!check_php_version(5)) - assert(count($this->_content) == 2); $dt = &$this->_content[0]; $dd = &$this->_content[1]; $dt->setTightness($top, false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-06-13 09:28:31
|
Revision: 8903 http://sourceforge.net/p/phpwiki/code/8903 Author: vargenau Date: 2014-06-13 09:28:23 +0000 (Fri, 13 Jun 2014) Log Message: ----------- No border for table Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-06-13 09:14:38 UTC (rev 8902) +++ trunk/lib/BlockParser.php 2014-06-13 09:28:23 UTC (rev 8903) @@ -840,7 +840,6 @@ function finish() { - $defs = &$this->_content; $ncols = 0; @@ -850,9 +849,7 @@ foreach ($defs as $key => $defn) $defs[$key]->setWidth($ncols); - return HTML::table(array('class' => 'wiki-dl-table', - 'border' => 1), - $defs); + return HTML::table(array('class' => 'wiki-dl-table'), $defs); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-09-25 08:54:33
|
Revision: 9113 http://sourceforge.net/p/phpwiki/code/9113 Author: vargenau Date: 2014-09-25 08:54:24 +0000 (Thu, 25 Sep 2014) Log Message: ----------- In some <pre> constructs, the equal signs are lost Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-09-25 08:47:58 UTC (rev 9112) +++ trunk/lib/BlockParser.php 2014-09-25 08:54:24 UTC (rev 9113) @@ -932,11 +932,6 @@ else $text = join("\n", $text); - // FIXME: no <img>, <big>, <small>, <sup>, or <sub>'s allowed - // in a <pre>. - if ($m->match == '<pre>') { - $text = TransformInline($text); - } if ($m->match == '<noinclude>') { $text = TransformText($text); $this->_element = new Block_HtmlElement('div', false, $text); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-11-08 15:34:15
|
Revision: 9285 http://sourceforge.net/p/phpwiki/code/9285 Author: vargenau Date: 2014-11-08 15:34:07 +0000 (Sat, 08 Nov 2014) Log Message: ----------- Type compatibility Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-11-05 16:37:16 UTC (rev 9284) +++ trunk/lib/BlockParser.php 2014-11-08 15:34:07 UTC (rev 9285) @@ -359,7 +359,7 @@ class ParsedBlock extends Block_HtmlElement { - function ParsedBlock(&$input, $tag = 'div', $attr = false) + function ParsedBlock(&$input, $tag = 'div', $attr = array()) { $this->Block_HtmlElement($tag, $attr); $this->_initBlockTypes(); @@ -467,7 +467,7 @@ class SubBlock extends ParsedBlock { function SubBlock(&$input, $indent_re, $initial_indent = false, - $tag = 'div', $attr = false) + $tag = 'div', $attr = array()) { $subinput = new BlockParser_InputSubBlock($input, $indent_re, $initial_indent); $this->ParsedBlock($subinput, $tag, $attr); @@ -487,7 +487,7 @@ class TightSubBlock extends SubBlock { function __construct(&$input, $indent_re, $initial_indent = false, - $tag = 'div', $attr = false) + $tag = 'div', $attr = array()) { $this->SubBlock($input, $indent_re, $initial_indent, $tag, $attr); @@ -1224,8 +1224,7 @@ { //$indent = str_replace(' ', '\\ ', $m->match) . '|>$'; $indent = $this->_re; - $this->_element = new SubBlock($input, $indent, $m->match, - 'blockquote', $this->_attr); + $this->_element = new SubBlock($input, $indent, $m->match, 'blockquote', $this->_attr); return true; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-11-12 17:14:32
|
Revision: 9309 http://sourceforge.net/p/phpwiki/code/9309 Author: vargenau Date: 2014-11-12 17:14:28 +0000 (Wed, 12 Nov 2014) Log Message: ----------- Use __construct Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-11-12 17:13:27 UTC (rev 9308) +++ trunk/lib/BlockParser.php 2014-11-12 17:14:28 UTC (rev 9309) @@ -664,7 +664,7 @@ function __construct($term, $defn) { - $this->XmlContent(); + parent::__construct(); if (!is_array($defn)) $defn = $defn->getContent(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-11-18 17:21:17
|
Revision: 9334 http://sourceforge.net/p/phpwiki/code/9334 Author: vargenau Date: 2014-11-18 17:21:14 +0000 (Tue, 18 Nov 2014) Log Message: ----------- PHP Doc Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-11-18 17:15:15 UTC (rev 9333) +++ trunk/lib/BlockParser.php 2014-11-18 17:21:14 UTC (rev 9334) @@ -117,14 +117,13 @@ * If that fails, match the whole RegexpSet, starting after the position of the * previous match. * - * @param $text string Text to search. + * @param string $text Text to search. + * @param RegexpSet_match $prevMatch * - * @param $prevMatch A RegexpSet_match object - * * $prevMatch should be a match object obtained by a previous * match upon the same value of $text. * - * @return object A RegexpSet_match object, or false if no match. + * @return RegexpSet_match|bool A RegexpSet_match object, or false if no match. */ function nextMatch($text, $prevMatch) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-11-20 17:56:54
|
Revision: 9353 http://sourceforge.net/p/phpwiki/code/9353 Author: vargenau Date: 2014-11-20 17:56:52 +0000 (Thu, 20 Nov 2014) Log Message: ----------- Rename private functions without underscores Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-11-20 17:49:49 UTC (rev 9352) +++ trunk/lib/BlockParser.php 2014-11-20 17:56:52 UTC (rev 9353) @@ -355,11 +355,10 @@ class ParsedBlock extends Block_HtmlElement { - function __construct(&$input, $tag = 'div', $attr = array()) { parent::__construct($tag, $attr); - $this->_initBlockTypes(); + $this->initBlockTypes(); $this->_parse($input); } @@ -367,10 +366,10 @@ { // php5 failed to advance the block. php5 copies objects by ref. // nextBlock == block, both are the same objects. So we have to clone it. - for ($block = $this->_getBlock($input); + for ($block = $this->getBlock($input); $block; $block = (is_object($nextBlock) ? clone($nextBlock) : $nextBlock)) { - while ($nextBlock = $this->_getBlock($input)) { + while ($nextBlock = $this->getBlock($input)) { // Attempt to merge current with following block. if (!($merged = $block->merge($nextBlock))) { break; // can't merge @@ -382,7 +381,7 @@ } // FIXME: hackish. This should only be called once. - private function _initBlockTypes() + private function initBlockTypes() { // better static or global? static $_regexpset, $_block_types; @@ -417,7 +416,7 @@ } } - private function _getBlock(&$input) + private function getBlock(&$input) { $this->_atSpace = $input->skipSpace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <var...@us...> - 2014-11-21 15:59:43
|
Revision: 9360 http://sourceforge.net/p/phpwiki/code/9360 Author: vargenau Date: 2014-11-21 15:59:41 +0000 (Fri, 21 Nov 2014) Log Message: ----------- Add class variables definition Modified Paths: -------------- trunk/lib/BlockParser.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2014-11-21 14:54:39 UTC (rev 9359) +++ trunk/lib/BlockParser.php 2014-11-21 15:59:41 UTC (rev 9360) @@ -94,7 +94,8 @@ */ function match($text) { - if (!is_string($text)) return false; + if (!is_string($text)) + return false; if (!preg_match($this->_re, $text, $m)) { return false; } @@ -250,7 +251,12 @@ class BlockParser_InputSubBlock extends BlockParser_Input { - function __construct(&$input, $prefix_re, $initial_prefix = false) + /** + * @param BlockParser_Input $input + * @param string $prefix_re + * @param string $initial_prefix + */ + function __construct(&$input, $prefix_re, $initial_prefix = '') { $this->_input = &$input; $this->_prefix_pat = "/$prefix_re|\\s*\$/Ax"; @@ -355,6 +361,11 @@ class ParsedBlock extends Block_HtmlElement { + private $_block_types; + private $_regexps; + private $_regexpset; + private $_atSpace; + function __construct(&$input, $tag = 'div', $attr = array()) { parent::__construct($tag, $attr); @@ -395,7 +406,7 @@ 'email_blockquote', 'wikicreole_indented', 'plugin', 'plugin_wikicreole', 'p'); // insert it before p! - if (ENABLE_MARKUP_DIVSPAN) { + if (defined('ENABLE_MARKUP_DIVSPAN') and ENABLE_MARKUP_DIVSPAN) { array_pop($Block_types); $Block_types[] = 'divspan'; $Block_types[] = 'p'; @@ -500,6 +511,7 @@ abstract class BlockMarkup { public $_re; + protected $_element; abstract function _match(&$input, $match); @@ -522,6 +534,7 @@ { public $_depth; public $_re = '\ +(?=\S)'; + protected $_element; function _match(&$input, $m) { @@ -547,7 +560,6 @@ class Block_list extends BlockMarkup { - //public $_tag = 'ol' or 'ul'; public $_re = '\ {0,4} (?: \+ | \\#\ (?!\[.*\]) @@ -556,6 +568,7 @@ | [*]\ (?!(?=\S)[^*]*(?<=\S)[*](?:\\s|[-)}>"\'\\/:.,;!?_*=]) ) )\ *(?=\S)'; public $_content = array(); + public $_tag; //'ol' or 'ul' function _match(&$input, $m) { @@ -603,6 +616,7 @@ class Block_dl extends Block_list { public $_tag = 'dl'; + private $_tight_defn; function __construct() { @@ -657,6 +671,9 @@ { public $nrows; public $ncols; + private $_accum; + private $_tight_top; + private $_tight_bot; function __construct($term, $defn) { @@ -665,16 +682,16 @@ $defn = $defn->getContent(); $this->_next_tight_top = false; // value irrelevant - gets fixed later - $this->_ncols = $this->_ComputeNcols($defn); + $this->_ncols = $this->ComputeNcols($defn); $this->_nrows = 0; foreach ($defn as $item) { - if ($this->_IsASubtable($item)) - $this->_addSubtable($item); + if ($this->IsASubtable($item)) + $this->addSubtable($item); else - $this->_addToRow($item); + $this->addToRow($item); } - $this->_flushRow(); + $this->flushRow(); $th = HTML::th($term); if ($this->_nrows > 1) @@ -688,7 +705,7 @@ $this->_tight_bot = $tight_bot; } - private function _addToRow($item) + private function addToRow($item) { if (empty($this->_accum)) { $this->_accum = HTML::td(); @@ -698,7 +715,7 @@ $this->_accum->pushContent($item); } - private function _flushRow($tight_bottom = false) + private function flushRow($tight_bottom = false) { if (!empty($this->_accum)) { $row = new Block_HtmlElement('tr', false, $this->_accum); @@ -712,12 +729,12 @@ } } - private function _addSubtable($table) + private function addSubtable($table) { if (!($table_rows = $table->getContent())) return; - $this->_flushRow($table_rows[0]->_tight_top); + $this->flushRow($table_rows[0]->_tight_top); foreach ($table_rows as $subdef) { $this->pushContent($subdef); @@ -735,26 +752,26 @@ $first_row->unshiftContent($th); } - private function _ComputeNcols($defn) + private function ComputeNcols($defn) { $ncols = 2; foreach ($defn as $item) { - if ($this->_IsASubtable($item)) { - $row = $this->_FirstDefn($item); + if ($this->IsASubtable($item)) { + $row = $this->FirstDefn($item); $ncols = max($ncols, $row->ncols() + 1); } } return $ncols; } - private function _IsASubtable($item) + private function IsASubtable($item) { return is_a($item, 'HtmlElement') && $item->getTag() == 'table' && $item->getAttr('class') == 'wiki-dl-table'; } - private function _FirstDefn($subtable) + private function FirstDefn($subtable) { $defs = $subtable->getContent(); return $defs[0]; @@ -1292,6 +1309,8 @@ public $_tag = 'p'; public $_re = '\S.*'; public $_text = ''; + private $_tight_bot; + private $_tight_top; function _match(&$input, $m) { @@ -1387,7 +1406,7 @@ /** * Transform the text of a page, and return a parse tree. */ -function TransformTextPre($text, $basepage = false) +function TransformTextPre($text) { if (is_a($text, 'WikiDB_PageRevision')) { $rev = $text; @@ -1406,7 +1425,7 @@ */ function TransformText($text, $basepage = false) { - $output = TransformTextPre($text, $basepage); + $output = TransformTextPre($text); if ($basepage) { // This is for immediate consumption. // We must bind the contents to a base pagename so that This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |