Fix #4834: correct XHTML output when using $wgMaxTocLevel
authorAntoine Musso <hashar@users.mediawiki.org>
Tue, 25 Apr 2006 19:43:46 +0000 (19:43 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Tue, 25 Apr 2006 19:43:46 +0000 (19:43 +0000)
RELEASE-NOTES
includes/Parser.php

index 045ebd2..61d8697 100644 (file)
@@ -123,6 +123,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Indicate when a protected page is an interface message ("protectedinterface")
 * (bug 4259) Indicate when a protected page being edited is an interface message
   ("editinginterface")
+* (bug 4834) Fix XHTML output when using $wgMaxTocLevel
 
 == Compatibility ==
 
index ac029d0..facee90 100644 (file)
@@ -3106,7 +3106,9 @@ class Parser
                                        # Increase TOC level
                                        $toclevel++;
                                        $sublevelCount[$toclevel] = 0;
-                                       $toc .= $sk->tocIndent();
+                                       if( $toclevel<$wgMaxTocLevel ) {
+                                               $toc .= $sk->tocIndent();
+                                       }
                                }
                                elseif ( $level < $prevlevel && $toclevel > 1 ) {
                                        # Decrease TOC level, find level to jump to
@@ -3128,12 +3130,15 @@ class Parser
                                                        }
                                                }
                                        }
-
-                                       $toc .= $sk->tocUnindent( $prevtoclevel - $toclevel );
+                                       if( $toclevel<$wgMaxTocLevel ) {
+                                               $toc .= $sk->tocUnindent( $prevtoclevel - $toclevel );
+                                       }
                                }
                                else {
                                        # No change in level, end TOC line
-                                       $toc .= $sk->tocLineEnd();
+                                       if( $toclevel<$wgMaxTocLevel ) {
+                                               $toc .= $sk->tocLineEnd();
+                                       }
                                }
 
                                $levelCount[$toclevel] = $level;
@@ -3213,7 +3218,9 @@ class Parser
                }
 
                if( $doShowToc ) {
-                       $toc .= $sk->tocUnindent( $toclevel - 1 );
+                       if( $toclevel<$wgMaxTocLevel ) {
+                               $toc .= $sk->tocUnindent( $toclevel - 1 );
+                       }
                        $toc = $sk->tocList( $toc );
                }