Make mediawiki.special.pageLanguage work again
[lhc/web/wiklou.git] / includes / Linker.php
index 5255b9a..3ba472b 100644 (file)
@@ -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
@@ -670,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.
@@ -2161,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 {
@@ -2315,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 ) {