Benutzer:Prog/progcoder/userInfoPlugin.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// <nowiki>
(function($, pc){
var loadedList = new mw.Map();
$.extend(pc, {userInfo: function(name, container){
if(false) return;
if(typeof name != 'string') return;
var box = $('<div class="JSUserInfoBox" style="position:relative;" />');
container.append(box);
if(loadedList.exists(name)){
var element = loadedList.get(name);
if($.isArray(element)){
element.push(box);
}else{
box.append(element.clone());
}
}else{
loadedList.set(name, [box]);
var url = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+
"/api.php?action=query&format=json&list=users&ususers="+name+"&usprop=blockinfo|groups|editcount|registration|gender";
var completeRequest = function(json){
var inner = $(document.createElement('div'));
inner.addClass('JSUserInfoInner');
inner.append('<div class="JSUserInfoHeadline"></div>');
var user = json.query.users[0];
if(user.missing) inner.append('<div><b>User is missing</b></div>');
else inner.append('<div><b>Name</b>: ' + user.name + '</div>');
if(user.registration) inner.append('<div><b>Registration</b>: ' + user.registration + '</div>');
if(user.groups) inner.append('<div><b>Groups</b>: ' + user.groups.join(', ') + '</div>');
if(user.editcount) inner.append('<div><b>Edits</b>: ' + user.editcount + '</div>');
if(user.gender) inner.append('<div><b>Gender</b>: ' + user.gender + '</div>');
if(user.blockedby) inner.append('<div><b>Blocked by</b> ' + user.blockedby + '</div>');
if(user.blockreason) inner.append('<div><b>Block reason</b>: ' + user.blockreason + '</div>');
if(user.blockexpiry) inner.append('<div><b>Block expiry</b>: ' + user.blockexpiry + '</div>');
var elements = loadedList.get(name);
for(var i = 0; i < elements.length; ++i){
elements[i].append(inner.clone());
}
loadedList.set(name, inner);
};
$.getJSON(url, completeRequest);
}
}});
}(jQuery, progcoder));
// </nowiki>