%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/varak.net/wiki.varak.net/extensions/MobileFrontend/src/mobile.startup/
Upload File :
Create Path :
Current File : /www/varak.net/wiki.varak.net/extensions/MobileFrontend/src/mobile.startup/user.js

var user,
	mwUser = mw.user,
	util = require( './util' );

/**
 * Utility library for looking up details on the current user
 * Note: most of this module is just for convenience. It should be removed
 * in favor of mw.user, or at very least reduced to convenience functions.
 * @class user
 * @singleton
 */
user = {
	/**
	 * @memberof user
	 * @instance
	 * @see mediaWiki.user
	 */
	tokens: mwUser.tokens,
	/**
	 * @memberof user
	 * @instance
	 * @see mediaWiki.user
	 */
	isAnon: mwUser.isAnon,
	/**
	 * @memberof user
	 * @instance
	 * @see mediaWiki.user
	 */
	getName: mwUser.getName,
	/**
	 * @memberof user
	 * @instance
	 * @see mediaWiki.user
	 */
	getId: mwUser.getId,
	/**
	 * Find current users edit count
	 * @memberof user
	 * @instance
	 * @return {number} the edit count of the current user on the current wiki.
	 */
	getEditCount: function () {
		return mw.config.get( 'wgUserEditCount' );
	},
	/**
	 * FIXME: Not sure why mw.user is asynchronous when the information is available
	 * For reasons I do not understand getGroups in core causes an unnecessary ajax request
	 * The information this returns is identical to the content of the config variable.
	 * To avoid an unnecessary ajax request on every page view simply use config variable.
	 * @memberof user
	 * @instance
	 * @return {jQuery.Deferred}
	 */
	getGroups: function () {
		return util.Deferred().resolve( mw.config.get( 'wgUserGroups' ) );
	},
	/**
	 * Wrapper for mw.user.sessionId().
	 * @memberof user
	 * @instance
	 * @method
	 * @return {string}
	 */
	getSessionId: function () {
		return mwUser.sessionId();
	},

	/**
	 * User Bucketing for A/B testing
	 * (we want this to be the same everywhere)
	 * @memberof user
	 * @instance
	 * @return {boolean}
	 */
	inUserBucketA: function () {
		return mw.config.get( 'wgUserId' ) % 2 === 0;
	}

};
module.exports = user;

Zerion Mini Shell 1.0