X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=33e30c9b24c16f5f58078c83c5e4cafb3c06342e;hb=4f2eed6877938c3c7703072567e62b933c07b4b5;hp=6942a399355afb99d101138dc1e4d1a83cf57176;hpb=434de9e8ffedc7b8bc641fe47d5d583c5e688e62;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 6942a39935..33e30c9b24 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1328,17 +1328,20 @@ class Linker { Title $title, $text, $wikiId = null, $options = [] ) { if ( $wikiId !== null && !$title->isExternal() ) { - $link = Linker::makeExternalLink( + $link = self::makeExternalLink( WikiMap::getForeignURL( $wikiId, - $title->getPrefixedText(), + $title->getNamespace() === 0 + ? $title->getDBkey() + : MWNamespace::getCanonicalName( $title->getNamespace() ) . ':' + . $title->getDBkey(), $title->getFragment() ), $text, /* escape = */ false // Already escaped ); } else { - $link = Linker::link( $title, $text, [], [], $options ); + $link = self::link( $title, $text, [], [], $options ); } return $link; @@ -1605,23 +1608,27 @@ class Linker { * a space and ending with '>' * This *must* be at least '>' for no attribs * @param string $anchor The anchor to give the headline (the bit after the #) - * @param string $html Html for the text of the header + * @param string $html HTML for the text of the header * @param string $link HTML to add for the section edit link - * @param bool|string $legacyAnchor A second, optional anchor to give for + * @param string|bool $fallbackAnchor A second, optional anchor to give for * backward compatibility (false to omit) * * @return string HTML headline */ public static function makeHeadline( $level, $attribs, $anchor, $html, - $link, $legacyAnchor = false + $link, $fallbackAnchor = false ) { + $anchorEscaped = htmlspecialchars( $anchor ); + $fallback = ''; + if ( $fallbackAnchor !== false && $fallbackAnchor !== $anchor ) { + $fallbackAnchor = htmlspecialchars( $fallbackAnchor ); + $fallback = ""; + } $ret = "$html" + . "$fallback$html" . $link . ""; - if ( $legacyAnchor !== false ) { - $ret = "
$ret"; - } + return $ret; } @@ -1882,7 +1889,6 @@ class Linker { * @return string HTML output */ public static function formatHiddenCategories( $hiddencats ) { - $outText = ''; if ( count( $hiddencats ) > 0 ) { # Construct the HTML @@ -2019,7 +2025,7 @@ class Linker { } if ( !$rev->userCan( Revision::DELETED_RESTRICTED, $user ) ) { - return Linker::revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops + return self::revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops } else { if ( $rev->getId() ) { // RevDelete links using revision ID are stable across @@ -2038,7 +2044,7 @@ class Linker { 'ids' => $rev->getTimestamp() ]; } - return Linker::revDeleteLink( $query, + return self::revDeleteLink( $query, $rev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide ); } }