Merge "Remove various functions and globals deprecated since 1.22 from RecentChange"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 14 Aug 2014 18:06:35 +0000 (18:06 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 14 Aug 2014 18:06:35 +0000 (18:06 +0000)
1  2 
RELEASE-NOTES-1.24
includes/DefaultSettings.php
includes/Setup.php
includes/changes/RecentChange.php

diff --combined RELEASE-NOTES-1.24
@@@ -49,6 -49,8 +49,8 @@@ production
    now always sorted.
  * Users must be able to edit a page to be able to delete it.
  * $wgHTCPMulticastAddress, $wgHTCPMulticastRouting and $wgHTCPPort were removed.
+ * $wgRC2UDPAddress, $wgRC2UDPInterwikiPrefix, $wgRC2UDPOmitBots, $wgRC2UDPPort
+   and $wgRC2UDPPrefix have been removed.
  
  === New features in 1.24 ===
  * Added a new hook, "WhatLinksHereProps", to allow extensions to annotate
@@@ -240,12 -242,10 +242,12 @@@ changes to languages because of Bugzill
  * Added pp_sortkey column to page_props table, so pages can be efficiently
    queried and sorted by property value (bug 58032).
    See $wgPagePropsHaveSortkey if you want to postpone the schema change.
 -* BREAKING CHANGE: The Modern and Cologne Blue skins were moved out of MediaWiki
 -  core to their own respective repositories. See also
 -  https://www.mediawiki.org/wiki/Skin:Modern and
 -  https://www.mediawiki.org/wiki/Skin:CologneBlue.
 +* BREAKING CHANGE: All four built-in MediaWiki skins (Vector, MonoBook, Modern
 +  and Cologne Blue) were moved out of MediaWiki core to their own respective
 +  repositories. They will be installed with the release tarball, but you must
 +  install them separately if installing MediaWiki from source code. A warning
 +  message displayed until you do it should guide you through the process. See
 +  also <https://www.mediawiki.org/wiki/Manual:Skin_configuration>.
  * BREAKING CHANGE: Skins built for MediaWiki 1.15 and earlier that do not use
    the "headelement" template key are no longer supported. Setting
    $useHeadElement = false; is no longer supported and will not cause old keys
    existed purely to provide support for MSIE versions below 7 and which was
    conditionally loaded for those browsers, was also removed.
  * Action::checkCanExecute() no longer has a return value.
+ * Removed cleanupForIRC(), loadFromCurRow(), newFromCurRow(), notifyRC2UDP()
+   and sendToUDP() from RecentChange.php. (deprecated since 1.22)
  
  ==== Renamed classes ====
  * CLDRPluralRuleConverter_Expression to CLDRPluralRuleConverterExpression
@@@ -5275,9 -5275,9 +5275,9 @@@ $wgUDPProfilerPort = '3811'
  
  /**
   * Format string for the UDP profiler. The UDP profiler invokes sprintf() with
 - * (profile id, count, cpu, cpu_sq, real, real_sq, entry name) as arguments.
 - * You can use sprintf's argument numbering/swapping capability to repeat,
 - * re-order or omit fields.
 + * (profile id, count, cpu, cpu_sq, real, real_sq, entry name, memory) as
 + * arguments. You can use sprintf's argument numbering/swapping capability to
 + * repeat, re-order or omit fields.
   *
   * @see $wgStatsFormatString
   * @since 1.22
@@@ -5681,48 -5681,6 +5681,6 @@@ $wgRCLinkLimits = array( 50, 100, 250, 
   */
  $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
  
- /**
-  * Send recent changes updates via UDP. The updates will be formatted for IRC.
-  * Set this to the IP address of the receiver.
-  *
-  * @deprecated since 1.22, use $wgRCFeeds
-  */
- $wgRC2UDPAddress = false;
- /**
-  * Port number for RC updates
-  *
-  * @deprecated since 1.22, use $wgRCFeeds
-  */
- $wgRC2UDPPort = false;
- /**
-  * Prefix to prepend to each UDP packet.
-  * This can be used to identify the wiki. A script is available called
-  * mxircecho.py which listens on a UDP port, and uses a prefix ending in a
-  * tab to identify the IRC channel to send the log line to.
-  *
-  * @deprecated since 1.22, use $wgRCFeeds
-  */
- $wgRC2UDPPrefix = '';
- /**
-  * If this is set to true, the first entry in the $wgLocalInterwikis array (or
-  * the value of $wgLocalInterwiki, if set) will be prepended to links in the IRC
-  * feed. If this is set to a string, that string will be used as the prefix.
-  *
-  * @deprecated since 1.22, use $wgRCFeeds
-  */
- $wgRC2UDPInterwikiPrefix = false;
- /**
-  * Set to true to omit "bot" edits (by users with the bot permission) from the
-  * UDP feed.
-  *
-  * @deprecated since 1.22, use $wgRCFeeds
-  */
- $wgRC2UDPOmitBots = false;
  /**
   * Destinations to which notifications about recent changes
   * should be sent.
   *  The JSON-specific options are:
   *   * 'channel' -- if set, the 'channel' parameter is also set in JSON values.
   *
-  *  To ensure backwards-compatibility, whenever $wgRC2UDPAddress is set, a
-  *  'default' feed will be created reusing the deprecated $wgRC2UDP* variables.
-  *
   * @example $wgRCFeeds['example'] = array(
   *            'formatter' => 'JSONRCFeedFormatter',
   *            'uri' => "udp://localhost:1336",
@@@ -7275,7 -7230,7 +7230,7 @@@ $wgPageLanguageUseDB = false
   * @var bool
   * @since 1.24
   */
 -$wgUseLinkNamespaceDBFields = false;
 +$wgUseLinkNamespaceDBFields = true;
  
  /**
   * For really cool vim folding this needs to be at the end:
diff --combined includes/Setup.php
@@@ -263,21 -263,8 +263,21 @@@ if ( $wgSkipSkin ) 
        $wgSkipSkins[] = $wgSkipSkin;
  }
  
 -// Register a hidden "fallback" skin
 -$wgValidSkinNames['fallback'] = 'Fallback'; // SkinFallback
 +// Register skins
 +// Use a closure to avoid leaking into global state
 +call_user_func( function() use ( $wgValidSkinNames ) {
 +      $factory = SkinFactory::getDefaultInstance();
 +      foreach ( $wgValidSkinNames as $name => $skin ) {
 +              $factory->register( $name, $skin, function() use ( $name, $skin ) {
 +                      $class = "Skin$skin";
 +                      return new $class( $name );
 +              } );
 +      }
 +      // Register a hidden "fallback" skin
 +      $factory->register( 'fallback', 'Fallback', function() {
 +              return new SkinFallback;
 +      } );
 +} );
  $wgSkipSkins[] = 'fallback';
  
  if ( $wgLocalInterwiki ) {
@@@ -405,15 -392,6 +405,6 @@@ if ( $wgCookieSecure === 'detect' ) 
        $wgCookieSecure = ( WebRequest::detectProtocol() === 'https' );
  }
  
- if ( $wgRC2UDPAddress ) {
-       $wgRCFeeds['default'] = array(
-               'formatter' => 'IRCColourfulRCFeedFormatter',
-               'uri' => "udp://$wgRC2UDPAddress:$wgRC2UDPPort/$wgRC2UDPPrefix",
-               'add_interwiki_prefix' => &$wgRC2UDPInterwikiPrefix,
-               'omit_bots' => &$wgRC2UDPOmitBots,
-       );
- }
  wfProfileOut( $fname . '-defaults' );
  
  // Disable MWDebug for command line mode, this prevents MWDebug from eating up
@@@ -550,15 -528,15 +541,15 @@@ wfRunHooks( 'SetupAfterCache' )
  
  wfProfileIn( $fname . '-session' );
  
 -// If session.auto_start is there, we can't touch session name
 -if ( !wfIniGetBool( 'session.auto_start' ) ) {
 -      session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
 -}
 +if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
 +      // If session.auto_start is there, we can't touch session name
 +      if ( !wfIniGetBool( 'session.auto_start' ) ) {
 +              session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
 +      }
  
 -if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode &&
 -      ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix . 'Token'] ) )
 -) {
 -      wfSetupSession();
 +      if ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix . 'Token'] ) ) {
 +              wfSetupSession();
 +      }
  }
  
  wfProfileOut( $fname . '-session' );
@@@ -136,7 -136,7 +136,7 @@@ class RecentChange 
        /**
         * Parsing RC_* constants to human-readable test
         * @since 1.24
 -       * @param int $rc_type
 +       * @param int $rcType
         * @return string $type
         */
        public static function parseFromRCType( $rcType ) {
                return $type;
        }
  
-       /**
-        * No uses left in Gerrit on 2013-11-19.
-        * @deprecated since 1.22
-        * @param mixed $row
-        * @return RecentChange
-        */
-       public static function newFromCurRow( $row ) {
-               wfDeprecated( __METHOD__, '1.22' );
-               $rc = new RecentChange;
-               $rc->loadFromCurRow( $row );
-               $rc->notificationtimestamp = false;
-               $rc->numberofWatchingusers = false;
-               return $rc;
-       }
        /**
         * Obtain the recent change with a given rc_id value
         *
                }
        }
  
-       /**
-        * @deprecated since 1.22, use notifyRCFeeds instead.
-        */
-       public function notifyRC2UDP() {
-               wfDeprecated( __METHOD__, '1.22' );
-               $this->notifyRCFeeds();
-       }
-       /**
-        * Send some text to UDP.
-        * @deprecated since 1.22
-        */
-       public static function sendToUDP( $line, $address = '', $prefix = '', $port = '' ) {
-               global $wgRC2UDPAddress, $wgRC2UDPInterwikiPrefix, $wgRC2UDPPort, $wgRC2UDPPrefix;
-               wfDeprecated( __METHOD__, '1.22' );
-               # Assume default for standard RC case
-               $address = $address ? $address : $wgRC2UDPAddress;
-               $prefix = $prefix ? $prefix : $wgRC2UDPPrefix;
-               $port = $port ? $port : $wgRC2UDPPort;
-               $engine = new UDPRCFeedEngine();
-               $feed = array(
-                       'uri' => "udp://$address:$port/$prefix",
-                       'formatter' => 'IRCColourfulRCFeedFormatter',
-                       'add_interwiki_prefix' => $wgRC2UDPInterwikiPrefix,
-               );
-               $engine->send( $feed, $line );
-       }
        /**
         * Notify all the feeds about the change.
         * @param array $feeds Optional feeds to send to, defaults to $wgRCFeeds
                return new $wgRCEngines[$scheme];
        }
  
-       /**
-        * @deprecated since 1.22, moved to IRCColourfulRCFeedFormatter
-        */
-       public static function cleanupForIRC( $text ) {
-               wfDeprecated( __METHOD__, '1.22' );
-               return IRCColourfulRCFeedFormatter::cleanupForIRC( $text );
-       }
        /**
         * Mark a given change as patrolled
         *
                $this->mAttribs['rc_deleted'] = $row->rc_deleted; // MUST be set
        }
  
-       /**
-        * Makes a pseudo-RC entry from a cur row
-        *
-        * @deprecated since 1.22
-        * @param mixed $row
-        */
-       public function loadFromCurRow( $row ) {
-               wfDeprecated( __METHOD__, '1.22' );
-               $this->mAttribs = array(
-                       'rc_timestamp' => wfTimestamp( TS_MW, $row->rev_timestamp ),
-                       'rc_user' => $row->rev_user,
-                       'rc_user_text' => $row->rev_user_text,
-                       'rc_namespace' => $row->page_namespace,
-                       'rc_title' => $row->page_title,
-                       'rc_comment' => $row->rev_comment,
-                       'rc_minor' => $row->rev_minor_edit ? 1 : 0,
-                       'rc_type' => $row->page_is_new ? RC_NEW : RC_EDIT,
-                       'rc_source' => $row->page_is_new ? self::SRC_NEW : self::SRC_EDIT,
-                       'rc_cur_id' => $row->page_id,
-                       'rc_this_oldid' => $row->rev_id,
-                       'rc_last_oldid' => isset( $row->rc_last_oldid ) ? $row->rc_last_oldid : 0,
-                       'rc_bot' => 0,
-                       'rc_ip' => '',
-                       'rc_id' => $row->rc_id,
-                       'rc_patrolled' => $row->rc_patrolled,
-                       'rc_new' => $row->page_is_new, # obsolete
-                       'rc_old_len' => $row->rc_old_len,
-                       'rc_new_len' => $row->rc_new_len,
-                       'rc_params' => isset( $row->rc_params ) ? $row->rc_params : '',
-                       'rc_log_type' => isset( $row->rc_log_type ) ? $row->rc_log_type : null,
-                       'rc_log_action' => isset( $row->rc_log_action ) ? $row->rc_log_action : null,
-                       'rc_logid' => isset( $row->rc_logid ) ? $row->rc_logid : 0,
-                       'rc_deleted' => $row->rc_deleted // MUST be set
-               );
-       }
        /**
         * Get an attribute value
         *