X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=d55f0e0bb57ef1a9255367bd6f4ed5cd3632013a;hb=9b8b314992ea7d11ee77e6f3cfe180f647e3cb0f;hp=6942a399355afb99d101138dc1e4d1a83cf57176;hpb=d89e006b74ab057868f4bfe7b9e682eb02c538a2;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 6942a39935..d55f0e0bb5 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -154,6 +154,11 @@ class Linker { * @since 1.16.3 * @deprecated since 1.28, use MediaWiki\Linker\LinkRenderer instead * @see Linker::link + * @param Title $target + * @param string $html + * @param array $customAttribs + * @param array $query + * @param string|array $options * @return string */ public static function linkKnown( @@ -1328,17 +1333,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; @@ -1347,7 +1355,7 @@ class Linker { /** * @param Title $contextTitle * @param string $target - * @param string $text + * @param string &$text * @return string */ public static function normalizeSubpageLink( $contextTitle, $target, &$text ) { @@ -1605,22 +1613,24 @@ 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 ); $ret = "$html" + . "$html" . $link . ""; - if ( $legacyAnchor !== false ) { - $ret = "
$ret"; + if ( $fallbackAnchor !== false && $fallbackAnchor !== $anchor ) { + $fallbackAnchor = htmlspecialchars( $fallbackAnchor ); + $ret = "
$ret"; } return $ret; } @@ -1882,7 +1892,6 @@ class Linker { * @return string HTML output */ public static function formatHiddenCategories( $hiddencats ) { - $outText = ''; if ( count( $hiddencats ) > 0 ) { # Construct the HTML @@ -2019,7 +2028,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 +2047,7 @@ class Linker { 'ids' => $rev->getTimestamp() ]; } - return Linker::revDeleteLink( $query, + return self::revDeleteLink( $query, $rev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide ); } }