User:Edgar181/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Edgar181/monobook.css. |
//<nowiki>
function tnaddlilink(url, name)
{
var na = document.createElement('a');
na.setAttribute('href', url);
var txt = document.createTextNode(name);
na.appendChild(txt);
var li = document.createElement('li');
li.appendChild(na);
return li;
}
function edits(number)
{
var page = prompt("Edits to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "\n{{subst:uw-" + number + "|" + page + "}} ~" + "~" + "~" + "~";
f.wpSummary.value = "Edits to [[" + page + "]] - first warning " ;
f.submit();
}
function vandalism(number)
{
var page = prompt("Vandalism to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "----\n{{subst:uw-" + number + "|" + page + "}} ~" + "~" + "~" + "~";
f.wpSummary.value = "Vandalism to [[" + page + "]] - {{uw-" + number + "}}";
f.submit();
}
function attack(number)
{
var page = prompt("Attack at which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "----\n{{subst:attack" + "|" + page + "}} ~" + "~" + "~" + "~";
f.wpSummary.value = "Attack page creation";
f.submit();
}
function tempblocked(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "\n{{subst:uw-block" + "|sig=yes}}" ;
f.wpSummary.value = "Blocked from editing: {{uw-block" + "}}" ;
f.submit();
}
function indefblocked(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "\n{{subst:uw-blockindef" + "|sig=yes}}" ;
f.wpSummary.value = "Blocked from editing: {{uw-blockindef" + "}}" ;
f.submit();
}
function username(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "\n{{subst:uw-ublock" + "|sig=yes}}" ;
f.wpSummary.value = "Username block" ;
f.submit();
}
function usernames(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "\n{{subst:uw-softerblock" + "|sig=yes}}" ;
f.wpSummary.value = "Username block" ;
f.submit();
}
function add_testn_tabs()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
// Only add for pages with "Editing User"/"Creating User" somewhere in the title
if (document.title.indexOf("ting User") != -1)
{
tabs.appendChild(tnaddlilink('javascript:edits("vandalism1")',"v1"));
tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism2")',"v2"));
tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism3")',"v3"));
tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism4")',"v4"));
tabs.appendChild(tnaddlilink('javascript:tempblocked("tempblocked1")',"blk"));
tabs.appendChild(tnaddlilink('javascript:indefblocked("indefblocked1")',"ndf"));
tabs.appendChild(tnaddlilink('javascript:username("usernameblock")',"unb"));
tabs.appendChild(tnaddlilink('javascript:usernames("usernameblock")',"unbs"));
tabs.appendChild(tnaddlilink('javascript:edits("delete1")',"d1"));
tabs.appendChild(tnaddlilink('javascript:vandalism("delete2")',"d2"));
tabs.appendChild(tnaddlilink('javascript:vandalism("delete3")',"d3"));
tabs.appendChild(tnaddlilink('javascript:edits("spam1")',"s1"));
tabs.appendChild(tnaddlilink('javascript:vandalism("spam2")',"s2"));
tabs.appendChild(tnaddlilink('javascript:vandalism("spam3")',"s3"));
tabs.appendChild(tnaddlilink('javascript:attack("attack1")',"a"));
}}
$(add_testn_tabs);
// Please leave the following line
// [[user:Where/usertabs]]
$(function() {
if (wgTitle.indexOf("/") != -1 || document.title.indexOf("- History -") != -1) //no subpages or history
return;
if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
var username = encodeURIComponent( wgTitle );
mw.util.addPortletLink("p-cactions", wgServer + "/wiki/Special:Contributions/" + username, "Cntr", "ca-contrib", "User contributions");
mw.util.addPortletLink("p-cactions", "http://en.wikipedia.org/wiki/Special:Blockip/" + username, "Blk", "ca-block", "Block this user");
mw.util.addPortletLink("p-cactions", wgServer + "/w/index.php?title=Special:Log&type=block&page=User:" + username, "Blks", "ca-blog", "Block log");
mw.util.addPortletLink("p-cactions", "http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "Edits", "ca-editcount", "Edit count from Interiot's toolserver script");
}
});
// originally from User:Lupin/popups.js
importScript('User:Edgar181/popups.js');
window.popupStructure='original';
window.popupFixRedirs=true;
window.popupFixDabs=true;
window.popupAdminLinks=true;
window.popupDelay=.5;
window.popupHideDelay=.01;
window.popupWatchRedirredPages=false;
window.popupRedirAutoClick='wpSave'
// DOI bot
importScript('User:Smith609/toolbox.js');
//Adds 'Check Refs' to the toolbox, links to http://toolserver.org/~dispenser/cgi-bin/reflinks.py -- Dispenser's reference title fixer.
function refcheck()
{
mw.util.addPortletLink("p-tb", "http://toolserver.org/~dispenser/cgi-bin/reflinks.py?citeweb=on&page=" + wgPageName, "Check Refs");
}
if ( wgNamespaceNumber == 0 ) {
addOnloadHook(refcheck);
}
importScript('User:Smith609/reftool.js');
importScript('User:John254/mass rollback.js')
var cwwpajax;
// From [[WP:US]] mainpage (wpajax renamed to cwwpajax)
cwwpajax={
download:function(bundle) {
// mandatory: bundle.url
// mandatory: bundle.async
// optional: bundle.onSuccess (xmlhttprequest, bundle)
// optional: bundle.onFailure (xmlhttprequest, bundle)
// optional: bundle.otherStuff OK too, passed to onSuccess and onFailure
var x = window.XMLHttpRequest ? new XMLHttpRequest() // Firefox, Safari, Opera, IE7
: window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") // IE6
: false;
if (x) {
x.onreadystatechange=function() {
x.readyState==4 && cwwpajax.downloadComplete(x,bundle);
};
x.open("GET",bundle.url,bundle.async);
x.send(null);
}
return x;
},
downloadComplete:function(x,bundle) {
x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true )
|| ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText));
}
};
// Example:
// function dlComplete(xmlreq, data) {
// alert(data.message + xmlreq.responseText);
// }
// cwwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw',
// onSuccess: dlComplete, message: "Here's what we got:\n\n" });
// End of [[WP:US]] quote
function cwOntoWatchlist(xmlreq, data)
{
var a=xmlreq.responseText;
var c=data.catname;
var i;
var diag="";
if(a.indexOf("<categorymembers/>")!=-1) return; //cat is empty, nothing to do here
if(a.indexOf('title="')==-1) return; // this error happens sometimes, just do nothing here
var latesttime=0;
var latestpage="";
var temp, temp2;
latestpage=a.split('title="')[1].split('" timestamp=')[0];
latesttime=a.split('timestamp="')[1].split('"/>')[0];
a=document.getElementsByTagName("h4"); //get dates in the watchlist
var monthname=[];
monthname['01']="January";
monthname['02']="February";
monthname['03']="March";
monthname['04']="April";
monthname['05']="May";
monthname['06']="June";
monthname['07']="July";
monthname['08']="August";
monthname['09']="September";
monthname['10']="October";
monthname['11']="November";
monthname['12']="December";
latesttime=new String(latesttime);
var mn1, mn2, mn3, mn4;
// Allow for different date styles:
// January 29, 2001
mn1=""+monthname[latesttime.substr(5,2)]+" "+new Number(latesttime.substr(8,2))+
", "+latesttime.substr(0,4);
// 29 January 2001
mn2=""+new Number(latesttime.substr(8,2))+" "+monthname[latesttime.substr(5,2)]+
" "+latesttime.substr(0,4);
// 2001 January 29
mn3=""+latesttime.substr(0,4)+" "+monthname[latesttime.substr(5,2)]+
" "+new Number(latesttime.substr(8,2));
// 2001-01-29
mn4=""+latesttime.substr(0,4)+"-"+latesttime.substr(5,2)+"-"+latesttime.substr(8,2);
i=a.length;
while(i--)
{
if(a[i].innerHTML==mn1||a[i].innerHTML==mn2||a[i].innerHTML==mn3||a[i].innerHTML==mn4)
{
diag+=a[i].innerHTML+":";
temp=a[i].nextSibling.firstChild;
if(temp==null) temp=a[i].nextSibling.nextSibling.firstChild;
while(temp!=null)
{
diag+=temp.tagname+"!";
if(temp.tagName!=null)
if(temp.tagName.toLowerCase()=="li")
{
temp2=temp.innerHTML.match(/<span class="mw-changeslist-date">([0-9][0-9]):([0-9][0-9])(:[0-9][0-9])?<\/span>/i);
temp2=new Number(temp2[1])*100+new Number(temp2[2]);
diag+=temp2+",";
if(temp2<new Number(latesttime.substr(11,2)+latesttime.substr(14,2))) {temp2=temp; break;}
}
temp2=temp; temp=temp.nextSibling;
if(temp==null) break;
}
temp=document.createElement("li");
if(temp2==null) {return;}
if(a[i].nextSibling.firstChild!==null) // IE-like whitespace handling
a[i].nextSibling.insertBefore(temp,temp2);
else // Firefox-like whitespace handling
a[i].nextSibling.nextSibling.insertBefore(temp,temp2);
temp.innerHTML="(diff | hist) . . <a "+
"href='"+mw.config.get('wgScriptPath')+"/index.php?title=Category:"+
encodeURI(c)+
"'>Category:"+c+"</a>; "+latesttime.substr(11,2)+":"+latesttime.substr(14,2)+
" . . (+ <a "+
"href='"+mw.config.get('wgScriptPath')+'/index.php?title='+
encodeURI(latestpage)+"'>"+latestpage+"</a> "+
"(<a href='"+mw.config.get('wgScriptPath')+"/index.php?title="+encodeURI(latestpage)+
"&diff=last'>last</a>))";
return;
}
}
}
var WatchedCategories;
//An example of a query to check a category would be
//http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmcategory=Wikipedia%20protected%20edit%20requests&cmlimit=1&cmprop=title|timestamp&cmsort=timestamp&cmdir=desc&format=xml
$(function(){
var scriptPath = mw.config.get('wgScriptPath');
//DHTMLloadscript( 'http://en.wikipedia.org/w/index.php?title=User:'+wgUserName
// +'/WatchedCategories.js&action=raw&ctype=text/javascript');
if(mw.config.get('wgPageName')=="Special:Watchlist")
{
// load the script using AJAX, because DHTML fails in Firefox and document.write fails in Safari
var sru=scriptPath+'/index.php?title=User:'+mw.config.get('wgUserName')+'/WatchedCategories.js&action=raw&ctype=text/javascript';
var sr=cwwpajax.download({url:sru,async:false});
eval(sr.responseText);
if(WatchedCategories===undefined)
{
if(confirm("You don't have a category watchlist yet. Do you want to create one?\n\n"+
"(Please provide the following debug information when reporting a problem if "+
"this message comes up when you already have a category watchlist: "+
(sr.responseText.length<50 ? "responseText='"+sr.responseText+"'" :
"responseText.length="+sr.responseText.length)+", statusText='"+sr.statusText
+"'.)"))
location.href=scriptPath+'/index.php?title=User:'+wgUserName+
'/WatchedCategories.js&action=edit&preload=User:Ais523/WatchedCategoriesTemplate.js';
}
else
{
var i;
for(i=0; i<WatchedCategories.length; i++)
{
var a=WatchedCategories[i];
cwwpajax.download({url:scriptPath+'/api.php?action=query&list=categorymembers&'
+'cmtitle=Category:'+encodeURI(a)+'&cmlimit=1&cmprop=title'
+'|timestamp&cmsort=timestamp&cmdir=desc&format=xml',
onSuccess:cwOntoWatchlist,
catname:a, async:true});
}
}
}
});
//</nowiki>