Fomafix has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/348907 )

Change subject: Add deprecation warning to mw.user.bucket
......................................................................

Add deprecation warning to mw.user.bucket

The function mw.user.bucket is already deprecated since 1.23

Change-Id: I2589dc7ce94004504a7aad080374877391f20057
---
M resources/src/mediawiki/mediawiki.user.js
1 file changed, 77 insertions(+), 77 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/07/348907/1

diff --git a/resources/src/mediawiki/mediawiki.user.js 
b/resources/src/mediawiki/mediawiki.user.js
index d1fa84a..d848db7 100644
--- a/resources/src/mediawiki/mediawiki.user.js
+++ b/resources/src/mediawiki/mediawiki.user.js
@@ -146,83 +146,6 @@
                },
 
                /**
-                * Get the user's bucket (place them in one if not done already)
-                *
-                *     mw.user.bucket( 'test', {
-                *         buckets: { ignored: 50, control: 25, test: 25 },
-                *         version: 1,
-                *         expires: 7
-                *     } );
-                *
-                * @deprecated since 1.23
-                * @param {string} key Name of bucket
-                * @param {Object} options Bucket configuration options
-                * @param {Object} options.buckets List of 
bucket-name/relative-probability pairs (required,
-                *  must have at least one pair)
-                * @param {number} [options.version=0] Version of bucket test, 
changing this forces
-                *  rebucketing
-                * @param {number} [options.expires=30] Length of time (in 
days) until the user gets
-                *  rebucketed
-                * @return {string} Bucket name - the randomly chosen key of 
the `options.buckets` object
-                */
-               bucket: function ( key, options ) {
-                       var cookie, parts, version, bucket,
-                               range, k, rand, total;
-
-                       options = $.extend( {
-                               buckets: {},
-                               version: 0,
-                               expires: 30
-                       }, options || {} );
-
-                       cookie = mw.cookie.get( 'mwuser-bucket:' + key );
-
-                       // Bucket information is stored as 2 integers, together 
as version:bucket like: "1:2"
-                       if ( typeof cookie === 'string' && cookie.length > 2 && 
cookie.indexOf( ':' ) !== -1 ) {
-                               parts = cookie.split( ':' );
-                               if ( parts.length > 1 && Number( parts[ 0 ] ) 
=== options.version ) {
-                                       version = Number( parts[ 0 ] );
-                                       bucket = String( parts[ 1 ] );
-                               }
-                       }
-
-                       if ( bucket === undefined ) {
-                               if ( !$.isPlainObject( options.buckets ) ) {
-                                       throw new Error( 'Invalid bucket. 
Object expected for options.buckets.' );
-                               }
-
-                               version = Number( options.version );
-
-                               // Find range
-                               range = 0;
-                               for ( k in options.buckets ) {
-                                       range += options.buckets[ k ];
-                               }
-
-                               // Select random value within range
-                               rand = Math.random() * range;
-
-                               // Determine which bucket the value landed in
-                               total = 0;
-                               for ( k in options.buckets ) {
-                                       bucket = k;
-                                       total += options.buckets[ k ];
-                                       if ( total >= rand ) {
-                                               break;
-                                       }
-                               }
-
-                               mw.cookie.set(
-                                       'mwuser-bucket:' + key,
-                                       version + ':' + bucket,
-                                       { expires: Number( options.expires ) * 
86400 }
-                               );
-                       }
-
-                       return bucket;
-               },
-
-               /**
                 * Get the current user's groups
                 *
                 * @param {Function} [callback]
@@ -249,4 +172,81 @@
                }
        } );
 
+       /**
+        * Get the user's bucket (place them in one if not done already)
+        *
+        *     mw.user.bucket( 'test', {
+        *         buckets: { ignored: 50, control: 25, test: 25 },
+        *         version: 1,
+        *         expires: 7
+        *     } );
+        *
+        * @deprecated since 1.23
+        * @param {string} key Name of bucket
+        * @param {Object} options Bucket configuration options
+        * @param {Object} options.buckets List of 
bucket-name/relative-probability pairs (required,
+        *  must have at least one pair)
+        * @param {number} [options.version=0] Version of bucket test, changing 
this forces
+        *  rebucketing
+        * @param {number} [options.expires=30] Length of time (in days) until 
the user gets
+        *  rebucketed
+        * @return {string} Bucket name - the randomly chosen key of the 
`options.buckets` object
+        */
+       mw.log.deprecate( mw.user, 'bucket', function ( key, options ) {
+               var cookie, parts, version, bucket,
+                       range, k, rand, total;
+
+               options = $.extend( {
+                       buckets: {},
+                       version: 0,
+                       expires: 30
+               }, options || {} );
+
+               cookie = mw.cookie.get( 'mwuser-bucket:' + key );
+
+               // Bucket information is stored as 2 integers, together as 
version:bucket like: "1:2"
+               if ( typeof cookie === 'string' && cookie.length > 2 && 
cookie.indexOf( ':' ) !== -1 ) {
+                       parts = cookie.split( ':' );
+                       if ( parts.length > 1 && Number( parts[ 0 ] ) === 
options.version ) {
+                               version = Number( parts[ 0 ] );
+                               bucket = String( parts[ 1 ] );
+                       }
+               }
+
+               if ( bucket === undefined ) {
+                       if ( !$.isPlainObject( options.buckets ) ) {
+                               throw new Error( 'Invalid bucket. Object 
expected for options.buckets.' );
+                       }
+
+                       version = Number( options.version );
+
+                       // Find range
+                       range = 0;
+                       for ( k in options.buckets ) {
+                               range += options.buckets[ k ];
+                       }
+
+                       // Select random value within range
+                       rand = Math.random() * range;
+
+                       // Determine which bucket the value landed in
+                       total = 0;
+                       for ( k in options.buckets ) {
+                               bucket = k;
+                               total += options.buckets[ k ];
+                               if ( total >= rand ) {
+                                       break;
+                               }
+                       }
+
+                       mw.cookie.set(
+                               'mwuser-bucket:' + key,
+                               version + ':' + bucket,
+                               { expires: Number( options.expires ) * 86400 }
+                       );
+               }
+
+               return bucket;
+       } );
+
 }( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/348907
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2589dc7ce94004504a7aad080374877391f20057
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Fomafix <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to