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