Revert r37741 for now "Changed getInternalLinkAttributesInternal parameters: now...
authorBrion Vibber <brion@users.mediawiki.org>
Wed, 16 Jul 2008 10:15:47 +0000 (10:15 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Wed, 16 Jul 2008 10:15:47 +0000 (10:15 +0000)
This seems a bit icky and inconsistent. If it's necessary to pass titles around here, it should be done consistently, with appropriate fixups and refactoring to the old spaghetti code.

docs/hooks.txt
includes/Linker.php

index 2740182..2217a5e 100644 (file)
@@ -753,13 +753,6 @@ $lang: laguage code (string)
 $specialPageAliases: associative array of magic words synonyms
 $lang: laguage code (string)
 
-'LinkerLinkAttributes': At the end of Linker::getLinkAttributesInternal() just before the return
-&$this: Linker object
-&$nt: Title object of link target, or null
-$title: 'title' attribute string
-$class: 'class' attribute string
-&$result: Final attribute string
-
 'LinkerMakeExternalImage': At the end of Linker::makeExternalImage() just before the return
 &$url: the image url
 &$alt: the image's alt text
index ecf50ef..03e7a9e 100644 (file)
@@ -34,7 +34,7 @@ class Linker {
         *   string is passed, which is the default value, defaults to 'external'.
         */
        function getExternalLinkAttributes( $title, $unused = null, $class='' ) {
-               return $this->getLinkAttributesInternal( null, $title, $class, 'external' );
+               return $this->getLinkAttributesInternal( $title, $class, 'external' );
        }
 
        /**
@@ -56,7 +56,7 @@ class Linker {
                $title = $wgContLang->checkTitleEncoding( $title );
                $title = preg_replace( '/[\\x00-\\x1f]/', ' ', $title );
 
-               return $this->getLinkAttributesInternal( null, $title, $class, 'external' );
+               return $this->getLinkAttributesInternal( $title, $class, 'external' );
        }
 
        /**
@@ -71,7 +71,7 @@ class Linker {
        function getInternalLinkAttributes( $title, $unused = null, $class='' ) {
                $title = urldecode( $title );
                $title = str_replace( '_', ' ', $title );
-               return $this->getLinkAttributesInternal( null, $title, $class );
+               return $this->getLinkAttributesInternal( $title, $class );
        }
 
        /**
@@ -88,13 +88,13 @@ class Linker {
                if( $title === false ) {
                        $title = $nt->getPrefixedText();
                }
-               return $this->getLinkAttributesInternal( $nt, $title, $class );
+               return $this->getLinkAttributesInternal( $title, $class );
        }
 
        /**
         * Common code for getLinkAttributesX functions
         */
-       private function getLinkAttributesInternal( $nt, $title, $class, $classDefault = false ) {
+       private function getLinkAttributesInternal( $title, $class, $classDefault = false ) {
                $title = htmlspecialchars( $title );
                if( $class === '' and $classDefault !== false ) {
                        # FIXME: Parameter defaults the hard way!  We should just have
@@ -108,7 +108,6 @@ class Linker {
                        $r .= " class=\"$class\"";
                }
                $r .= " title=\"$title\"";
-               wfRunHooks( 'LinkerLinkAttributes', array( &$this, &$nt, $title, $class, &$r ) );
                return $r;
        }
 
@@ -324,12 +323,6 @@ class Linker {
 
                $nt = $this->normaliseSpecialPage( $title );
 
-               if ( $text == '' ) {
-                       $text = htmlspecialchars( $nt->getPrefixedText() );
-               }
-               if ( $style == '' ) {
-                       $style = $this->getInternalLinkAttributesObj( $nt, $text );
-               }
                $u = $nt->escapeLocalURL( $query );
                if ( $nt->getFragment() != '' ) {
                        if( $nt->getPrefixedDbkey() == '' ) {
@@ -340,6 +333,12 @@ class Linker {
                        }
                        $u .= $nt->getFragmentForURL();
                }
+               if ( $text == '' ) {
+                       $text = htmlspecialchars( $nt->getPrefixedText() );
+               }
+               if ( $style == '' ) {
+                       $style = $this->getInternalLinkAttributesObj( $nt, $text );
+               }
 
                if ( $aprops !== '' ) $aprops = ' ' . $aprops;