User:Beetstra/twinklewarn.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. |
Documentation for this user script can be added at User:Beetstra/twinklewarn. |
// <nowiki>
// If TwinkleConfig aint exist.
if( typeof( TwinkleConfig ) == 'undefined' ) {
TwinkleConfig = function() {};
}
/**
TwinkleConfig.showSharedIPNotice may take arguments:
true: to show shared ip notice if an IP address
false: to not print the notice
*/
if( typeof( TwinkleConfig.showSharedIPNotice ) == 'undefined' ) {
TwinkleConfig.showSharedIPNotice = true;
}
/**
TwinkleConfig.addAdToSummary
If [[WP:TWINKLE|TWINKLE]] should be added or not to summary
*/
if( typeof( TwinkleConfig.addAdToSummary ) == 'undefined' ) {
TwinkleConfig.addAdToSummary = true;
}
function blockTagAdd( tag, summary ) {
var duration = null;
if( tag != 'uw-block3') {
var duration = prompt( 'What duration is the block for?' );
}
var reason = prompt( 'Reason for block?' );
var notice = '{{subst:' + tag + ( duration ? '|time=' + duration : '' ) + ( reason ? '|reason=' + reason : '' ) + '|subst=subst:}} ~~' + '~~';
var textbox = document.getElementById( 'wpTextbox1' );
textbox.value += "\n" + notice;
document.getElementById( 'wpMinoredit' ).checked = true;
document.getElementById( 'wpSummary' ).value = summary + '.' + ( TwinkleConfig.addAdToSummary ? ' [[WP:TWINKLE|TWINKLE]]' : '');
}
function tagadd( tag , summary) {
var article;
if( QueryString.exists( 'vanarticle' ) ) {
article = decodeURI(QueryString.get( 'vanarticle' )).replace( /^(Image|Category):/i, ':$1:' );
} else {
article = prompt('Which article?').replace( /^(Image|Category):/i, ':$1:' );
}
var textbox = document.getElementById( 'wpTextbox1' );
if ( textbox.value.length > 0 ) {
textbox.value += '\n';
}
var date = new Date();
var notice = "";
var header = "";
var headerRe = new RegExp( "^===\\s*" + date.getUTCMonthName() + "\\s+" + date.getUTCFullYear() + "\\s*===", 'm' );
if( !headerRe.exec( textbox.value ) ) {
header += "=== " + date.getUTCMonthName() + " " + date.getUTCFullYear() + " ===\n";
}
notice += header;
notice += "{{subst:" + tag + ( article ? '|' + article : '' ) + "|subst=subst:}} ~~" + "~~";
if ( TwinkleConfig.showSharedIPNotice && isIPAddress( wgTitle ) ) {
switch( QueryString.get( 'type' ) ) {
case 'vand':
notice += "\n:''If this is a shared [[IP address]], and you didn't make any [[Wikipedia:vandalism|unconstructive]] edits, please ignore this warning '' ";
break;
default:
notice += "\n:''If this is a shared [[IP address]], and you didn't make the edit, please ignore this notice'' ";
break;
}
}
textbox.value += "\n" + notice;
document.getElementById( 'wpSummary' ).value = summary + ( article ? ' on [[' + article + ']]' : '' ) + '.' + ( TwinkleConfig.addAdToSummary ? ' [[WP:TWINKLE|TWINKLE]]' : '');
document.getElementById( 'wpMinoredit' ).checked = true;
}
//Quick warning tabs
function add_warn_tabs()
{
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if ( wgNamespaceNumber == 3 && ( QueryString.equals( 'action', 'edit' ) || QueryString.equals( 'action', 'submit' ) ) ) {
addlimenu(tabs, '[1]', 'generalnotefunc');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-vandalism1", "General note: Vandalism")', 'Vandalism', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-delete1", "General note: Page blanking, removal")', 'Page blanking, removal', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-test1", "General note: Tests")', 'Editing tests', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-upv1", "General note: Userpage vandalism")', 'Userpage vandalism', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-tpv1", "General note: Talkpage vandalism")', 'Talkpage vandalism', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-error1", "General note: Factual errors")', 'Factual errors', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-mos1", "General note: Manual of style")', 'Manual of style', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-agf1", "General note: Assume good faith")', 'AGF', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-npa1", "General note: Personal attack")', 'Personal attack', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-defamatory1", "General note: Defamatory")', 'Defamation', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-joke1", "General note: Improper humour")', 'Improper humour', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-biog1", "General note: Negative bio")', 'Negative bio', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-npov1", "General note: NPOV")', 'NPOV', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-spam1", "General note: Spam")', 'Spam', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-copyright1", "General note: Copyright")', 'Copyright', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-creation1", "General note: Creation")', 'Creation', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-image1", "General note: Image")', 'Image', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-notcensored1", "General note: Censorship")', 'Censorship', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-unsourced1", "General note: Unsourced")', 'Unsourced', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-move1", "General note: Moves")', 'Moves', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-afd1", "General note: Removing {{"+"afd}} templates")', 'Afd', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-speedy1", "General note: Removing {{"+"speedy deletion}} templates")', 'Speedy', '');
mw.util.addPortletLink('generalnotefunc', 'javascript:tagadd("uw-legal1", "General note: Legal threat")', 'Legal threat', '');
addlimenu(tabs, '[2]', 'cautionfunc');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-vandalism2", "Caution: Vandalism")', 'Vandalism', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-delete2", "Caution: Page blanking, removal")', 'Page blanking, removal', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-test2", "Caution: Tests")', 'Editing tests', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-upv2", "Caution: Userpage vandalism")', 'Userpage vandalism', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-tpv2", "Caution: Talkpage vandalism")', 'Talkpage vandalism', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-error2", "Caution: Factual errors")', 'Factual errors', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-mos2", "Caution: Manual of style")', 'Manual of style', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-agf2", "Caution: Assume good faith")', 'AGF', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-npa2", "Caution: Personal attack")', 'Personal attack', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-defamatory2", "Caution: Defamatory")', 'Defamation', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-joke2", "Caution: Improper humour")', 'Improper humour', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-biog2", "Caution: Negative bio")', 'Negative bio', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-npov2", "Caution: NPOV")', 'NPOV', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-spam2", "Caution: Spam")', 'Spam', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-copyright2", "Caution: Copyright")', 'Copyright', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-creation2", "Caution: Creation")', 'Creation', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-image2", "Caution: Image")', 'Image', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-notcensored2", "Caution: Censorship")', 'Censorship', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-unsourced2", "Caution: Unsourced")', 'Unsourced', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-move2", "Caution: Moves")', 'Moves', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-afd2", "Caution: Removing {{"+"afd}} templates")', 'Afd', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-speedy2", "Caution: Removing {{"+"speedy deletion}} templates")', 'Speedy', '');
mw.util.addPortletLink('cautionfunc', 'javascript:tagadd("uw-legal2", "Caution: Legal threat")', 'Legal threat', '');
addlimenu(tabs, '[3]', 'warningfunc');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-vandalism3", "Warning: Vandalism")', 'Vandalism', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-delete3", "Warning: Page blanking, removal")', 'Page blanking, removal', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-test3", "Warning: Tests")', 'Editing tests', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-upv3", "Warning: Userpage vandalism")', 'Userpage vandalism', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-tpv3", "Warning: Talkpage vandalism")', 'Talkpage vandalism', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-error3", "Warning: Factual errors")', 'Factual errors', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-mos3", "Warning: Manual of style")', 'Manual of style', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-agf3", "Warning: Assume good faith")', 'AGF', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-npa3", "Warning: Personal attack")', 'Personal attack', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-defamatory3", "Warning: Defamatory")', 'Defamation', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-joke3", "Warning: Improper humour")', 'Improper humour', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-biog3", "Warning: Negative bio")', 'Negative bio', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-npov3", "Warning: NPOV")', 'NPOV', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-spam3", "Warning: Spam")', 'Spam', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-copyright3", "Warning: Copyright")', 'Copyright', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-creation3", "Warning: Creation")', 'Creation', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-image3", "Warning: Image")', 'Image', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-notcensored3", "Warning: Censorship")', 'Censorship', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-unsourced3", "Warning: Unsourced")', 'Unsourced', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-move3", "Warning: Moves")', 'Moves', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-afd3", "Warning: Removing {{"+"afd}} templates")', 'Afd', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-speedy3", "Warning: Removing {{"+"speedy deletion}} templates")', 'Speedy', '');
mw.util.addPortletLink('warningfunc', 'javascript:tagadd("uw-legal3", "Warning: Legal threat")', 'Legal threat', '');
addlimenu(tabs, '[4]', 'fwarningfunc');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-vandalism4", "Final warning: Vandalism")', 'Vandalism', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-vandalism4im", "Only warning: Vandalism")', 'Vandalism (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-delete4", "Final warning: Page blanking, removal")', 'Page blanking, removal', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-delete4im", "Only warning: Page blanking, removal")', 'Page blanking, removal (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-npa4", "Final warning: Personal attack")', 'Personal attack', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-npa4im", "Only warning: Personal attack")', 'Personal attack (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-defamatory4", "Final warning: Defamatory")', 'Defamation', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-defamatory4im", "Only warning: Defamatory")', 'Defamation (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-joke4", "Final warning: Improper humour")', 'Improper humour', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-biog4", "Final warning: Negative bio")', 'Negative bio', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-npov4", "Final warning: NPOV")', 'NPOV', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-spam4", "Final warning: Spam")', 'Spam', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-spam4im", "Only warning: Spam")', 'Spam (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-copyright4", "Final warning: Copyright")', 'Copyright', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-creation4", "Final warning: Creation")', 'Creation', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-image4", "Final warning: Image")', 'Image', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-image4im", "Only warning: Image")', 'Image (im)', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-move4", "Final warning: Moves")', 'Moves', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-afd4", "Final Warning: Removing {{"+"afd}} templates")', 'Afd', '');
mw.util.addPortletLink('fwarningfunc', 'javascript:tagadd("uw-speedy4", "Final Warning: Removing {{"+"speedy deletion}} templates")', 'Speedy', '');
addlimenu(tabs, '[S]', 'singlefunc');
mw.util.addPortletLink('singlefunc', 'javascript:tagadd("uw-3rr", "in danger of violating the [[WP:3RR|three-revert rule]]")', '3RR', '');
if( userIsInGroup( 'sysop' ) ) {
addlimenu(tabs, '[B]', 'blockfunc');
mw.util.addPortletLink('blockfunc', 'javascript:blockTagAdd("uw-block1", "You have been blocked")', 'Level 1', '');
mw.util.addPortletLink('blockfunc', 'javascript:blockTagAdd("uw-block2", "You have been blocked")', 'Level 2', '');
mw.util.addPortletLink('blockfunc', 'javascript:blockTagAdd("uw-block3", "You have been indefinitely blocked")', 'Level 3', '');
}
}
}
$(add_warn_tabs);
// </nowiki>