Merge "Tidy up tidy usage"
[lhc/web/wiklou.git] / includes / parser / Parser.php
index 46ba4b4..2f443c0 100644 (file)
@@ -4096,7 +4096,7 @@ class Parser {
                        return $obj->tc_contents;
                }
 
-               $req = MWHttpRequest::factory( $url );
+               $req = MWHttpRequest::factory( $url, array(), __METHOD__ );
                $status = $req->execute(); // Status object
                if ( $status->isOK() ) {
                        $text = $req->getContent();
@@ -4580,7 +4580,7 @@ class Parser {
 
                        # HTML names must be case-insensitively unique (bug 10721).
                        # This does not apply to Unicode characters per
-                       # http://dev.w3.org/html5/spec/infrastructure.html#case-sensitivity-and-string-comparison
+                       # http://www.w3.org/TR/html5/infrastructure.html#case-sensitivity-and-string-comparison
                        # @todo FIXME: We may be changing them depending on the current locale.
                        $arrayKey = strtolower( $safeHeadline );
                        if ( $legacyHeadline === false ) {
@@ -4589,16 +4589,22 @@ class Parser {
                                $legacyArrayKey = strtolower( $legacyHeadline );
                        }
 
-                       # count how many in assoc. array so we can track dupes in anchors
+                       # Create the anchor for linking from the TOC to the section
+                       $anchor = $safeHeadline;
+                       $legacyAnchor = $legacyHeadline;
                        if ( isset( $refers[$arrayKey] ) ) {
-                               $refers[$arrayKey]++;
+                               for ( $i = 2; isset( $refers["${arrayKey}_$i"] ); ++$i );
+                               $anchor .= "_$i";
+                               $refers["${arrayKey}_$i"] = true;
                        } else {
-                               $refers[$arrayKey] = 1;
+                               $refers[$arrayKey] = true;
                        }
-                       if ( isset( $refers[$legacyArrayKey] ) ) {
-                               $refers[$legacyArrayKey]++;
+                       if ( $legacyHeadline !== false && isset( $refers[$legacyArrayKey] ) ) {
+                               for ( $i = 2; isset( $refers["${legacyArrayKey}_$i"] ); ++$i );
+                               $legacyAnchor .= "_$i";
+                               $refers["${legacyArrayKey}_$i"] = true;
                        } else {
-                               $refers[$legacyArrayKey] = 1;
+                               $refers[$legacyArrayKey] = true;
                        }
 
                        # Don't number the heading if it is the only one (looks silly)
@@ -4611,15 +4617,6 @@ class Parser {
                                ) . ' ' . $headline;
                        }
 
-                       # Create the anchor for linking from the TOC to the section
-                       $anchor = $safeHeadline;
-                       $legacyAnchor = $legacyHeadline;
-                       if ( $refers[$arrayKey] > 1 ) {
-                               $anchor .= '_' . $refers[$arrayKey];
-                       }
-                       if ( $legacyHeadline !== false && $refers[$legacyArrayKey] > 1 ) {
-                               $legacyAnchor .= '_' . $refers[$legacyArrayKey];
-                       }
                        if ( $enoughToc && ( !isset( $wgMaxTocLevel ) || $toclevel < $wgMaxTocLevel ) ) {
                                $toc .= Linker::tocLine( $anchor, $tocline,
                                        $numbering, $toclevel, ( $isTemplate ? false : $sectionIndex ) );