User:KnowledgeOfSelf/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:KnowledgeOfSelf/monobook.css. |
importScript('User:Oxymoron83/blockadd.js');
/* <pre><nowiki> */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// KnowledgeOfSelf's monobook
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Helper tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Voice of All
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Test-n
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function testn(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 += "{{subst:test" + number + "-n|" + page + "}} ~~~~";
f.wpSummary.value = "Your edits to [[" + page + "]]"
document.editform.wpWatchthis.checked = false;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Automatically check "anon only" in block field
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
addOnloadHook(function(){ var x; if (x=document.getElementById('wpAnonOnly')) {x.checked=true;} });
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add link
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addlilink(tabs, url, name, id, title, key){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
tabs.appendChild(li);
if(id)
{
if(key && title)
{
ta[id] = [key, title];
}
else if(key)
{
ta[id] = [key, ''];
}
else if(title)
{
ta[id] = ['', title];
}
}
akeytt();
return li;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add toolbox link
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addToolboxLink(url, name, id){
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, url, name, id);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add tab
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addTab(url, name, id, title, key){
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
return addlilink(tabs, url, name, id, title, key)
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add menu
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addlimenu(tabs, name, id)
{
var na = document.createElement('a');
na.href = '';
var mn = document.createElement('ul');
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.className = 'tabmenu';
li.appendChild(na);
li.appendChild(mn);
tabs.appendChild(li);
return li;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Get page name
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function getPname() {
z=document.getElementById("content").childNodes;
for (var n=0;n<z.length;n++) {
if (z[n].className=="firstHeading") return z[n].textContent;
};
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Get tidy title
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function get_tidy_title()
{
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
return editlk;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add link
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addLink(where, url, name, id, title, key, after){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
if(after) {
tabs.insertBefore(li,document.getElementById(after));
} else {
tabs.appendChild(li);
}
if(id) {
if(key && title) { ta[id] = [key, title]; }
else if(key) { ta[id] = [key, '']; }
else if(title) { ta[id] = ['', title];}
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return li;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Voice of All tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Master rollback
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Specialadmin/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
addOnloadHook(Dfn_js_con)
function Dfn_js_con()
{
Mvaluejs_class = 'KOS';
Rvaluejs_class = 'KOS';
Uvaluejs_class = 'KOS';
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Sleeper tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Sleeper/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// History analysis
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/History/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Find and replace
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/replacetxt.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AfD tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AfD nomination and voting tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
document.write('<script type="text/javascript"' +
'src="http://en.wikipedia.org/w/index.php?title=User:Jnothman/automod.js' +
'&action=raw&ctype=text/javascript&dontcountme=s"></script>');
afdh_signature = '~~'+'~';
afdh_summaryprompt = true;
afdh_useicons = false;
afdh_shortcuts = Array();
afdh_shortcuts['d'] = 'Delete';
afdh_shortcuts['k'] = 'Keep';
afdh_shortcuts['m'] = 'Merge';
afdh_shortcuts['mv'] = 'Move';
afdh_shortcuts['rd'] = 'Redirect';
afdh_shortcuts['rw'] = 'Rewrite';
afdh_shortcuts['t'] = 'Transwiki';
afdh_shortcuts['wd'] = 'Weak delete';
afdh_shortcuts['sd'] = 'Strong delete';
afdh_shortcuts['sp'] = 'Speedy delete';
afdh_shortcuts['sk'] = 'Strong keep';
afdh_shortcuts['wk'] = 'Weak keep';
afdh_shortcuts['c'] = 'Comment';
afdh_icons = Array();
afdh_icons['d'] = afdh_icons['wd'] = afdh_icons['sd'] = afdh_icons['sp'] = 'Symbol delete vote.svg';
afdh_icons['k'] = afdh_icons['sk'] = afdh_icons['wk'] = 'Symbol keep vote.svg';
afdh_icons['m'] = 'Symbol merge vote.svg';
afdh_icons['c'] = 'Symbol comment vote.svg';
afdh_commscs = Array();
afdh_commscs['pn'] = 'per nom.';
function afd_helper() {
if (auto_mod())
return;
var anchors = new Array();
{
var oldanchors = document.getElementById('bodyContent').getElementsByTagName('a');
for (var i=0; i < oldanchors.length; i++)
anchors[i] = oldanchors[i];
}
var url_re = /\?title=Wikipedia:Articles_for_deletion\/([^&]+)&action=edit&/;
var url, matches;
for (var i=0; i < anchors.length; i++) {
if (!(matches = anchors[i].href.match(url_re))
|| (matches[1].substr(0, 4) == 'Log/'))
continue;
var na = document.createElement('a');
na.href = "javascript:afd_vote('"+escape(anchors[i].href)+"')";
na.title = "Vote on deletion of "+unescape(matches[1]);
var inlink = document.createElement('sup');
inlink.appendChild(document.createTextNode('vote'));
na.appendChild(inlink);
anchors[i].parentNode.insertBefore(na, anchors[i].nextSibling);
}
if (am_get_title().indexOf(':') == -1)
am_add_li('tb', 'javascript:afd_nominate()', 'Nominate AFD', '', 'Nominate this article for deletion');
}
function afd_vote(edit_link) {
var shortcuts_list = '';
for (var key in afdh_shortcuts)
shortcuts_list += key + ': ' + afdh_shortcuts[key] + '; ';
var vote = window.prompt("Enter your vote. (Shortcuts available are: "+shortcuts_list+")");
if (!vote) return;
var icon_link = '';
if (afdh_useicons && afdh_icons[vote.toLowerCase()])
icon_link = '[[Image:' + afdh_icons[vote.toLowerCase()] + '|20px]] ';
if (afdh_shortcuts[vote.toLowerCase()])
vote = afdh_shortcuts[vote.toLowerCase()];
shortcuts_list = '';
for (var key in afdh_commscs)
shortcuts_list += key + ': ' + afdh_commscs[key] + '; ';
var comment = window.prompt("Enter your comment. (Shortcuts available are: "+shortcuts_list+")");
if (typeof comment != 'string') return;
if (afdh_commscs[comment.toLowerCase()])
comment = afdh_commscs[comment.toLowerCase()];
var summary = vote;
if (afdh_summaryprompt)
if (!(summary = window.prompt("Enter the edit summary:", summary)))
summary = vote;
var url = edit_link +
'&amaddafter='+escape("* '''"+icon_link+vote+"''' "+comment+" "+afdh_signature) +
'&amsummary='+escape(summary);
if (window.location.href.indexOf("/Log/") == -1)
window.location.href = url;
else
window.open(url, "afd_helper_vote");
}
function afd_nominate() {
var title = am_get_title();
var log_date = window.prompt("This should be the date of the latest AFD log. Change it if necessary.", am_guess_date());
if (!log_date)
return;
var reason = window.prompt("Please justify your AFD nomination of "+title+":");
if (!reason)
return;
window.open(am_make_url(title, '{{'+'subst:afd}}', '', 'nomination for [[WP:AFD|deletion]]'), 'afdhn1');
window.open(am_make_url('Wikipedia:Articles for deletion/Log/'+log_date, '', '{{'+'subst:afd3|pg='+title+'}}', 'Nominating [['+title+']] for deletion'), 'afdhn3');
window.location.href = am_make_url('Wikipedia:Articles for deletion/'+title, '', '{{'+'subst:afd2|pg='+title+'|text='+reason+' '+afdh_signature+'}}', 'nominated for deletion');
}
addOnloadHook(afd_helper);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AfD closing tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function closeafd(bold, notbold){
var form = document.editform;
var txt = form.wpTextbox1;
txt.value = "{{subst:at}} '''" + bold + "''' " + notbold + " ~~~\n" + txt.value + "\n{{subst:ab}}\n";
form.wpSummary.value = "close discussion: " + bold;
form.wpWatchthis.checked = false;
}
function afdresult(){
var form = document.editform;
form.wpSummary.value = 'AFD result';
var txt = form.wpTextbox1;
txt.value = '{{subst:oldafd}} \n' + txt.value;
}
function afddelete(){
document.forms.deleteconfirm.wpReason.value = '[[Wikipedia:Articles for deletion/' + unescape(window.location.href.replace(/^.*\?title=([^&]+)&action=delete.*$/, '$1').replace(/_/g, ' ')).replace(/^(Talk|Wikipedia( talk)?):/, '') + ']]';
}
function cfddelete(){
document.forms.deleteconfirm.wpReason.value = 'category emptied per [[Wikipedia:Categories for discussion]]';
}
function replace(){
var s = prompt("Search regexp?");
if(s){
var r = prompt("Replace regexp?");
if(!r && r != '') return;
var txt = document.editform.wpTextbox1;
txt.value = txt.value.replace(new RegExp(s, "g"), r);
}
}
function autoafd_relist()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "relist" + "|~" + "~" + "~}}";
f.wpSummary.value = "Relisting debate";
}
function autoafd_add_afd_tabs()
{
// Only add for pages with the right string somewhere in the title
if (document.title.indexOf("Editing Wikipedia:Articles for deletion/") != -1)
{
addLink('p-cactions', 'javascript:autoafd_relist()', "relist");
}
}
addOnloadHook(autoafd_add_afd_tabs);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Tab customisation tools
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add tab tools (technical)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function edit_summary_watch(msg, summ, watch)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += msg;
f.wpSummary.value = summ;
}
function edit_summary_watch2(summ, watch)
{
var f = document.editform, t = f.wpTextbox1;
f.wpSummary.value = summ;
}
function edit_summary_watch3(msg, summ, watch)
{
var f = document.editform, t = f.wpTextbox1;
t.value = msg;
f.wpSummary.value = summ;
}
/* function testn(number)
{
var page = prompt("Which message do you want to issue?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "User:FireFox/" + page + "}} ~" + "~" + "~";
t.value += '\n';
f.wpSummary.value = "vandalism warning";
} */
function blockuser(msg, other)
{
var f = document.getElementsByName('wpBlockReason')[0];
f.value = msg;
var j = document.getElementsByName('wpBlockOther')[0];
j.value = other;
}
function unblockuser(msg, other)
{
var f = document.getElementsByName('wpUnblockReason')[0];
f.value = msg;
}
function testv(number)
{
var f = document.editform, t = f.wpTextbox1;
t.value = "";
}
function protected(){
var form = document.editform;
form.wpSummary.value = '{{protected}}';
var txt = form.wpTextbox1;
txt.value = '{{protected}} \n' + txt.value;
}
function vprotected(){
var form = document.editform;
form.wpSummary.value = '{{vprotected}}';
var txt = form.wpTextbox1;
txt.value = '{{vprotected}} \n' + txt.value;
}
function sprotected(){
var form = document.editform;
form.wpSummary.value = '{{sprotected}}';
var txt = form.wpTextbox1;
txt.value = '{{sprotected}} \n' + txt.value;
}
function deletedpage(){
var form = document.editform;
form.wpSummary.value = '{{deletedpage}}';
var txt = form.wpTextbox1;
txt.value = '{{deletedpage}} \n' + txt.value;
}
function usertalkvprotect(){
var form = document.editform;
form.wpSummary.value = '{{usertalk-vprotect}}';
var txt = form.wpTextbox1;
txt.value = '{{usertalk-vprotect}} \n' + txt.value;
}
function usertalksprotect(){
var form = document.editform;
form.wpSummary.value = '{{usertalk-sprotect}}';
var txt = form.wpTextbox1;
txt.value = '{{usertalk-sprotect}} \n' + txt.value;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add tab tools (the actual tabs)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function edit_summary_watch(msg, summ, watch)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += msg;
f.wpSummary.value = summ;
}
function add_tabs()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
// Only add for pages with "Editing User talk:" somewhere in the title
if (document.title.indexOf("Editing User talk:") != -1)
{
addlimenu(tabs, 'Talk messages', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Welcome}} -- ~~~~", "Welcome to Wikipedia!", true, 1)','Welcome', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Anon}} -- ~~~~", "Welcome to Wikipedia!", true, 1)','Anon', '');
addlilink(talkm, 'javascript:testn(1)', 'Test1', '');
addlilink(talkm,'javascript:testn("1a")','Test1a', '');
addlilink(talkm,'javascript:testn(2)','Test2', '');
addlilink(talkm,'javascript:testn("2a")','Test2a', '');
addlilink(talkm,'javascript:testn(3)','Test3', '');
addlilink(talkm,'javascript:testn("3a")','Test3a', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test4}} -- ~~~~", "Last warning", false, 1)','Test4', '');
addlilink(talkm,'javascript:testn("4a")','Test4a', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:anonblock}} -- ~~~~", "You have been blocked", false, 1)','anonblock', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:sockblock}} -- ~~~~", "You have been blocked", false, 1)','sockblock', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:SSPblock}}", "You have been blocked", false, 1)','ipsockblock', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test6}} -- ~~~~", "You have been blocked", false, 1)','Test6', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test7}} -- ~~~~", "You have been blocked", false, 1)','Test7', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test1article}} -- ~~~~", "warning", false, 1)','Test1-art', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test2article}} -- ~~~~", "second warning", false, 1)','Test2-art', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test3article}} -- ~~~~", "third warning", false, 1)','Test3-art', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Test4article}} -- ~~~~", "last warning", false, 1)','Test4-art', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:usernameblock}} -- ~~~~", "You have been blocked", false, 1)','usernameblock', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:bv}} -- ~~~~", "Vandalism", false, 1)','BV', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:Vanity|}} -- ~~~~", "About the page you created", false, 1)','Vanity', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:rvfd|}} -- ~~~~", "{{rvfd}}", false, 1)','rvfd', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:blanking}} -- ~~~~", "Blanking pages", false, 1)','blanking', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:blanking2}} -- ~~~~", "Blanking pages", false, 1)','blanking 2', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:blanking3}} -- ~~~~", "Blanking pages", false, 1)','blanking 3', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:blanking4}} -- ~~~~", "Blanking pages", false, 1)','blanking 4', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:npa2}} -- ~~~~", "no personal attacks", false, 1)','npa 2', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:npa3}} -- ~~~~", "no personal attacks", false, 1)','npa 3', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:npa4}} -- ~~~~", "no personal attacks", false, 1)','npa 4', '');
addlilink(talkm,'javascript:edit_summary_watch("{{subst:npa5}} -- ~~~~", "blocked for personal attacks", false, 1)','npa 5', '');
addlilink(talkm,'javascript:edit_summary_watch("{{nothanks-sd|pg=page name|url=url of source}} -- ~~~~", "{{nothanks-sd}}", false, 1)','nothanks-sd', '');
}
if (document.title.indexOf("Editing User:") != -1)
{
addlimenu(tabs, 'userpage tags', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:edit_summary_watch("{{subst:ibu}}", "blocked", false, 1)',"indefinite");
addlilink(talkm,'javascript:edit_summary_watch("{{indefblocked-username}}", "username block", false, 1)',"username");
addlilink(talkm,'javascript:edit_summary_watch("{{indefblocked-vandalism}}", "blocked", false, 1)',"vandalism");
addlilink(talkm,'javascript:edit_summary_watch("{{indef-latin}}", "username block", false, 1)',"non-latin");
addlilink(talkm,'javascript:edit_summary_watch("{{pageblankvandal}}", "pageblankvandal", false, 1)',"page blank");
addlilink(talkm,'javascript:edit_summary_watch("{{pagemovevandal}}", "pagemovevandal", false, 1)',"page move");
}
if (document.title.indexOf("Editing Image:") == 0)
{
addlilink(tabs, 'javascript:edit_summary_watch("{{subst:nld}}", "no licence", false, 1)',"licence");
}
if (document.title.indexOf("Editing User:") == 0)
{
addlilink(tabs, 'javascript:testv(1)',"");
}
if (document.title.indexOf("Editing User talk:") == 0)
{
addlilink(tabs, 'javascript:testv(1)',"");
}
if (document.title.indexOf("Editing Wikipedia:Articles for deletion") == 0)
{
addlilink(tabs, 'javascript:closeafd(prompt("Result"), (prompt("Additional comments")))', 'Result');
}
if (document.title.indexOf("Editing User:KnowledgeOfSelf/status") == 0)
{
addlimenu(tabs, 'c/s', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:edit_summary_watch3("{{User:KnowledgeOfSelf/Status2|in}}", "changing status (in)", true, 1)',"i");
addlilink(talkm,'javascript:edit_summary_watch3("{{User:KnowledgeOfSelf/Status2|out}}", "changing status (out)", true, 1)',"o");
addlilink(talkm,'javascript:edit_summary_watch3("{{User:KnowledgeOfSelf/Status2|around}}", "changing status (around)", true, 1)',"a");
addlilink(talkm,'javascript:edit_summary_watch3("{{User:KnowledgeOfSelf/Status2|busy}}", "changing status (busy)", true, 1)',"b");
}
if (document.title.indexOf("Editing Wikipedia:Administrator intervention against vandalism") == 0)
{
addlimenu(tabs, 'admin intervention against vandalism', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:edit_summary_watch2("blocked, list empty", true, 1)',"blocked, empty");
addlilink(talkm,'javascript:edit_summary_watch2("blocked, list not empty", true, 1)',"blocked, not empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, content dispute, list empty", true, 1)',"content dispute, empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, content dispute, list not empty", true, 1)',"content dispute, not empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, has not vandalised since final warning", list empty", true, 1)',"no edit since warning, empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, has not vandalised since final warning", true, 1)',"no edit since warning, not empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, has not been sufficiently warned", list empty", true, 1)',"not sufficiently warned, empty");
addlilink(talkm,'javascript:edit_summary_watch2("not blocked, has not been sufficiently warned", true, 1)',"not sufficiently warned, not empty");
}
if (document.title.indexOf("Editing Category") == 0)
{
addlimenu(tabs, 'cat', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:edit_summary_watch2("renaming of category per [[Wikipedia:Categories for discussion]]", true, 1)',"!");
}
if (document.title.indexOf("Editing") == 0)
{
addlimenu(tabs, 'protected', 'talkm');
var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0];
addlilink(talkm,'javascript:protected()',"dispute");
addlilink(talkm,'javascript:vprotected()',"vprotect");
addlilink(talkm,'javascript:sprotected()',"sprotect");
addlilink(talkm,'javascript:deletedpage()',"deleted");
}
if (document.title.indexOf("Block user") == 0)
{
addlilink(tabs, 'javascript:blockuser("vandalism from this IP range, sorry. please see [[Wikipedia:Advice to AOL users]] if you have been impacted by this block.", "90 minutes")', "range");
addlilink(tabs, 'javascript:blockuser("three revert rule violation", "24 hours")', "3RR");
addlilink(tabs, 'javascript:blockuser("vandalism", "15 minutes")', "15 mins");
addlilink(tabs, 'javascript:blockuser("vandalism", "3 hours")', "3 hrs");
addlilink(tabs, 'javascript:blockuser("vandalism", "24 hours")', "24 hrs");
addlilink(tabs, 'javascript:blockuser("vandalism", "48 hours")', "48 hrs");
addlilink(tabs, 'javascript:blockuser("vandalism", "96 hours")', "96 hrs");
addlilink(tabs, 'javascript:blockuser("vandalism", "192 hours")', "192 hrs");
addlilink(tabs, 'javascript:blockuser("vandalism", "indefinite")', "indefinite");
addlilink(tabs, 'javascript:blockuser("inappropriate username", "indefinite")', "username");
}
if (document.title.indexOf("Unblock user") == 0)
{
addlilink(tabs, 'javascript:unblockuser("temporarily removing block to change duration")', "change duration");
addlilink(tabs, 'javascript:unblockuser("unblock requested (via email)")', "email");
addlilink(tabs, 'javascript:unblockuser("blocked mistakenly")', "mistake");
addlilink(tabs, 'javascript:unblockuser("collateral damage")', "collateral");
addlilink(tabs, 'javascript:unblockuser("release autoblock")', "autoblock");
}
if (document.title.indexOf("Confirm delete") == 0)
{
addlilink(tabs, 'javascript:afddelete()',"afd");
addlilink(tabs, 'javascript:cfddelete()',"cfd");
}
if (document.title.indexOf("Editing Talk:") == 0)
{
addlilink(tabs, 'javascript:afdresult()',"afd");
}
}
if (window.addEventListener)
window.addEventListener("load", add_tabs, false);
else if (window.attachEvent)
window.attachEvent("onload", add_tabs);
function addtab(tabs, url, name, id){
var na = document.createElement('a');
na.href = url;
na.id = id;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.appendChild(na);
tabs.appendChild(li);
return li;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Edit section zero
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function addEditSection0() {
ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page'];
if (!document.getElementById) return;
x = document.getElementById('ca-edit');
if(!x) return;
y = document.createElement('LI');
y.id = 'ca-edit-0';
if (x.className == 'selected') {
if (/&action=edit§ion=0$/.test(window.location.href)) {
x.className = 'istalk';
y.className = 'selected';
} else {
x.className = 'selected istalk';
}
} else if (x.className == 'selected istalk') {
if (/&action=edit§ion=0$/.test(window.location.href)) {
x.className = 'istalk';
y.className = 'selected istalk';
} else {
y.className = 'istalk';
}
} else {
y.className = x.className;
x.className = 'istalk';
}
z = document.createElement('A');
if (x.children) {
z.href = x.children[0].href + '§ion=0';
z.appendChild(document.createTextNode('0'));
y.appendChild(z);
document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling);
} else {
z.href = x.childNodes[0].href + '§ion=0';
z.appendChild(document.createTextNode('0'));
y.appendChild(z);
document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling);
}
}
if (document.title.indexOf("Editing ") == -1) {
if (window.addEventListener) window.addEventListener("load", addEditSection0, false);
else if (window.attachEvent) window.attachEvent("onload", addEditSection0);
}
function getPname() {
z=document.getElementById("content").childNodes;
for (var n=0;n<z.length;n++) {
if (z[n].className=="firstHeading") return z[n].textContent;
};
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Block, unblock, and block log tabs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function add_block_tab()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
editlk = editlk.substring(editlk.indexOf(':') + 1);
var slloc = editlk.indexOf('/');
if (slloc > 0)
editlk = editlk.substring(0, slloc);
addlilink(tabs, '/w/index.php?title=Special:Ipblocklist&action=unblock&ip=' + editlk, 'u');
addlilink(tabs, '/w/index.php?title=Special:Blockip&ip=' + editlk, 'b');
addlilink(tabs, '/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + editlk, 'l');
}
function do_onload()
{
if (document.title.indexOf('User:') == 0
|| document.title.indexOf('User talk:') == 0)
add_block_tab();
else if (document.title.indexOf('Block user') == 0) // could stand to be more robust
do_blockip_stuff();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Visual aids and changes to personal menus
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Personal menu, navigation, toolbox and more tab customisation
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (window.addEventListener)
window.addEventListener("load", do_onload, false);
else if (window.attachEvent)
window.attachEvent("onload", do_onload);
if ( document.createElement && window.addEventListener )
{
function SoFixItInit()
{
}
function SoFixItLoad()
{
UserMenu = new PortletMenu( 'p-personal' );
PageMenu = new PortletMenu( 'p-cactions' );
NavMenu = new PortletMenu( 'p-navigation' );
ToolMenu = new PortletMenu( 'p-tb' );
function GetByClass( sElem, sClass )
{ var i, a2 = [], a = document.getElementsByTagName( sElem );
for ( i = 0; i < a.length; i++ )
if ( a[ i ].className == sClass )
a2.push( a[ i ] );
return a2;
}
var a, td = GetByClass( 'td', 'diff-otitle' );
if ( ( td = td[ 0 ] ) && ( a = td.getElementsByTagName( 'a' )[ 0 ] ) )
a.href = a.href + '&action=edit'; // need to change text, later
var userName = UserMenu.getText( 'pt-userpage' );
UserMenu.setText( 'pt-mytalk' , 'Talk' );
UserMenu.setText( 'pt-preferences', 'Preferences' );
UserMenu.setText( 'pt-watchlist' , 'Watchlist' );
UserMenu.setText( 'pt-mycontris' , 'Contributions' );
UserMenu.setText( 'pt-logout' , 'Log out' );
document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0].style.textTransform = 'none';
if ( PageMenu[ 'ca-history' ] ) // theory: if it has a history tab, then it's purgable
{
PageMenu.insertBefore( 'ca-history', 'ca-lastdiff', 'last',
PageMenu.getHref( 'ca-history' ).replace( /action=history/, 'diff=0' ) );
PageMenu.getHref( 'ca-history' ).replace( /action=history/, 'action=purge');
PageMenu.setText( 'ca-edit' , 'Edit this page' );
PageMenu.setText( 'ca-history' , 'History' );
PageMenu.setText( 'ca-delete' , 'Delete' );
}
var x = 1;
NavMenu.append( 'n-' + x++, 'monobook.js', 'http://en.wikipedia.org/w/index.php?title=User:KnowledgeOfSelf/monobook.js&action=edit' );
NavMenu.append( 'n-' + x++, 'monobook.css', 'http://en.wikipedia.org/w/index.php?title=User:KnowledgeOfSelf/monobook.css&action=edit' );
NavMenu.append( 'n-' + x++, 'Status', 'http://en.wikipedia.org/w/index.php?title=User:KnowledgeOfSelf/status&action=edit' );
NavMenu.append( 'n- ' + x++, 'Purge', 'http://en.wikipedia.org/w/index.php?title=' + getPname() + '&action=purge' );
ToolMenu.append( 'n-' + x++, 'Block IP', 'http://en.wikipedia.org/wiki/Special:Blockip' );
ToolMenu.append( 'n-' + x++, 'Unblock IP', 'http://en.wikipedia.org/w/index.php?title=Special:Ipblocklist&action=unblock' );
ToolMenu.append( 'n-' + x++, 'IP block list', 'http://en.wikipedia.org/wiki/Special:Ipblocklist' );
ToolMenu.append( 'n-' + x++, 'Autoblocks', 'http://tools.wikimedia.de/~pgk/autoblock.php?autoblock=&blocker=KnowledgeOfSelf&blockee=&time=0&Submit=Submit+Query' );
ToolMenu.append( 'n-' + x++, 'Requests: AIV', 'http://en.wikipedia.org/wiki/Wikipedia:Administrator_intervention_against_vandalism' );
ToolMenu.append( 'n-' + x++, 'Requests: Unblock', 'http://en.wikipedia.org/wiki/Category:Requests_for_unblock' );
ToolMenu.append( 'n-' + x++, 'Requests: Helpme', 'http://en.wikipedia.org/wiki/Category:Wikipedians_looking_for_help' );
ToolMenu.append( 'n-' + x++, 'Requests: Adminship', 'http://en.wikipedia.org/wiki/Wikipedia:Requests_for_adminship' );
ToolMenu.append( 'n-' + x++, 'Speedy deletions', 'http://en.wikipedia.org/wiki/Category:Candidates_for_speedy_deletion' );
ToolMenu.append( 'n-' + x++, 'AfDs to be closed', 'http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Old' );
ToolMenu.append( 'n-' + x++, 'Todays AfDs', 'http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Log/Today' );
ToolMenu.append( 'n-' + x++, 'Yesterdays AfDs', 'http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Log/Yesterday' );
ToolMenu.append( 'n-' + x++, 'Noticeboard', 'http://en.wikipedia.org/wiki/Wikipedia:Administrators%27_noticeboard' );
ToolMenu.append( 'n-' + x++, 'Noticeboard: Incidents', 'http://en.wikipedia.org/wiki/Wikipedia:Administrators%27_noticeboard/Incidents' );
ToolMenu.append( 'n-' + x++, 'Noticeboard: 3RR', 'http://en.wikipedia.org/wiki/Wikipedia:Administrators%27_noticeboard/3RR' );
ToolMenu.append( 'n-' + x++, 'Edit count', 'http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=KnowledgeOfSelf&site=en.wikipedia.org' );
ToolMenu.append( 'n-' + x++, 'New users', 'http://en.wikipedia.org/w/index.php?title=Special:Log&type=newusers&user=&page=&limit=20&offset=0' );
}
function PortletMenu( id ) // constructor
{
this.menu = document.getElementById( id );
this.list = this.menu.getElementsByTagName( 'ul' )[ 0 ]; // bypass "<h5>Views</h5>", etc.
var LIs = this.list.getElementsByTagName( 'li' );
for ( var i = 0; i < LIs.length; i++ )
{
this[ LIs[ i ].id ] = LIs[ i ];
}
this.newItem = function( id, txt, url )
{ var li = document.createElement( 'li' ); li.id = id;
var a = document.createElement( 'a' ); a.href = url;
a.appendChild( document.createTextNode( txt ) );
li.appendChild( a );
this[ id ] = li; // watch this!!!
return li;
}
this.append = function( id, txt, url )
{ this.list.appendChild( this.newItem( id, txt, url ) );
}
this.insertBefore = function( old, id, txt, url )
{ this.list.insertBefore( this.newItem( id, txt, url ), this[ old ] );
}
this.getText = function( id ) { return this[ id ].getElementsByTagName( 'a' )[ 0 ].firstChild.data }
this.setText = function( id, txt ) { this[ id ].getElementsByTagName( 'a' )[ 0 ].firstChild.data = txt }
this.getHref = function( id ) { return this[ id ].getElementsByTagName( 'a' )[ 0 ].href }
this.setHref = function( id, url ) { this[ id ].getElementsByTagName( 'a' )[ 0 ].href = url }
}
function RemoveNode( id )
{ var node = document.getElementById( id )
node.parentNode.removeChild( node );
}
SoFixItInit();
window.addEventListener( 'load', SoFixItLoad, false );
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Page logs link in toolbox
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
addOnloadHook(function () {
var pagetitleRe=/[^:]*:\/\/en\.wikipedia\.org\/(wiki\/|w\/index\.php\?title=)([^&?#]*)/;
ptitle = pagetitleRe.exec(decodeURI(location.href))[2].split('_').join(' ');
if( (window.location.href.indexOf("User:") != -1) || (window.location.href.indexOf("User_talk:") != -1) ) {
regDropSubpages = /[User|User_talk]:([^&?\/]*)[\/]?.*/;
user = regDropSubpages.exec(ptitle)[1];
url = "http://en.wikipedia.org/w/index.php?title=Special%3ALog&user=" + user;
} else if(window.location.href.indexOf("Special:") != -1) {
return;
} else {
url = "http://en.wikipedia.org/w/index.php?title=Special%3ALog&page=" + ptitle;
}
tabs = document.getElementById('p-tb').getElementsByTagName('ul')[0];
l = addlilink(tabs, url, "Logs", "pt-logs");
});
document.write('<style type="text/css">' +
' .xdiff { width: 100%; background: white; }' +
' .xdiff-row { width: 100%; margin: 0 0 3px 0; overflow: hidden; }' +
' .xdiff-col { width: 49%; margin: 0; float: left; clear: none; position: relative; }' +
' .xdiff-sign, .xdiff-outer, .xdiff-inner { display: block; margin: 0; }' +
' .xdiff-sign { position: absolute; top: 0; left: 0; width: 2em; text-align: center; }' +
' .xdiff-outer { padding: 0 0 0 2em; }' +
' .xdiff-inner { overflow: auto; overflow-y: visible; width: 100%; }' +
' .xdiff-inner.diff-addedline { font-size: 85%; background: #cfc; }' +
' .xdiff-inner.diff-deletedline { font-size: 85%; background: #ffa; }' +
' .xdiff-inner.diff-context { font-size: 85%; background: #eee; }' +
(!document.recalc ? '' : // IE kluge:
' * html .xdiff-inner { padding-bottom: expression(this.scrollWidth > this.offsetWidth ? "16px" : 0); }' +
' * html .xdiff-sign { top: expression((this.parentNode.clientHeight - this.offsetHeight)/2 + "px"); }') +
'<'+'/style>');
//addOnloadHook(maybeStart);
addOnloadHook(addMarvin);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Other / Uncategorised
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Interiot edit count (tool 2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js&action=raw&ctype=text/javascript'); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// End
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* </nowiki></pre> */