X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=4b9b9630604b9862ebd8d34b9ffe19041e9550d5;hb=555ab7e23277652ff23af9cbb2189de76124f4bc;hp=2e33bd199cfabdc7522a024c67bceb881ca3eb66;hpb=808b957704591b70bc65fed0bd8c1d077818b541;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 2e33bd199c..4b9b963060 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -346,7 +346,10 @@ class Linker { } elseif ( in_array( 'known', $options ) ) { $defaults['title'] = $target->getPrefixedText(); } else { - $defaults['title'] = wfMessage( 'red-link-title', $target->getPrefixedText() )->text(); + // This ends up in parser cache! + $defaults['title'] = wfMessage( 'red-link-title', $target->getPrefixedText() ) + ->inContentLanguage() + ->text(); } # Finally, merge the custom attribs with the default ones, and iterate @@ -623,7 +626,6 @@ class Linker { # Create a thumbnail. Alignment depends on the writing direction of # the page content language (right-aligned for LTR languages, # left-aligned for RTL languages) - # # If a thumbnail width has not been provided, it is set # to the default user option as specified in Language*.php if ( $fp['align'] == '' ) { @@ -671,17 +673,6 @@ class Linker { return str_replace( "\n", ' ', $prefix . $s . $postfix ); } - /** - * See makeImageLink() - * When this function is removed, remove if( $parser instanceof Parser ) check there too - * @deprecated since 1.20 - */ - public static function makeImageLink2( Title $title, $file, $frameParams = array(), - $handlerParams = array(), $time = false, $query = "", $widthOption = null ) { - return self::makeImageLink( null, $title, $file, $frameParams, - $handlerParams, $time, $query, $widthOption ); - } - /** * Get the link parameters for MediaTransformOutput::toHtml() from given * frame parameters supplied by the Parser. @@ -1394,7 +1385,10 @@ class Linker { * is ignored * * @todo FIXME: Doesn't handle sub-links as in image thumb texts like the main parser - * @param string $comment Text to format links in + * @param string $comment Text to format links in. WARNING! Since the output of this + * function is html, $comment must be sanitized for use as html. You probably want + * to pass $comment through Sanitizer::escapeHtmlAllowEntities() before calling + * this function. * @param Title|null $title An optional title object used to links to sections * @param bool $local Whether section links should refer to local page * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), @@ -1470,7 +1464,7 @@ class Linker { if ( $target->getText() == '' && !$target->isExternal() && !$local && $title ) { - $newTarget = clone ( $title ); + $newTarget = clone $title; $newTarget->setFragment( '#' . $target->getFragment() ); $target = $newTarget; } @@ -2019,7 +2013,7 @@ class Linker { * directly paste it in as the link (escaping needs to be done manually). * Finally, if $more is a Message, call toString(). * - * @param array $templates Array of templates from Article::getUsedTemplate or similar + * @param Title[] $templates Array of templates * @param bool $preview Whether this is for a preview * @param bool $section Whether this is for a section edit * @param Title|Message|string|null $more An escaped link for "More..." of the templates @@ -2159,13 +2153,13 @@ class Linker { * @param string $name Id of the element, minus prefixes. * @param string|null $options Null or the string 'withaccess' to add an access- * key hint + * @param array $msgParams Parameters to pass to the message + * * @return string Contents of the title attribute (which you must HTML- * escape), or false for no title attribute */ - public static function titleAttrib( $name, $options = null ) { - - $message = wfMessage( "tooltip-$name" ); - + public static function titleAttrib( $name, $options = null, array $msgParams = array() ) { + $message = wfMessage( "tooltip-$name", $msgParams ); if ( !$message->exists() ) { $tooltip = false; } else { @@ -2313,84 +2307,20 @@ class Linker { /* Deprecated methods */ - /** - * @deprecated since 1.16 Use link(); warnings since 1.21 - * - * Make a link for a title which may or may not be in the database. If you need to - * call this lots of times, pre-fill the link cache with a LinkBatch, otherwise each - * call to this will result in a DB query. - * - * @param Title $nt The title object to make the link from, e.g. from Title::newFromText. - * @param string $text Link text - * @param string $query Optional query part - * @param string $trail Optional trail. Alphabetic characters at the start of this string will - * be included in the link text. Other characters will be appended after - * the end of the link. - * @param string $prefix Optional prefix. As trail, only before instead of after. - * @return string - */ - static function makeLinkObj( $nt, $text = '', $query = '', $trail = '', $prefix = '' ) { - wfDeprecated( __METHOD__, '1.21' ); - - $query = wfCgiToArray( $query ); - list( $inside, $trail ) = self::splitTrail( $trail ); - if ( $text === '' ) { - $text = self::linkText( $nt ); - } - - $ret = self::link( $nt, "$prefix$text$inside", array(), $query ) . $trail; - - return $ret; - } - - /** - * @deprecated since 1.16 Use link(); warnings since 1.21 - * - * Make a link for a title which definitely exists. This is faster than makeLinkObj because - * it doesn't have to do a database query. It's also valid for interwiki titles and special - * pages. - * - * @param Title $title Title object of target page - * @param string $text Text to replace the title - * @param string $query Link target - * @param string $trail Text after link - * @param string $prefix Text before link text - * @param string $aprops Extra attributes to the a-element - * @param string $style Style to apply - if empty, use getInternalLinkAttributesObj instead - * @return string The a-element - */ - static function makeKnownLinkObj( - $title, $text = '', $query = '', $trail = '', $prefix = '', $aprops = '', $style = '' - ) { - wfDeprecated( __METHOD__, '1.21' ); - - if ( $text == '' ) { - $text = self::linkText( $title ); - } - $attribs = Sanitizer::mergeAttributes( - Sanitizer::decodeTagAttributes( $aprops ), - Sanitizer::decodeTagAttributes( $style ) - ); - $query = wfCgiToArray( $query ); - list( $inside, $trail ) = self::splitTrail( $trail ); - - $ret = self::link( $title, "$prefix$text$inside", $attribs, $query, - array( 'known', 'noclasses' ) ) . $trail; - - return $ret; - } - /** * Returns the attributes for the tooltip and access key. + * * @param string $name + * @param array $msgParams Params for constructing the message + * * @return array */ - public static function tooltipAndAccesskeyAttribs( $name ) { + public static function tooltipAndAccesskeyAttribs( $name, array $msgParams = array() ) { # @todo FIXME: If Sanitizer::expandAttributes() treated "false" as "output # no attribute" instead of "output '' as value for attribute", this # would be three lines. $attribs = array( - 'title' => self::titleAttrib( $name, 'withaccess' ), + 'title' => self::titleAttrib( $name, 'withaccess', $msgParams ), 'accesskey' => self::accesskey( $name ) ); if ( $attribs['title'] === false ) {