No edit summary Tag: sourceedit |
No edit summary Tag: sourceedit |
||
Line 12: | Line 12: | ||
* @description: Creates a link in Special:Contributions to the user's posts on discussions. |
* @description: Creates a link in Special:Contributions to the user's posts on discussions. |
||
*/ |
*/ |
||
+ | |||
+ | var dContribsUserId = 0; |
||
//Is there a better way to get the user id? |
//Is there a better way to get the user id? |
||
− | function getUserIdByName(username){ |
+ | function getUserIdByName(username) { |
var request = new XMLHttpRequest(); |
var request = new XMLHttpRequest(); |
||
request.onreadystatechange = function() { |
request.onreadystatechange = function() { |
||
if(request.readyState == 4 && request.status == 200) { |
if(request.readyState == 4 && request.status == 200) { |
||
var arr = JSON.parse(request.responseText); |
var arr = JSON.parse(request.responseText); |
||
− | + | dContribsUserId = arr["query"]["allusers"][0].id; |
|
− | } else { |
||
− | return -0; |
||
} |
} |
||
}; |
}; |
||
Line 31: | Line 31: | ||
if (wgCanonicalSpecialPageName == "Contributions") { |
if (wgCanonicalSpecialPageName == "Contributions") { |
||
var userName = wgPageName.split("/")[1]; //Can usernames contain slashes? |
var userName = wgPageName.split("/")[1]; //Can usernames contain slashes? |
||
− | + | getUserIdByName(userName); |
|
− | if (Boolean( |
+ | if (Boolean(dContribsUserId)) { |
//Add new entry to toolbar |
//Add new entry to toolbar |
||
var divContentSub = document.getElementById("contentSub"); |
var divContentSub = document.getElementById("contentSub"); |
||
var aDContribs = document.createElement("a"); |
var aDContribs = document.createElement("a"); |
||
− | aDContribs.href = "/d/u/" + |
+ | aDContribs.href = "/d/u/" + dContribsUserId; |
− | var aDContribsText = document.createTextNode(" |
+ | var aDContribsText = document.createTextNode(" Discussion posts"); |
aDContribs.appendChild(aDContribsText); |
aDContribs.appendChild(aDContribsText); |
||
divContentSub.appendChild(aDContribs); |
divContentSub.appendChild(aDContribs); |
Revision as of 12:21, 12 August 2016
importArticles({
type: 'script',
articles: [
'u:elderscrolls:MediaWiki:Common.js/DiscussionsFeed.js'
]
});
/**
* @author: Flightmare (http://elderscrolls.wikia.com/wiki/User:Flightmare)
* @version: 1.0
* @license: CC-BY-SA 3.0
* @description: Creates a link in Special:Contributions to the user's posts on discussions.
*/
var dContribsUserId = 0;
//Is there a better way to get the user id?
function getUserIdByName(username) {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 200) {
var arr = JSON.parse(request.responseText);
dContribsUserId = arr["query"]["allusers"][0].id;
}
};
request.open("GET", "/api.php?action=query&list=allusers&aufrom=" + username + "&format=json&aulimit=1", true);
request.send();
}
function createDContribLinks() {
if (wgCanonicalSpecialPageName == "Contributions") {
var userName = wgPageName.split("/")[1]; //Can usernames contain slashes?
getUserIdByName(userName);
if (Boolean(dContribsUserId)) {
//Add new entry to toolbar
var divContentSub = document.getElementById("contentSub");
var aDContribs = document.createElement("a");
aDContribs.href = "/d/u/" + dContribsUserId;
var aDContribsText = document.createTextNode(" Discussion posts");
aDContribs.appendChild(aDContribsText);
divContentSub.appendChild(aDContribs);
}
}
}
addOnloadHook(createDContribLinks);