User:GoldenPhoenix/stubtagtab2.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Stub tag tab. Original version by [[User:ais523]], on a request by [[User:thesublime514]].
// Enhancements made on requests by [[User:Alai]] and [[User:jj137]].
// ([[User:ais523/stubtagtab2.js]])
// <source lang="javascript">
$(function(){
if(wgNamespaceNumber==0&&wgAction=="view")
{
if(document.getElementById("ca-edit"))
mw.util.addPortletLink('p-cactions', 'javascript:stubtagtab()', 'stub', 'ca-stubtag',
'Add a stub tag to this page', '');
}
if(location.href.indexOf("&autoaddstubtag=")!=-1&&document.getElementById('wpTextbox1')!=null)
{
var x=decodeURIComponent(location.href.split("&autoaddstubtag=")[1]);
if(x.indexOf("-stub")==-1) x+="-stub";
document.getElementById('wpTextbox1').value+="\n{"+"{"+x+"}}"; //add to the end of the article
document.getElementById('wpSummary').value=
"Tagging with {"+"{"+x+"}} using [[WP:US/S|user scripts]]";
document.getElementById('wpPreview').click();
}
});
 
function stubtagtab()
{
var h;
// A list of subpages of WikiProject Stub sorting/Stub types/ that are relevant to this
var a=['Commerce','Culture','Education','Geography','Government, law, and politics','History',
'Leisure','Military and weaponry','Miscellaneous','Organizations','People',
'Religion, mythology, faiths, and beliefs','Science','Sports','Technology','Transport'];
var i=0;
h="<div style='color:#000000; background-color:#fff8f8;'>&bull; ";
while(i<a.length)
{
h+="<a href='javascript:stubtagmenu(\""+a[i]+"\");'>"+a[i]+"</a> &bull; ";
i++;
}
h+="</div><div id='stubtagmenudiv' style='color:#000000; background-color:#fffff8;'></div>";
document.getElementById("contentSub").innerHTML=h;
}
 
function stubtagmenurender(a)
{
if(a.responseText.indexOf("<render>")==-1)
{
document.getElementById('stubtagmenudiv').innerHTML=
"<i>Could not fetch stub type data.</i>";
return;
}
var s=a.responseText.split("<render>")[1].split("</render>")[0];
s=s.split("&lt;").join("<").split("&gt;").join(">");
s=s.split("&quot;").join('"').split("&amp;").join('&');
s=s.split('<a href="http://en.wikipedia.org/wiki/Template:');
var i=s.length;
while(--i) s[i]=s[i].split('" title').join('\');" title');
s=s.join('<a temphref="javascript:stubtagwith(\'');
s=s.split('<a href=').join('<a style="color:#000000;" notanhref=');
s=s.split('<a temphref=').join('<a href=');
document.getElementById('stubtagmenudiv').innerHTML=s;
}
 
function stubtagmenu(x)
{
//Fetch the relevant subpage of the WikiProject
var a = sajax_init_object();
a.open('GET', mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=render&text='+
encodeURIComponent('__NOTOC____NOEDITSECTION__{{Wikipedia:WikiProject Stub sorting/Stub types/'+
x+'}}')+'&format=xml');
a.onreadystatechange = function(){stubtagmenurender(a)};
a.send('');
}
 
function stubtagwith(x)
{
if(x==null||x=="") return;
location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+"?title="+encodeURIComponent(mw.config.get('wgPageName'))+                                  
"&action=edit&autoaddstubtag="+encodeURIComponent(x);
}
 
// </source> <!--[[Category:Wikipedia scripts]]-->