Index: trunk/phase3/includes/CategoryPage.php |
— | — | @@ -258,8 +258,8 @@ |
259 | 259 | } |
260 | 260 | $cont_msg = ""; |
261 | 261 | if ( $articles_start_char[$index] == $prev_start_char ) |
262 | | - $cont_msg = wfMsg('listingcontinuesabbrev'); |
263 | | - $r .= "<h3>{$articles_start_char[$index]}$cont_msg</h3>\n<ul>"; |
| 262 | + $cont_msg = wfMsgHtml('listingcontinuesabbrev'); |
| 263 | + $r .= "<h3>" . htmlspecialchars( $articles_start_char[$index] ) . "$cont_msg</h3>\n<ul>"; |
264 | 264 | $prev_start_char = $articles_start_char[$index]; |
265 | 265 | } |
266 | 266 | |
— | — | @@ -284,13 +284,13 @@ |
285 | 285 | * @access private |
286 | 286 | */ |
287 | 287 | function shortList( $articles, $articles_start_char ) { |
288 | | - $r = '<h3>'.$articles_start_char[0]."</h3>\n"; |
| 288 | + $r = '<h3>' . htmlspecialchars( $articles_start_char[0] ) . "</h3>\n"; |
289 | 289 | $r .= '<ul><li>'.$articles[0].'</li>'; |
290 | 290 | for ($index = 1; $index < count($articles); $index++ ) |
291 | 291 | { |
292 | 292 | if ($articles_start_char[$index] != $articles_start_char[$index - 1]) |
293 | 293 | { |
294 | | - $r .= "</ul><h3>{$articles_start_char[$index]}</h3>\n<ul>"; |
| 294 | + $r .= "</ul><h3>" . htmlspecialchars( $articles_start_char[$index] ) . "</h3>\n<ul>"; |
295 | 295 | } |
296 | 296 | |
297 | 297 | $r .= "<li>{$articles[$index]}</li>"; |
Index: trunk/phase3/includes/Parser.php |
— | — | @@ -1434,6 +1434,7 @@ |
1435 | 1435 | } else { |
1436 | 1436 | $sortkey = $text; |
1437 | 1437 | } |
| 1438 | + $sortkey = Sanitizer::decodeCharReferences( $sortkey ); |
1438 | 1439 | $sortkey = $wgContLang->convertCategoryKey( $sortkey ); |
1439 | 1440 | $wgLinkCache->addCategoryLinkObj( $nt, $sortkey ); |
1440 | 1441 | $this->mOutput->addCategoryLink( $t ); |
Index: trunk/phase3/RELEASE-NOTES |
— | — | @@ -298,6 +298,7 @@ |
299 | 299 | * (bug 1850) Additional fixes so existing local and remote images |
300 | 300 | get a blue link even if there's no local description page |
301 | 301 | * (bug 4169) Use $wgLegalTitleChars in pipe trick conversions |
| 302 | +* (bug 4170) Decode HTML character escapes in sort key |
302 | 303 | |
303 | 304 | |
304 | 305 | === Caveats === |