Merge "Miscellaneous indentation tweaks"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 28 Feb 2017 18:38:36 +0000 (18:38 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 28 Feb 2017 18:38:36 +0000 (18:38 +0000)
19 files changed:
1  2 
includes/Block.php
includes/DefaultSettings.php
includes/EditPage.php
includes/MagicWord.php
includes/Sanitizer.php
includes/Title.php
includes/api/ApiQueryRecentChanges.php
includes/content/ContentHandler.php
includes/content/TextContentHandler.php
includes/exception/UserNotLoggedIn.php
includes/installer/PostgresUpdater.php
includes/libs/CSSMin.php
includes/libs/StatusValue.php
includes/libs/xmp/XMP.php
includes/specialpage/LoginSignupSpecialPage.php
includes/specials/SpecialRecentchanges.php
includes/user/User.php
languages/Language.php
languages/LanguageConverter.php

diff --combined includes/Block.php
@@@ -265,7 -265,7 +265,7 @@@ class Block 
                }
  
                # Be aware that the != '' check is explicit, since empty values will be
 -              # passed by some callers (bug 29116)
 +              # passed by some callers (T31116)
                if ( $vagueTarget != '' ) {
                        list( $target, $type ) = self::parseTarget( $vagueTarget );
                        switch ( $type ) {
                if ( $end === null ) {
                        $end = $start;
                }
 -              # Per bug 14634, we want to include relevant active rangeblocks; for
 +              # Per T16634, we want to include relevant active rangeblocks; for
                # rangeblocks, we want to include larger ranges which enclose the given
                # range. We know that all blocks must be smaller than $wgBlockCIDRLimit,
                # so we can improve performance by filtering on a LIKE clause
                $affected = $dbw->affectedRows();
  
                if ( $this->isAutoblocking() ) {
 -                      // update corresponding autoblock(s) (bug 48813)
 +                      // update corresponding autoblock(s) (T50813)
                        $dbw->update(
                                'ipblocks',
                                $this->getAutoblockUpdateArray(),
                } elseif ( $target === null && $vagueTarget == '' ) {
                        # We're not going to find anything useful here
                        # Be aware that the == '' check is explicit, since empty values will be
 -                      # passed by some callers (bug 29116)
 +                      # passed by some callers (T31116)
                        return null;
  
                } elseif ( in_array(
         * Get all blocks that match any IP from an array of IP addresses
         *
         * @param array $ipChain List of IPs (strings), usually retrieved from the
-        *         X-Forwarded-For header of the request
+        *     X-Forwarded-For header of the request
         * @param bool $isAnon Exclude anonymous-only blocks if false
         * @param bool $fromMaster Whether to query the master or replica DB
         * @return array Array of Blocks
         *
         * @param array $blocks Array of Block objects
         * @param array $ipChain List of IPs (strings). This is used to determine how "close"
-        *        a block is to the server, and if a block matches exactly, or is in a range.
-        *        The order is furthest from the server to nearest e.g., (Browser, proxy1, proxy2,
-        *        local-squid, ...)
+        *     a block is to the server, and if a block matches exactly, or is in a range.
+        *     The order is furthest from the server to nearest e.g., (Browser, proxy1, proxy2,
+        *     local-squid, ...)
         * @throws MWException
         * @return Block|null The "best" block from the list
         */
@@@ -1337,7 -1337,7 +1337,7 @@@ $wgXMLMimeTypes = 
   * to reduce disk usage, limits can only be selected from a list.
   * The user preference is saved as an array offset in the database, by default
   * the offset is set with $wgDefaultUserOptions['imagesize']. Make sure you
 - * change it if you alter the array (see bug 8858).
 + * change it if you alter the array (see T10858).
   * This is the list of settings the user can choose from:
   */
  $wgImageLimits = [
@@@ -1442,14 -1442,19 +1442,19 @@@ $wgUseTinyRGBForJPGThumbnails = false
   * Default parameters for the "<gallery>" tag
   */
  $wgGalleryOptions = [
-       'imagesPerRow' => 0, // Default number of images per-row in the gallery. 0 -> Adapt to screensize
-       'imageWidth' => 120, // Width of the cells containing images in galleries (in "px")
-       'imageHeight' => 120, // Height of the cells containing images in galleries (in "px")
-       'captionLength' => true, // Deprecated @since 1.28
-                                // Length to truncate filename to in caption when using "showfilename".
-                                // A value of 'true' will truncate the filename to one line using CSS
-                                // and will be the behaviour after deprecation.
-       'showBytes' => true, // Show the filesize in bytes in categories
+       // Default number of images per-row in the gallery. 0 -> Adapt to screensize
+       'imagesPerRow' => 0,
+       // Width of the cells containing images in galleries (in "px")
+       'imageWidth' => 120,
+       // Height of the cells containing images in galleries (in "px")
+       'imageHeight' => 120,
+       // Length to truncate filename to in caption when using "showfilename".
+       // A value of 'true' will truncate the filename to one line using CSS
+       // and will be the behaviour after deprecation.
+       // @deprecated since 1.28
+       'captionLength' => true,
+       // Show the filesize in bytes in categories
+       'showBytes' => true,
        'mode' => 'traditional',
  ];
  
@@@ -3357,7 -3362,7 +3362,7 @@@ $wgDisableOutputCompression = false
   *
   * Currently this appears to work fine in all browsers, but it's disabled by
   * default because it normalizes id's a bit too aggressively, breaking preexisting
 - * content (particularly Cite).  See bug 27733, bug 27694, bug 27474.
 + * content (particularly Cite).  See T29733, T29694, T29474.
   */
  $wgExperimentalHtmlIds = false;
  
@@@ -4081,7 -4086,7 +4086,7 @@@ $wgMaxRedirects = 1
   * Attempting to create a redirect to any of the pages in this array
   * will make the redirect fail.
   * Userlogout is hard-coded, so it does not need to be listed here.
 - * (bug 10569) Disallow Mypage and Mytalk as well.
 + * (T12569) Disallow Mypage and Mytalk as well.
   *
   * As of now, this only checks special pages. Redirects to pages in
   * other namespaces cannot be invalidated by this variable.
@@@ -4565,8 -4570,8 +4570,8 @@@ $wgAuthManagerAutoConfig = 
                ],
                // Linking during login is experimental, enable at your own risk - T134952
                // MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class => [
-               //      'class' => MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class,
-               //      'sort' => 100,
+               //   'class' => MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::class,
+               //   'sort' => 100,
                // ],
                MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class => [
                        'class' => MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider::class,
@@@ -8372,7 -8377,7 +8377,7 @@@ $wgPagePropsHaveSortkey = true
  /**
   * Port where you have HTTPS running
   * Supports HTTPS on non-standard ports
 - * @see bug 65184
 + * @see T67184
   * @since 1.24
   */
  $wgHttpsPort = 443;
diff --combined includes/EditPage.php
@@@ -993,7 -993,7 +993,7 @@@ class EditPage 
                        $this->recreate = false;
  
                        // When creating a new section, we can preload a section title by passing it as the
 -                      // preloadtitle parameter in the URL (Bug 13100)
 +                      // preloadtitle parameter in the URL (T15100)
                        if ( $this->section == 'new' && $request->getVal( 'preloadtitle' ) ) {
                                $this->sectiontitle = $request->getVal( 'preloadtitle' );
                                // Once wpSummary isn't being use for setting section titles, we should delete this.
  
                        // Don't save a new page if it's blank or if it's a MediaWiki:
                        // message with content equivalent to default (allow empty pages
 -                      // in this case to disable messages, see bug 50124)
 +                      // in this case to disable messages, see T52124)
                        $defaultMessageText = $this->mTitle->getDefaultMessageText();
                        if ( $this->mTitle->getNamespace() === NS_MEDIAWIKI && $defaultMessageText !== false ) {
                                $defaultText = $defaultMessageText;
                        return;
                }
  
-               $this->showHeader();
+               $this->showHeader();
  
                $wgOut->addHTML( $this->editFormPageTop );
  
                if ( $this->hasPresetSummary ) {
                        // If a summary has been preset using &summary= we don't want to prompt for
                        // a different summary. Only prompt for a summary if the summary is blanked.
 -                      // (Bug 17416)
 +                      // (T19416)
                        $this->autoSumm = md5( '' );
                }
  
@@@ -3565,7 -3565,7 +3565,7 @@@ HTM
                }
        }
  
 -      private function incrementConflictStats() {
 +      protected function incrementConflictStats() {
                $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                $stats->increment( 'edit.failures.conflict' );
                // Only include 'standard' namespaces to avoid creating unknown numbers of statsd metrics
diff --combined includes/MagicWord.php
@@@ -46,8 -46,8 +46,8 @@@
   * $magicWords = [];
   *
   * $magicWords['en'] = [
-  *    'magicwordkey' => [ 0, 'case_insensitive_magic_word' ],
-  *    'magicwordkey2' => [ 1, 'CASE_sensitive_magic_word2' ],
+  *   'magicwordkey' => [ 0, 'case_insensitive_magic_word' ],
+  *   'magicwordkey2' => [ 1, 'CASE_sensitive_magic_word2' ],
   * ];
   * @endcode
   *
@@@ -502,7 -502,7 +502,7 @@@ class MagicWord 
                        # multiple matched parts (variable match); some will be empty because of
                        # synonyms. The variable will be the second non-empty one so remove any
                        # blank elements and re-sort the indices.
 -                      # See also bug 6526
 +                      # See also T8526
  
                        $matches = array_values( array_filter( $matches ) );
  
diff --combined includes/Sanitizer.php
@@@ -344,12 -344,12 +344,12 @@@ class Sanitizer 
                        $space = '[\x09\x0a\x0c\x0d\x20]';
                        self::$attribsRegex =
                                "/(?:^|$space)({$attribFirst}{$attrib}*)
-                                 ($space*=$space*
+                                       ($space*=$space*
                                        (?:
-                                        # The attribute value: quoted or alone
-                                         \"([^\"]*)(?:\"|\$)
-                                        | '([^']*)(?:'|\$)
-                                         (((?!$space|>).)*)
+                                               # The attribute value: quoted or alone
+                                               \"([^\"]*)(?:\"|\$)
+                                               | '([^']*)(?:'|\$)
+                                               | (((?!$space|>).)*)
                                        )
                                )?(?=$space|\$)/sx";
                }
                                                        $badtag = true;
                                                } elseif ( in_array( $t, $tagstack ) && !isset( $htmlnest[$t] ) ) {
                                                        $badtag = true;
 -                                              #  Is it a self closed htmlpair ? (bug 5487)
 +                                              #  Is it a self closed htmlpair ? (T7487)
                                                } elseif ( $brace == '/>' && isset( $htmlpairs[$t] ) ) {
                                                        // Eventually we'll just remove the self-closing
                                                        // slash, in order to be consistent with HTML5
  
                // Normalize Halfwidth and Fullwidth Unicode block that IE6 might treat as ascii
                $value = preg_replace_callback(
 -                      '/[!-[]-z]/u', // U+FF01 to U+FF5A, excluding U+FF3C (bug 58088)
 +                      '/[!-[]-z]/u', // U+FF01 to U+FF5A, excluding U+FF3C (T60088)
                        function ( $matches ) {
                                $cp = UtfNormal\Utils::utf8ToCodepoint( $matches[0] );
                                if ( $cp === false ) {
  
        /**
         * Decode any character references, numeric or named entities,
 -       * in the next and normalize the resulting string. (bug 14952)
 +       * in the next and normalize the resulting string. (T16952)
         *
         * This is useful for page titles, not for text to be displayed,
         * MediaWiki allows HTML entities to escape normalization as a feature.
         *   3.5.
         *
         * This function is an implementation of the specification as requested in
 -       * bug 22449.
 +       * T24449.
         *
         * Client-side forms will use the same standard validation rules via JS or
         * HTML 5 validation; additional restrictions can be enforced server-side
  
                // Please note strings below are enclosed in brackets [], this make the
                // hyphen "-" a range indicator. Hence it is double backslashed below.
 -              // See bug 26948
 +              // See T28948
                $rfc5322_atext = "a-z0-9!#$%&'*+\\-\/=?^_`{|}~";
                $rfc1034_ldh_str = "a-z0-9\\-";
  
diff --combined includes/Title.php
@@@ -134,7 -134,7 +134,7 @@@ class Title implements LinkTarget 
  
        /**
         * @var int Namespace index when there is no namespace. Don't change the
 -       *   following default, NS_MAIN is hardcoded in several places. See bug 696.
 +       *   following default, NS_MAIN is hardcoded in several places. See T2696.
         *   Zero except in {{transclusion}} tags.
         */
        public $mDefaultNamespace = NS_MAIN;
                        }
                }
  
 -              // Convert things like &eacute; &#257; or &#x3017; into normalized (bug 14952) text
 +              // Convert things like &eacute; &#257; or &#x3017; into normalized (T16952) text
                $filteredText = Sanitizer::decodeCharReferencesAndNormalize( $text );
  
                $t = new Title();
                        }
                        $newPageName = preg_replace(
                                        '#^' . preg_quote( $this->getDBkey(), '#' ) . '#',
 -                                      StringUtils::escapeRegexReplacement( $nt->getDBkey() ), # bug 21234
 +                                      StringUtils::escapeRegexReplacement( $nt->getDBkey() ), # T23234
                                        $oldSubpage->getDBkey() );
                        if ( $oldSubpage->isTalkPage() ) {
                                $newNs = $nt->getTalkPage()->getNamespace();
                        } else {
                                $newNs = $nt->getSubjectPage()->getNamespace();
                        }
 -                      # Bug 14385: we need makeTitleSafe because the new page names may
 +                      # T16385: we need makeTitleSafe because the new page names may
                        # be longer than 255 characters.
                        $newSubpage = Title::makeTitleSafe( $newNs, $newPageName );
  
         * categories' names.
         *
         * @return array Array of parents in the form:
-        *        $parent => $currentarticle
+        *     $parent => $currentarticle
         */
        public function getParentCategories() {
                global $wgContLang;
@@@ -147,7 -147,7 +147,7 @@@ class ApiQueryRecentChanges extends Api
  
                /* Build our basic query. Namely, something along the lines of:
                 * SELECT * FROM recentchanges WHERE rc_timestamp > $start
-                *              AND rc_timestamp < $end AND rc_namespace = $namespace
+                *   AND rc_timestamp < $end AND rc_namespace = $namespace
                 */
                $this->addTables( 'recentchanges' );
                $this->addTimestampWhereRange( 'rc_timestamp', $params['dir'], $params['start'], $params['end'] );
                        $this->addWhereFld( 'ct_tag', $params['tag'] );
                }
  
 -              // Paranoia: avoid brute force searches (bug 17342)
 +              // Paranoia: avoid brute force searches (T19342)
                if ( !is_null( $params['user'] ) || !is_null( $params['excludeuser'] ) ) {
                        if ( !$user->isAllowed( 'deletedhistory' ) ) {
                                $bitmask = Revision::DELETED_USER;
@@@ -899,7 -899,7 +899,7 @@@ abstract class ContentHandler 
                        $onlyAuthor = $row->rev_user_text;
                        // Try to find a second contributor
                        foreach ( $res as $row ) {
 -                              if ( $row->rev_user_text != $onlyAuthor ) { // Bug 22999
 +                              if ( $row->rev_user_text != $onlyAuthor ) { // T24999
                                        $onlyAuthor = false;
                                        break;
                                }
         * @return array Map of name=>value for fields
         * @since 1.28
         */
-       public function getDataForSearchIndex( WikiPage $page, ParserOutput $output,
-                                              SearchEngine $engine ) {
+       public function getDataForSearchIndex(
+               WikiPage $page,
+               ParserOutput $output,
+               SearchEngine $engine
+       ) {
                $fieldData = [];
                $content = $page->getContent();
  
@@@ -30,7 -30,7 +30,7 @@@
   */
  class TextContentHandler extends ContentHandler {
  
 -      // @codingStandardsIgnoreStart bug 57585
 +      // @codingStandardsIgnoreStart T59585
        public function __construct( $modelId = CONTENT_MODEL_TEXT, $formats = [ CONTENT_FORMAT_TEXT ] ) {
                parent::__construct( $modelId, $formats );
        }
                return $fields;
        }
  
-       public function getDataForSearchIndex( WikiPage $page, ParserOutput $output,
-                                              SearchEngine $engine ) {
+       public function getDataForSearchIndex(
+               WikiPage $page,
+               ParserOutput $output,
+               SearchEngine $engine
+       ) {
                $fields = parent::getDataForSearchIndex( $page, $output, $engine );
                $fields['language'] =
                        $this->getPageLanguage( $page->getTitle(), $page->getContent() )->getCode();
@@@ -32,7 -32,7 +32,7 @@@
   * @par Example:
   * @code
   * if( $user->isAnon() ) {
-  *    throw new UserNotLoggedIn();
+  *   throw new UserNotLoggedIn();
   * }
   * @endcode
   *
   * @par Example:
   * @code
   * if( $user->isAnon() ) {
-  *    throw new UserNotLoggedIn( 'action-require-loggedin' );
+  *   throw new UserNotLoggedIn( 'action-require-loggedin' );
   * }
   * @endcode
   *
 - * @see bug 37627
 + * @see T39627
   * @since 1.20
   * @ingroup Exception
   */
@@@ -496,8 -496,8 +496,8 @@@ class PostgresUpdater extends DatabaseU
                $q = <<<END
  SELECT attname, attnum FROM pg_namespace, pg_class, pg_attribute
        WHERE pg_class.relnamespace = pg_namespace.oid
-         AND attrelid=pg_class.oid AND attnum > 0
-         AND relname=%s AND nspname=%s
+               AND attrelid=pg_class.oid AND attnum > 0
+               AND relname=%s AND nspname=%s
  END;
                $res = $this->db->query( sprintf( $q,
                        $this->db->addQuotes( $table ),
                $q = <<<END
  SELECT indkey, indrelid FROM pg_namespace, pg_class, pg_index
        WHERE nspname=%s
-         AND pg_class.relnamespace = pg_namespace.oid
-         AND relname=%s
-         AND indexrelid=pg_class.oid
+               AND pg_class.relnamespace = pg_namespace.oid
+               AND relname=%s
+               AND indexrelid=pg_class.oid
  END;
                $res = $this->db->query(
                        sprintf(
                        $query = <<<END
  SELECT attname FROM pg_class, pg_attribute
        WHERE attrelid=$relid
-         AND attnum=%d
-         AND attrelid=pg_class.oid
+               AND attnum=%d
+               AND attrelid=pg_class.oid
  END;
                        $r2 = $this->db->query( sprintf( $query, $rid ) );
                        if ( !$r2 ) {
                $q = <<<END
  SELECT confdeltype FROM pg_constraint, pg_namespace
        WHERE connamespace=pg_namespace.oid
-         AND nspname=%s
-         AND conname=%s;
+               AND nspname=%s
+               AND conname=%s;
  END;
                $r = $this->db->query(
                        sprintf(
                $q = <<<END
  SELECT definition FROM pg_rules
        WHERE schemaname = %s
-         AND tablename = %s
-         AND rulename = %s
+               AND tablename = %s
+               AND rulename = %s
  END;
                $r = $this->db->query(
                        sprintf(
  
        protected function rebuildTextSearch() {
                if ( $this->updateRowExists( 'patch-textsearch_bug66650.sql' ) ) {
 -                      $this->output( "...bug 66650 already fixed or not applicable.\n" );
 +                      $this->output( "...T68650 already fixed or not applicable.\n" );
                        return;
                };
                $this->applyPatch( 'patch-textsearch_bug66650.sql', false,
 -                      'Rebuilding text search for bug 66650' );
 +                      'Rebuilding text search for T68650' );
        }
  }
diff --combined includes/libs/CSSMin.php
@@@ -8,7 -8,7 +8,7 @@@
   * not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
-  *            http://www.apache.org/licenses/LICENSE-2.0
+  *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software distributed
   * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
@@@ -237,7 -237,7 +237,7 @@@ class CSSMin 
                //       * Otherwise remap the URL to work in generated stylesheets
  
                // Guard against trailing slashes, because "some/remote/../foo.png"
 -              // resolves to "some/remote/foo.png" on (some?) clients (bug 27052).
 +              // resolves to "some/remote/foo.png" on (some?) clients (T29052).
                if ( substr( $remote, -1 ) == '/' ) {
                        $remote = substr( $remote, 0, -1 );
                }
@@@ -85,7 -85,7 +85,7 @@@ class StatusValue 
         * defined as:
         * [
         *     0 => object(StatusValue) # the StatusValue with error messages, only
-        *         1 => object(StatusValue) # The StatusValue with warning messages, only
+        *     1 => object(StatusValue) # The StatusValue with warning messages, only
         * ]
         *
         * @return StatusValue[]
        }
  
        /**
 -       * Change operation resuklt
 +       * Change operation result
         *
         * @param bool $ok Whether the operation completed
         * @param mixed $value
@@@ -647,7 -647,7 +647,7 @@@ class XMPReader implements LoggerAwareI
        private function endElementNested( $elm ) {
  
                /* cur item must be the same as $elm, unless if in MODE_STRUCT
-                  in which case it could also be rdf:Description */
+                * in which case it could also be rdf:Description */
                if ( $this->curItem[0] !== $elm
                        && !( $elm === self::NS_RDF . ' Description'
                                && $this->mode[0] === self::MODE_STRUCT )
                if ( $elm === self::NS_RDF . ' Seq' ) {
                        array_unshift( $this->mode, self::MODE_LI );
                } elseif ( $elm === self::NS_RDF . ' Bag' ) {
 -                      # bug 27105
 +                      # T29105
                        $this->logger->info( __METHOD__ . ' Expected an rdf:Seq, but got an rdf:Bag. Pretending'
                                . ' it is a Seq, since some buggy software is known to screw this up.' );
                        array_unshift( $this->mode, self::MODE_LI );
@@@ -177,7 -177,7 +177,7 @@@ abstract class LoginSignupSpecialPage e
  
                # 1. When switching accounts, it sucks to get automatically logged out
                # 2. Do not return to PasswordReset after a successful password change
 -              #    but goto Wiki start page (Main_Page) instead ( bug 33997 )
 +              #    but goto Wiki start page (Main_Page) instead ( T35997 )
                $returnToTitle = Title::newFromText( $this->mReturnTo );
                if ( is_object( $returnToTitle )
                        && ( $returnToTitle->isSpecial( 'Userlogout' )
         */
        protected function getFakeTemplate( $msg, $msgType ) {
                global $wgAuth, $wgEnableEmail, $wgHiddenPrefs, $wgEmailConfirmToEdit, $wgEnableUserEmail,
-                          $wgSecureLogin, $wgPasswordResetRoutes;
+                       $wgSecureLogin, $wgPasswordResetRoutes;
  
                // make a best effort to get the value of fields which used to be fixed in the old login
                // template but now might or might not exist depending on what providers are used
                $user = $this->getUser();
                $template = new FakeAuthTemplate();
  
 -              // Pre-fill username (if not creating an account, bug 44775).
 +              // Pre-fill username (if not creating an account, T46775).
                if ( $data->mUsername == '' && $this->isSignup() ) {
                        if ( $user->isLoggedIn() ) {
                                $data->mUsername = $user->getName();
                $resetLink = $this->isSignup()
                        ? null
                        : is_array( $wgPasswordResetRoutes )
-                         && in_array( true, array_values( $wgPasswordResetRoutes ), true );
+                               && in_array( true, array_values( $wgPasswordResetRoutes ), true );
  
                $template->set( 'header', '' );
                $template->set( 'formheader', '' );
@@@ -668,7 -668,7 +668,7 @@@ class SpecialRecentChanges extends Chan
        function makeOptionsLink( $title, $override, $options, $active = false ) {
                $params = $override + $options;
  
 -              // Bug 36524: false values have be converted to "0" otherwise
 +              // T38524: false values have be converted to "0" otherwise
                // wfArrayToCgi() will omit it them.
                foreach ( $params as &$value ) {
                        if ( $value === false ) {
  
        function filterOnUserExperienceLevel( &$tables, &$conds, &$join_conds, $opts ) {
                global $wgLearnerEdits,
-                          $wgExperiencedUserEdits,
-                          $wgLearnerMemberSince,
-                          $wgExperiencedUserMemberSince;
+                       $wgExperiencedUserEdits,
+                       $wgLearnerMemberSince,
+                       $wgExperiencedUserMemberSince;
  
                $selectedExpLevels = explode( ',', strtolower( $opts['userExpLevel'] ) );
                // remove values that are not recognized
diff --combined includes/user/User.php
@@@ -949,7 -949,7 +949,7 @@@ class User implements IDBAccessObject 
  
                // Ensure that the username isn't longer than 235 bytes, so that
                // (at least for the builtin skins) user javascript and css files
 -              // will work. (bug 23080)
 +              // will work. (T25080)
                if ( strlen( $name ) > 235 ) {
                        wfDebugLog( 'username', __METHOD__ .
                                ": '$name' invalid due to length" );
                }
  
                // Clean up name according to title rules,
 -              // but only when validation is requested (bug 12654)
 +              // but only when validation is requested (T14654)
                $t = ( $validate !== false ) ?
                        Title::newFromText( $name, NS_USER ) : Title::makeTitle( NS_USER, $name );
                // Check for invalid titles
                        }
                }
  
 -              // (bug 23343) Apply IP blocks to the contents of XFF headers, if enabled
 +              // (T25343) Apply IP blocks to the contents of XFF headers, if enabled
                if ( !$block instanceof Block
                        && $wgApplyIpBlocksToXff
                        && $ip !== null
                $found = false;
                // @todo FIXME: IPv6 ???  (https://bugs.php.net/bug.php?id=33170)
                if ( IP::isIPv4( $ip ) ) {
 -                      // Reverse IP, bug 21255
 +                      // Reverse IP, T23255
                        $ipReversed = implode( '.', array_reverse( explode( '.', $ip ) ) );
  
                        foreach ( (array)$bases as $base ) {
         */
        public function getExperienceLevel() {
                global $wgLearnerEdits,
-                          $wgExperiencedUserEdits,
-                          $wgLearnerMemberSince,
-                          $wgExperiencedUserMemberSince;
+                       $wgExperiencedUserEdits,
+                       $wgLearnerMemberSince,
+                       $wgExperiencedUserMemberSince;
  
                if ( $this->isAnon() ) {
                        return false;
         *   }
         *   // do something with $user...
         *
 -       * However, this was vulnerable to a race condition (bug 16020). By
 +       * However, this was vulnerable to a race condition (T18020). By
         * initialising the user object if the user exists, we aim to support this
         * calling sequence as far as possible.
         *
                        return $this->mBlock;
                }
  
 -              # bug 13611: if the IP address the user is trying to create an account from is
 +              # T15611: if the IP address the user is trying to create an account from is
                # blocked with createaccount disabled, prevent new account creation there even
                # when the user is logged in
                if ( $this->mBlockedFromCreateAccount === false && !$this->isAllowed( 'ipblock-exempt' ) ) {
         * @note Since these URLs get dropped directly into emails, using the
         * short English names avoids insanely long URL-encoded links, which
         * also sometimes can get corrupted in some browsers/mailers
 -       * (bug 6957 with Gmail and Internet Explorer).
 +       * (T8957 with Gmail and Internet Explorer).
         *
         * @param string $page Special page
         * @param string $token Token
                # Note that the pattern requirement will always be satisfied if the
                # input is empty, so we need required in all cases.
  
 -              # @todo FIXME: Bug 23769: This needs to not claim the password is required
 +              # @todo FIXME: T25769: This needs to not claim the password is required
                # if e-mail confirmation is being used.  Since HTML5 input validation
                # is b0rked anyway in some browsers, just return nothing.  When it's
                # re-enabled, fix this code to not output required for e-mail
diff --combined languages/Language.php
@@@ -2158,12 -2158,10 +2158,10 @@@ class Language 
         * the date preference they're supposed to use, it should be used in
         * all children.
         *
-        *<code>
-        * function timeanddate([...], $format = true) {
-        *      $datePreference = $this->dateFormat($format);
-        * [...]
-        * }
-        *</code>
+        *     function timeanddate([...], $format = true) {
+        *       $datePreference = $this->dateFormat($format);
+        *       [...]
+        *     }
         *
         * @param int|string|bool $usePrefs If true, the user's preference is used
         *   if false, the site/language default is used
        public function parseFormattedNumber( $number ) {
                $s = $this->digitTransformTable();
                if ( $s ) {
 -                      // eliminate empty array values such as ''. (bug 64347)
 +                      // eliminate empty array values such as ''. (T66347)
                        $s = array_filter( $s );
                        $number = strtr( $number, array_flip( $s ) );
                }
  
                $s = $this->separatorTransformTable();
                if ( $s ) {
 -                      // eliminate empty array values such as ''. (bug 64347)
 +                      // eliminate empty array values such as ''. (T66347)
                        $s = array_filter( $s );
                        $number = strtr( $number, array_flip( $s ) );
                }
                                $string = $ellipsis . $string;
                        }
                }
 -              # Do not truncate if the ellipsis makes the string longer/equal (bug 22181).
 +              # Do not truncate if the ellipsis makes the string longer/equal (T24181).
                # This check is *not* redundant if $adjustLength, due to the single case where
                # LEN($ellipsis) > ABS($limit arg); $stringOriginal could be shorter than $string.
                if ( strlen( $string ) < strlen( $stringOriginal ) ) {
@@@ -99,13 -99,13 +99,13 @@@ class LanguageConverter 
                        // '+' add rules for alltext
                        // 'E' the gave flags is error
                        // these flags above are reserved for program
-                       'A' => 'A',       // add rule for convert code (all text convert)
-                       'T' => 'T',       // title convert
-                       'R' => 'R',       // raw content
-                       'D' => 'D',       // convert description (subclass implement)
-                       '-' => '-',       // remove convert (not implement)
-                       'H' => 'H',       // add rule for convert code (but no display in placed code)
-                       'N' => 'N'        // current variant name
+                       'A' => 'A',   // add rule for convert code (all text convert)
+                       'T' => 'T',   // title convert
+                       'R' => 'R',   // raw content
+                       'D' => 'D',   // convert description (subclass implement)
+                       '-' => '-',   // remove convert (not implement)
+                       'H' => 'H',   // add rule for convert code (but no display in placed code)
+                       'N' => 'N',   // current variant name
                ];
                $this->mFlags = array_merge( $defaultflags, $flags );
                foreach ( $this->mVariants as $v ) {
                }
  
                /* we convert everything except:
-                  1. HTML markups (anything between < and >)
-                  2. HTML entities
-                  3. placeholders created by the parser
-               */
+                * 1. HTML markups (anything between < and >)
+                * 2. HTML entities
+                * 3. placeholders created by the parser
+                */
                $marker = '|' . Parser::MARKER_PREFIX . '[\-a-zA-Z0-9]+';
  
                // this one is needed when the text is inside an HTML markup
        protected function applyManualConv( $convRule ) {
                // Use syntax -{T|zh-cn:TitleCN; zh-tw:TitleTw}- to custom
                // title conversion.
 -              // Bug 24072: $mConvRuleTitle was overwritten by other manual
 +              // T26072: $mConvRuleTitle was overwritten by other manual
                // rule(s) not for title, this breaks the title conversion.
                $newConvRuleTitle = $convRule->getTitle();
                if ( $newConvRuleTitle ) {
                        // text should be splited by ";" only if a valid variant
                        // name exist after the markup, for example:
                        //  -{zh-hans:<span style="font-size:120%;">xxx</span>;zh-hant:\
-                       //      <span style="font-size:120%;">yyy</span>;}-
+                       //  <span style="font-size:120%;">yyy</span>;}-
                        // we should split it as:
                        //  [
-                       //        [0] => 'zh-hans:<span style="font-size:120%;">xxx</span>'
-                       //        [1] => 'zh-hant:<span style="font-size:120%;">yyy</span>'
-                       //        [2] => ''
+                       //    [0] => 'zh-hans:<span style="font-size:120%;">xxx</span>'
+                       //    [1] => 'zh-hant:<span style="font-size:120%;">yyy</span>'
+                       //    [2] => ''
                        //  ]
                        $pat = '/;\s*(?=';
                        foreach ( $this->mVariants as $variant ) {