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

Content deleted Content added
attempt to fix namespace check
Undid revision 1225074654 by PleaseStand (talk) - "named" group was removed in git:mediawiki/core/+/93e8350d295203ac
 
(19 intermediate revisions by the same user not shown)
Line 19:
'ps-userinfo-gendersymbol-female': '♀',
'ps-userinfo-gendersymbol-unknown': '',
'ps-userinfo-itemseparator': ' $1\u00a0|  $2',
'ps-userinfo-groupseparator': '$1,  $2',
 
'ps-userinfo-seconds': '$1 {{PLURAL:$1|second|seconds}}',
Line 31:
'ps-userinfo-years-months': '$1 {{PLURAL:$1|year|years}} $2 {{PLURAL:$2|month|months}}',
 
'ps-userinfo-blocked': "<b>'BLOCKED</b>"',
'ps-userinfo-editcount': '$1 {{PLURAL:$1|edit|edits}}',
'ps-userinfo-invalid': 'invalid username',
'ps-userinfo-ipv4': 'IPv4 address',
'ps-userinfo-ipv6': 'IPv6 address',
'ps-userinfo-lastedited': 'last edited [$2 $1 ago]',
'ps-userinfo-missing': 'unregistered username not registered',
'ps-userinfo-registration': '$1 old',
'ps-userinfo-user': '{{GENDER:$1|registered user}}'
Line 68:
groups: user.groups || [],
editCount: 'editcount' in user ? user.editcount : null,
registration: parseDateuser.registration ? new Date( user.registration ) : null,
isBlocked: 'blockexpiry' in user,
gender: user.gender || 'unknown',
lastEdited: ( contribs && contribs[0] ) ? parseDatenew Date( contribs[0].timestamp ) : null
};
} );
Line 82:
function displayInfo( info ) {
var userPrefix = mw.config.get( 'wgFormattedNamespaces' )[2] + ':',
hostParts = ___location.hostname.split( '.' ),
items = [],
groups = [],
Line 93 ⟶ 92:
page: userPrefix + info.name
} )
}, new h.Raw( h.element( 'strong', {}, mw.messagemsg( 'ps-userinfo-blocked' ).parse( ) ) ) );
}
 
if ( info.isMissing ) {
items.push( mw.message( 'ps-userinfo-missing' ).parseescaped() );
} else if ( info.isIPv4 ) {
items.push( mw.message( 'ps-userinfo-ipv4' ).parseescaped() );
} else if ( info.isIPv6 ) {
items.push( mw.message( 'ps-userinfo-ipv6' ).parseescaped() );
} else if ( info.isInvalid ) {
items.push( mw.message( 'ps-userinfo-invalid' ).parseescaped() );
} else {
$.each( info.groups, function ( i, v ) {
if ( $.inArray( v, ['*', 'user', 'autoconfirmed'] ) < 0 ) {
groups.push( mw.message( 'group-' + v + '-member', info.gender ).parseescaped() );
}
} );
if ( groups.length ) {
items.push( groups.join( mw.message( 'ps-userinfo-groupseparator', '', '' ).parseescaped() ) );
} else {
}, new hitems.Rawpush( mw.message( 'ps-userinfo-editcountuser', info.editCountgender ).parseescaped() ) ) );
}
 
Line 119 ⟶ 120:
buildDurationMessage( info.registration, new Date() ).text(),
info.gender
).parseescaped() );
}
 
if ( info.editCount !== null ) {
items.push( h.element( 'a', { href:
'https://toolsxtools.wmflabswmcloud.org/supercountec/index.php?' + $.param( {
hostParts = encodeURIComponent( ___location.hostname.split( ) + './' ),+
user: info.name,
encodeURIComponent( info.name )
project: hostParts.slice( 0, -1 ).join( '.' )
}, mw.message( 'ps-userinfo-editcount', info.editCount ).text() ) );
} )
}, new h.Raw( mw.message( 'ps-userinfo-editcount', info.editCount ).parse() ) ) );
}
}
Line 135:
items.push( mw.message(
'ps-userinfo-lastedited',
buildDurationMessage( info.lastEdited, new Date() ).textescaped(),
$( '<a>' ).prop( 'href', mw.util.getUrl( 'Special:Contributions/' + info.name ) ),
info.name
user:mw.html.escape( info.name, )
).parse() );
}
Line 148 ⟶ 149:
fontSize: '75%'
} )
.htmltext( mw.messagemsg( 'ps-userinfo-gendersymbol-' + info.gender ).parse() )
.appendTo( '#firstHeading' );
 
// Replace the subtitle with the rest of the info
$( '#siteSub' ).html( items.join( mw.message( 'ps-userinfo-itemseparator', '', '' ).parseescaped() ) );
}
 
Line 163 ⟶ 164:
action: 'query',
amfilter: '-member',
amlang: documentmw.documentElementconfig.langget( 'wgUserLanguage' ),
amprefix: 'group-',
maxage: 86400,
Line 172 ⟶ 173:
} );
} );
}
 
/**
* Parse a UTC date in the subset of ISO 8601 used by MediaWiki's API.
* That format is YYYY-MM-DDTHH:MM:SSZ.
* @param {string} str The UTC date returned
* @return {Date} object
*/
function parseDate( str ) {
var m = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/.exec( str );
if ( !m ) {
return null;
}
var d = new Date();
d.setUTCFullYear( m[1], m[2] - 1, m[3] );
d.setUTCHours( m[4], m[5], m[6] );
return d;
}
 
Line 241 ⟶ 223:
'mediawiki.api',
'mediawiki.jqueryMsg',
'mediawiki.language',
'mediawiki.util'
], function () {