User:Paranomia/stubtagtab.js

// Stub tag tab. Original version by User:ais523, on a request by User:thesublime514. // Enhancements made on requests by User:Alai and User:jj137. // wikEd compatibility by User:Paranomia addOnloadHook(function{ if(wgNamespaceNumber==0&&wgAction=="view")  {    if(document.getElementById("ca-edit"))      addPortletLink('p-cactions', 'javascript:stubtagtab', 'stub', 'ca-stubtag', 'Add a stub tag to this page', ''); }  if(location.href.indexOf("&autoaddstubtag=")!=-1)  {    var x=decodeURIComponent(location.href.split("&autoaddstubtag=")[1]);    if(x.indexOf("-stub")==-1) x+="-stub";    if (typeof(wikEdUseWikEd) != 'undefined') {    if (wikEdUseWikEd == true) {    WikEdUpdateTextarea;    }    }    document.getElementById('wpTextbox1').value+="\n{"+"{"+x+"}}"; //add to the end of the article    if (typeof(wikEdUseWikEd) != 'undefined') {    if (wikEdUseWikEd == true) {    WikEdUpdateFrame;    }    }       document.getElementById('wpSummary').value="Tagging with {"+"{"+x+"}} using 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=" &bull; "; while(i"+a[i]+" &bull; "; i++; } h+="  "; document.getElementById("contentSub").innerHTML=h; }

function stubtagmenurender(a) { if(a.responseText.indexOf(" ")==-1) {   document.getElementById('stubtagmenudiv').innerHTML= "Loading, please wait..."; return; } var s=a.responseText.split(" ")[1].split(" ")[0]; s=s.split("&lt;").join("<").split("&gt;").join(">"); s=s.split("&quot;").join('"').split("&amp;").join('&'); s=s.split('<a href="/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=parse&prop=text&text='+   encodeURIComponent('')+'&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); }