User:Misza13/Scripts/StubSorting
//
//STUB SORTING FUNCTIONS
function TagAsStub (stubname) {
//TODO: add some real content here (but that's trivial actually with Lupin's popups' autoediting)
alert("This article would get tagged with {{"+stubname+"}}.");
}
var stub_xmlhttp;
var StubDiv;
var StubLog;
function LoadStubMenu1 () {
//Create the
which will hold all related stuff...var content = document.getElementById('content');
StubDiv = document.createElement('div');
StubDiv.style.padding = "10px";
content.insertBefore(StubDiv,content.firstChild);
StubLog = document.createElement('div');
StubDiv.appendChild(StubLog);
//Fetch the tools...
StubLog.innerHTML = 'Fetching stubs...';
stub_xmlhttp = HTTPClient();
if (!stub_xmlhttp) return;
stub_xmlhttp.open('GET', 'http://en.wikipedia.org/w/index.php?title=User:Misza13/StubList', true);
stub_xmlhttp.onreadystatechange = LoadStubMenu2;
stub_xmlhttp.send(null);
}
function LoadStubMenu2 () {
if (stub_xmlhttp.readyState != 4) return;
StubLog.innerHTML += ' done.
Linkifying...';// Hack for a MediaWiki bug
stub_xml = stub_xmlhttp.responseText.replace(/
/, ''); stub_doc = gml_XMLParse(stub_xml);
var stublist = stub_doc.getElementById('StubList_div');
StubDiv.appendChild(stublist);
LIs = document.evaluate(
"//*[@class='stubLI']",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
for (i = 0; i < LIs.snapshotLength; i++) {
li = LIs.snapshotItem(i);
textNode = li.firstChild;
linkRegex = /(.*)\|(.*)/;
data = linkRegex.exec(textNode.textContent);
A = document.createElement('a');
A.href = 'javascript:TagAsStub("'+data[1]+'");';
A.appendChild(document.createTextNode(data[2]));
li.replaceChild(A,textNode);
}
StubDiv.removeChild(StubLog);
//Remove the button
var stubloader = document.getElementById('stubloader');
stubloader.parentNode.removeChild(stubloader);
}
$(function(){
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
addlilink(tabs,'javascript:LoadStubMenu1()','Load stub types','stubloader');
});
//