Merge "Add title to list item of language link"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 4 Mar 2014 12:24:53 +0000 (12:24 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 4 Mar 2014 12:24:53 +0000 (12:24 +0000)
1  2 
includes/SkinTemplate.php

@@@ -175,7 -175,7 +175,7 @@@ class SkinTemplate extends Skin 
                                }
  
                                $ilInterwikiCodeBCP47 = wfBCP47( $ilInterwikiCode );
 -                              $languageLinks[] = array(
 +                              $languageLink = array(
                                        'href' => $languageLinkTitle->getFullURL(),
                                        'text' => $ilLangName,
                                        'title' => $ilTitle,
                                        'lang' => $ilInterwikiCodeBCP47,
                                        'hreflang' => $ilInterwikiCodeBCP47,
                                );
 +                              wfRunHooks( 'SkinTemplateGetLanguageLink', array( &$languageLink, $languageLinkTitle, $this->getTitle() ) );
 +                              $languageLinks[] = $languageLink;
                        }
                }
  
                                'active' => $active
                        );
                        $personal_urls['logout'] = array(
 -                              'text' => $this->msg( 'userlogout' )->text(),
 +                              'text' => $this->msg( 'pt-userlogout' )->text(),
                                'href' => self::makeSpecialUrl( 'Userlogout',
                                        // userlogout link must always contain an & character, otherwise we might not be able
                                        // to detect a buggy precaching proxy (bug 17790)
                        $useCombinedLoginLink = $this->useCombinedLoginLink();
                        $loginlink = $this->getUser()->isAllowed( 'createaccount' ) && $useCombinedLoginLink
                                ? 'nav-login-createaccount'
 -                              : 'login';
 +                              : 'pt-login';
                        $is_signup = $request->getText( 'type' ) == 'signup';
  
                        $login_url = array(
                                'active' => $title->isSpecial( 'Userlogin' ) && ( $loginlink == 'nav-login-createaccount' || !$is_signup ),
                        );
                        $createaccount_url = array(
 -                              'text' => $this->msg( 'createaccount' )->text(),
 +                              'text' => $this->msg( 'pt-createaccount' )->text(),
                                'href' => self::makeSpecialUrl( 'Userlogin', "$returnto&type=signup" ),
                                'active' => $title->isSpecial( 'Userlogin' ) && $is_signup,
                        );
@@@ -1596,7 -1594,7 +1596,7 @@@ abstract class BaseTemplate extends Qui
                        if ( isset( $plink['active'] ) ) {
                                $ptool['active'] = $plink['active'];
                        }
 -                      foreach ( array( 'href', 'class', 'text' ) as $k ) {
 +                      foreach ( array( 'href', 'class', 'text', 'dir' ) as $k ) {
                                if ( isset( $plink[$k] ) ) {
                                        $ptool['links'][0][$k] = $plink[$k];
                                }
         *
         * @param $key string, usually a key from the list you are generating this link from.
         * @param $item array, of list item data containing some of a specific set of keys.
-        * The "id" and "class" keys will be used as attributes for the list item,
+        * The "id", "class" and "itemtitle" keys will be used as attributes for the list item,
         * if "active" contains a value of true a "active" class will also be appended to class.
         *
         * @param $options array
         * list item directly so they will not be passed to makeLink
         * (however the link will still support a tooltip and accesskey from it)
         * If you need an id or class on a single link you should include a "links"
-        * array with just one link item inside of it.
+        * array with just one link item inside of it. If you want to add a title
+        * to the list item itself, you can set "itemtitle" to the value.
         * $options is also passed on to makeLink calls
         *
         * @return string
                } else {
                        $link = $item;
                        // These keys are used by makeListItem and shouldn't be passed on to the link
-                       foreach ( array( 'id', 'class', 'active', 'tag' ) as $k ) {
+                       foreach ( array( 'id', 'class', 'active', 'tag', 'itemtitle' ) as $k ) {
                                unset( $link[$k] );
                        }
                        if ( isset( $item['id'] ) && !isset( $item['single-id'] ) ) {
                        $attrs['class'] .= ' active';
                        $attrs['class'] = trim( $attrs['class'] );
                }
+               if ( isset( $item['itemtitle'] ) ) {
+                       $attrs['title'] = $item['itemtitle'];
+               }
                return Html::rawElement( isset( $options['tag'] ) ? $options['tag'] : 'li', $attrs, $html );
        }