User:Cizagna/contribtools.js

//See user page for more info. if((wgCanonicalSpecialPageName == 'Contributions'||wgCanonicalSpecialPageName == 'DeletedContributions') && !window.ContribToolsLoaded) addOnloadHook(contribtools); var ContribToolsLoaded = true; //prevent duplication

function contribtools { var ug = wgUserGroups.join(' '); var cs = document.getElementById('contentSub'); // poorman contribs type finder. -1 = existing user try { var ctype = cs.getElementsByTagName('a')[0].href.indexOf('User_talk'); } catch(e) { var ctype = -1; }	var inputs = document.getElementsByTagName('input'); var targ; for(var i=0;i -3)&&(ctype==-1)&&(wgCanonicalSpecialPageName == 'DeletedContributions')&&(wgDBname!='wikicities')) insertContentSubContribLink('/wiki/Special:Userrights?load=true&user=' + encodeURIComponent(targ),'UserRights');

//lookupcontribs: Staff/Helpers/LookupContribs; & anyone if(wgDBname!='wikicities') insertContentSubContribLink('http://community.wikia.com/wiki/Special:Lookupcontribs?mode=normal&view=full&target=' + targ.replace(/_/g,'+'),'LookupContribs');

//lookupuser: Staff/lookupuser for logged in	if((ug.indexOf('staff') + ug.indexOf('helper') > -2)&&(ctype==-1)&&(wgDBname!='wikicities')) insertContentSubContribLink('http://community.wikia.com/wiki/Special:LookupUser?&target=' + targ.replace(/User\:/,'') ,'LookupUser');

//checkuser: Staff/CheckUsers for anyone if(ug.indexOf('staff') + ug.indexOf('checkuser') > -2) { if(ctype==-1) { insertContentSubContribLink('/wiki/Special:CheckUser?subuser=OK&user=' + targ,'CheckUser'); } else { insertContentSubContribLink('/wiki/Special:CheckUser?subipusers=OK&ip=' + targ,'CheckUser'); }	}

//multilookup (global checkuser): staff/helper; anon if((ug.indexOf('staff') + ug.indexOf('helper') > -2)&&(ctype!=-1)&&(wgDBname!='wikicities')) insertContentSubContribLink('/wiki/Special:MultiLookup?target=' + targ,'MultiLookup');

//regexblock: Staff/RegexBlock for anyone if(ug.indexOf('staff') + ug.indexOf('janitor') > -2) insertContentSubContribLink('http://community.wikia.com/wiki/Special:Regexblock?ip=' + targ,'RegexBlock');

var botlink = document.location.href; if(botlink.indexOf('?')==-1) { insertContentSubContribLink(document.location.href + '?bot=1','&bot=1'); } else { insertContentSubContribLink(document.location.href + '&bot=1','&bot=1'); } }

function insertContentSubContribLink(link,text) { var cs = document.getElementById('contentSub'); var icssep = document.createTextNode(' | '); var ics = document.createElement('a'); ics.href = link; ics.setAttribute('title', ics.href); ics.appendChild(document.createTextNode(text)); try { cs.insertBefore(icssep,cs.childNodes[cs.childNodes.length-1]); cs.insertBefore(ics,cs.childNodes[cs.childNodes.length-1]); } catch(e) { cs.appendChild(document.createTextNode('(Error: contentSub still empty! Inserting... '));		cs.appendChild(ics);	} }

// Needed to load user rights automagically. addOnloadHook(checkuserrights); function checkuserrights { if(queryString('user') && document.uluser) { document.getElementById('username').value = queryString('user'); if(queryString('load')=='true') document.uluser.ssearchuser.click; } }

function queryString(p) { var re = RegExp('[&?]' + p + '=([^&]*)'); var matches; if (matches = re.exec(document.location)) { try { return decodeURI(matches[1]); } catch (e) { }	}	return null; }