User:PleaseStand/userinfo-dev.js: Difference between revisions

Content deleted Content added
add support for temporary accounts
Tag: Reverted
Undid revision 1225074654 by PleaseStand (talk) - "named" group was removed in git:mediawiki/core/+/93e8350d295203ac
 
(2 intermediate revisions by the same user not shown)
Line 39:
'ps-userinfo-missing': 'username not registered',
'ps-userinfo-registration': '$1 old',
'ps-userinfo-tempuser': 'temporary account',
'ps-userinfo-user': '{{GENDER:$1|registered user}}'
} );
 
/**
* Check whether a username matches a pattern, such as one for the
* usernames of temporary accounts.
* @param {string} userName The username to be checked
* @param {string|string[]} patterns The pattern or list of patterns
* @return {boolean}
*/
function userNameMatchesPattern( userName, patterns ) {
if ( !Array.isArray( patterns ) ) {
patterns = [ patterns ];
}
for ( var i = 0; i < patterns.length; ++i ) {
var pattern = patterns[i];
var pfxLen = pattern.indexOf( '$1' );
if ( pfxLen < 0 ) {
continue;
}
var sfxLen = pattern.length - pfxLen - 2;
if ( userName.slice( 0, pfxLen ) === pattern.slice( 0, pfxLen ) &&
( !sfxLen || userName.slice( -sfxLen ) === pattern.slice( -sfxLen ) )
) {
return true;
}
}
return false;
}
 
/**
Line 80 ⟶ 52:
list: 'users|usercontribs',
maxage: 300,
meta: 'siteinfo',
siprop: 'autocreatetempuser',
uclimit: 1,
ucprop: 'timestamp',
Line 96 ⟶ 66:
isIPv6: mw.util.isIPv6Address( userName ),
isMissing: 'missing' in user,
isTemp: userNameMatchesPattern( userName, query.autocreatetempuser.matchPattern || [] ),
groups: user.groups || [],
editCount: 'editcount' in user ? user.editcount : null,
Line 132 ⟶ 101:
} else if ( info.isIPv6 ) {
items.push( mw.message( 'ps-userinfo-ipv6' ).escaped() );
} else if ( info.isTemp ) {
items.push( mw.message( 'ps-userinfo-tempuser' ).escaped() );
} else if ( info.isInvalid ) {
items.push( mw.message( 'ps-userinfo-invalid' ).escaped() );