*/
function namespaces() {
$spaces = "<namespaces>\n";
+ $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo();
foreach (
MediaWikiServices::getInstance()->getContentLanguage()->getFormattedNamespaces()
as $ns => $title
Xml::element( 'namespace',
[
'key' => $ns,
- 'case' => MWNamespace::isCapitalized( $ns ) ? 'first-letter' : 'case-sensitive',
+ 'case' => $nsInfo->isCapitalized( $ns )
+ ? 'first-letter' : 'case-sensitive',
], $title ) . "\n";
}
$spaces .= " </namespaces>";
* @return string
*/
function closePage() {
+ if ( $this->currentTitle !== null ) {
+ $linkCache = MediaWikiServices::getInstance()->getLinkCache();
+ // In rare cases, link cache has the same key for some pages which
+ // might be read as part of the same batch. T220424 and T220316
+ $linkCache->clearLink( $this->currentTitle );
+ }
return " </page>\n";
}