Difference between revisions of "User:The Happy Flygineer/sysopdetector.js"
(Port from English Wikipedia) |
(Migrate deprecated functions & variables; see https://www.mediawiki.org/wiki/ResourceLoader/Migration_guide_(users)) |
||
Line 17: | Line 17: | ||
*/ | */ | ||
− | if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) && (wgTitle.indexOf('/') == -1) && (wgAction == 'view')) { | + | if ((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && (mw.config.get("wgTitle").indexOf('/') == -1) && (mw.config.get("wgAction") == 'view')) { |
− | + | $(document).load(showUserGroups); | |
} | } | ||
function showUserGroups() { | function showUserGroups() { | ||
− | var url = wgServer + wgScriptPath + '/api.php?action=query&format=json&callback=showUserGroupsCB&maxage=3600&smaxage=3600&usprop=blockinfo|groups|editcount|registration&list=users&ususers=' + encodeURIComponent(wgTitle); | + | var url = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/api.php?action=query&format=json&callback=showUserGroupsCB&maxage=3600&smaxage=3600&usprop=blockinfo|groups|editcount|registration&list=users&ususers=' + encodeURIComponent(mw.config.get("wgTitle")); |
− | + | mw.loader.load(url); | |
} | } | ||
Latest revision as of 14:22, 12 March 2018
/* Modified version of User:Splarka/sysopdectector.js Sysop decrier/detector (rights group displayer), version [0.2.0a] Originally from http://en.wikipedia.org/wiki/User:Splarka/sysopdectector.js Options: * All are assumed false if omitted. All but 'groups' are assumed false if undefined. var showUserGroupSettings = { 'IP':true, 'unregistered':true, 'registered':true, 'groups': true, 'editcount':true, 'regdate':true, 'blocked':true }; */ if ((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && (mw.config.get("wgTitle").indexOf('/') == -1) && (mw.config.get("wgAction") == 'view')) { $(document).load(showUserGroups); } function showUserGroups() { var url = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/api.php?action=query&format=json&callback=showUserGroupsCB&maxage=3600&smaxage=3600&usprop=blockinfo|groups|editcount|registration&list=users&ususers=' + encodeURIComponent(mw.config.get("wgTitle")); mw.loader.load(url); } function showUserGroupsCB(obj) { var show = window.showUserGroupSettings || false; if ( obj['query'] && obj['query']['users'] ) { var user = obj['query']['users']; } else { return; } if ( user.length > 0 ) { user = user[0]; } else { return; } if ( $('h1, h2').length > 0) { var someHeading = $('h1:first') || $('h2:first'); } else { return; } var title = 'User:' + user['name'] + ' '; someHeading.attr('title', title).addClass('detected-userrights-heading'); var text = ' '; if (user['invalid'] == '') { if (show && show.IP) text += '[IP] '; else title += '[invalid or IP username] '; } else if (user['missing'] == '') { if (show && show.unregistered) text += '[doesn\'t exist] '; else title += '[not a registered name] '; } else { if (show && show.registered) text += '[exists] '; else title += '[username registered] '; if (user['groups']) { user['groups'].splice( user['groups'].indexOf('user') , 1); user['groups'].splice( user['groups'].indexOf('*') , 1); if ((show && show.groups || !show) && (user['groups'].length > 1)) { text += ('[' + user['groups'] + '] ').replace(/,/gi, ", "); } else { title += '[' + user['groups'] + '] '; } } if ( user['editcount'] ) { if (show && show.editcount) text += '[' + user['editcount'] + ' edits] '; else title += '[' + user['editcount'] + ' edits] '; } if ( user['registration'] ) { if (show && show.regdate) text += '[created: ' + user['registration'].split('T')[0] + '] '; else title += '[created: ' + user['registration'] + '] '; } if ( user['blockedby'] ) { if (show && show.blocked) text += '[blocked] '; else text += '[currently blocked] '; } } var span = $('<span/>', { 'text': text, 'style':'font-size:80%;', 'class':'detected-userrights' }).appendTo(someHeading); }