SourceForge logo
SourceForge logo
Menu

phpwiki-checkins

From: Geoffrey T. D. <da...@us...> - 2001年03月02日 21:14:39
Update of /cvsroot/phpwiki/phpwiki/lib
In directory usw-pr-cvs1:/tmp/cvs-serv27561/lib
Modified Files:
	transform.php 
Log Message:
Fix for invalid HTML from doubly-indented list elements.
This:
** Item
used to generate "<ul><ul><li>Item</ul></ul>" which is invalid.
Now we generate "<dl><dd><ul><li>Item</ul></dl>" which is valid.
Index: transform.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/transform.php,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** transform.php	2001年03月02日 00:24:17	1.18
--- transform.php	2001年03月02日 21:16:05	1.19
***************
*** 110,113 ****
--- 110,118 ----
 $retvar = '';
 	 
+ if ($level > 10) {
+ 	 // arbitrarily limit tag nesting
+ 	 ExitWiki(gettext ("Lists nested too deep in SetHTMLOutputMode"));
+ }
+ 
 if ($level <= $this->stack->cnt()) {
 	 // $tag has fewer nestings (old: tabs) than stack,
***************
*** 139,149 ****
 	 // we add the diff to the stack
 	 // stack might be zero
! 	 while ($this->stack->cnt() < $level) {
 	 $retvar .= StartTag($tag, $args) . "\n";
 	 $this->stack->push($tag);
- 	 if ($this->stack->cnt() > 10) {
- 	 // arbitrarily limit tag nesting
- 	 ExitWiki(gettext ("Stack bounds exceeded in SetHTMLOutputMode"));
- 	 }
 }
 }
--- 144,169 ----
 	 // we add the diff to the stack
 	 // stack might be zero
! 	 if ($this->stack->cnt() < $level) {
! 	 while ($this->stack->cnt() < $level - 1) {
! 	 // This is a bit of a hack:
! 	 //
! 	 // We're not nested deep enough, and have to make up some kind of block
! 	 // element to nest within.
! 	 //
! 	 // Currently, this can only happen for nested list element
! 	 // (either <ul> <ol> or <dl>). What we used to do here is
! 	 // to open extra lists of whatever type was requested.
! 	 // This would result in invalid HTML, since and list is
! 	 // not allowed to contain another list without first containing
! 	 // a list item. ("<ul><ul><li>Item</ul></ul>" is invalid.)
! 	 //
! 	 // So now, when we need extra list elements, we use a <dl>, and
! 	 // open it with an empty <dd>.
! 	 $retvar .= "<dl><dd>";
! 	 $this->stack->push('dl');
! 	 }
! 
 	 $retvar .= StartTag($tag, $args) . "\n";
 	 $this->stack->push($tag);
 }
 }
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /