User:Steel359/protection.js

//

if (document.title.indexOf("Editing Wikipedia:Requests for page protection (section)") != -1) {

function fullprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|p}}. " + ""; f.wpSummary.value += "fully protected "; }

// Break

function fullprotexp_tag { var expfull = prompt( "The page protection will expire in..." ); if( !expfull ) { return; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|p|" + expfull + "}} " + ""; f.wpSummary.value += "fully protected for " + expfull + " "; } }

// Break

function semiprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|s}}. " + ""; f.wpSummary.value += "semi-protected "; }

// Break

function semiprotexp_tag { var expsemi = prompt( "The page protection will expire in..." ); if( !expsemi ) { return; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|s|" + expsemi + "}} " + ""; f.wpSummary.value += "semi-protected for " + expsemi + " "; } }

// Break

function salt_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|t}}. " + ""; f.wpSummary.value += "protected to prevent recreation "; }

// Break

function pendprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|pd}}. " + ""; f.wpSummary.value += "pending-change protected "; }

// Break

function pendprotexp_tag { var exppend = prompt( "The page protection will expire in..." ); if( !exppend ) { return; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|pd|" + exppend + "}} " + ""; f.wpSummary.value += "pending-change protected for " + exppend + " "; } }

// Break

function moveprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|m}}. " + ""; f.wpSummary.value += "move protected "; }

// Break

function templprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|tp}}. " + ""; f.wpSummary.value += "template protected "; }

// Break

function approt_tag { var apreason = prompt( "Admin\'s name? (Optional)" ); if( !apreason ) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|ap}} by another admin. " + ""; f.wpSummary.value += "already protected "; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|ap|" + apreason + "}}. " + ""; f.wpSummary.value += "already protected "; } }

// Break

function declinedprot_tag { var declinereason = prompt( "Reason? (Optional)" ); if( !declinereason ) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|d}} " + ""; f.wpSummary.value += "declined "; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|d}}, " + declinereason + " " + ""; f.wpSummary.value += "declined "; } }

// Break

function neaprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|nea}} " + ""; f.wpSummary.value += "declined - not enough recent activity "; }

// Break

function npprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|np}} " + ""; f.wpSummary.value += "declined - pages are not protected pre-emptively "; }

// Break

function drprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|dr}} " + ""; f.wpSummary.value += "declined - consider dispute resolution "; }

// Break

function userprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|b}} " + ""; f.wpSummary.value += "user(s) blocked "; }

// Break

function userreblock_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|tb}} " + ""; f.wpSummary.value += "user(s) re-blocked with talk page editing disallowed"; }

// Break

function aunprot_tag { var aureason = prompt( "Admin\'s name? (Optional)" ); if( !aureason ) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|au}} by another admin. " + ""; f.wpSummary.value += "already unprotected "; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|au|" + aureason + "}}. " + ""; f.wpSummary.value += "already unprotected "; } }

// Break

function unprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|u}} " + ""; f.wpSummary.value += "unprotected "; }

// Break

function notunprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|nu}} " + ""; f.wpSummary.value += "not unprotected "; }

// Break

function createsourced_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|cr}} " + ""; f.wpSummary.value += "not unprotected - please create a sourced version in your userspace first"; }

// Break

// Break

function adoneprot_tag { var adonereason = prompt( "Admin\'s name? (Optional)" ); if( !adonereason ) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|ad}} by another admin. " + ""; f.wpSummary.value += "already done "; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|ad|" + adonereason + "}}. " + ""; f.wpSummary.value += "already done"; } }

function doneprot_tag { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|do}} " + ""; f.wpSummary.value += "done "; }

// Break

function note_tag { var notereason = prompt ("Note:"); if ( !notereason) { return; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|n}} " + notereason + " " + ""; f.wpSummary.value += "note "; } }

// Break

function question_tag { var question = prompt ("Question:"); if ( !question) { return; } else { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value +=":{" + "{RFPP|q}} " + question + " " + ""; f.wpSummary.value += "question "; } }

function prot_tagging { mw.util.addPortletLink('p-navigation', 'javascript:fullprot_tag', "(Fully protected)"); mw.util.addPortletLink('p-navigation', 'javascript:fullprotexp_tag', "(Full) \+ expiry"); mw.util.addPortletLink('p-navigation', 'javascript:semiprot_tag', "(Semi-protected)"); mw.util.addPortletLink('p-navigation', 'javascript:semiprotexp_tag', "(Semi) \+ expiry"); mw.util.addPortletLink('p-navigation', 'javascript:salt_tag', "(Salt)"); mw.util.addPortletLink('p-navigation', 'javascript:moveprot_tag', "(Move protected)"); mw.util.addPortletLink('p-navigation', 'javascript:pendprot_tag', "(Pending protected)"); mw.util.addPortletLink('p-navigation', 'javascript:pendprotexp_tag', "(Pend) \+ expiry"); mw.util.addPortletLink('p-navigation', 'javascript:templprot_tag', "(Template protected)"); mw.util.addPortletLink('p-navigation', 'javascript:approt_tag', "(Already prot\'d)"); mw.util.addPortletLink('p-navigation', 'javascript:declinedprot_tag', "(Declined)"); mw.util.addPortletLink('p-navigation', 'javascript:neaprot_tag', "(Declined nea)"); mw.util.addPortletLink('p-navigation', 'javascript:npprot_tag', "(Declined np)"); mw.util.addPortletLink('p-navigation', 'javascript:drprot_tag', "(Declined dr)"); mw.util.addPortletLink('p-navigation', 'javascript:userprot_tag', "(User blocked)"); mw.util.addPortletLink('p-navigation', 'javascript:userreblock_tag', "(User talk disabled)"); mw.util.addPortletLink('p-navigation', 'javascript:aunprot_tag', "(Already unprot\'d)"); mw.util.addPortletLink('p-navigation', 'javascript:unprot_tag', "(Unprotected)"); mw.util.addPortletLink('p-navigation', 'javascript:notunprot_tag', "(Not unprotected)"); mw.util.addPortletLink('p-navigation', 'javascript:createsourced_tag', "(Create sourced first)"); mw.util.addPortletLink('p-navigation', 'javascript:adoneprot_tag', "(Already done)"); mw.util.addPortletLink('p-navigation', 'javascript:doneprot_tag', "(Done)"); mw.util.addPortletLink('p-navigation', 'javascript:note_tag', "(Note)"); mw.util.addPortletLink('p-navigation', 'javascript:question_tag', "(Question)"); }

$(prot_tagging); importStylesheet('User:Steel359/protection2.css');

// End if };

// --- //                                                                                               Protection tags

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

function misc_tagging { mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Wikipedia:Requests for page protection', "WP:RFPP"); }

$(misc_tagging);

// --

// pp-dispute

$(function { if(queryString("jsaction")=="pp-dispute") {  var fulldisputeexp = prompt( "Expiry time? (Optional)" );  if ( fulldisputeexp == null ) {  return; } else if ( fulldisputeexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-dispute}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-dispute}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-dispute|expiry={" + "{subst:#time:F j, Y|\+" + fulldisputeexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-dispute}}"; }  document.forms[0].wpSave.click; } });

// pp-vandalism

$(function { if(queryString("jsaction")=="pp-vandalism") {  var fullvandalexp = prompt ("Expiry time? (Optional)");  if ( fullvandalexp == null ) {  return; } else if ( fullvandalexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-vandalism}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-vandalism}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-vandalism|expiry={" + "{subst:#time:F j, Y|\+" + fullvandalexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-vandalism}}"; }  document.forms[0].wpSave.click; } });

// pp-usertalk

$(function { if(queryString("jsaction")=="pp-usertalk") {  var fulltalkexp = prompt ("Expiry time? (Optional)");  if ( fulltalkexp == null ) {  return; } else if ( fulltalkexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-usertalk}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-usertalk}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-usertalk|expiry={" + "{subst:#time:F j, Y|\+" + fulltalkexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-usertalk}}"; }  document.forms[0].wpSave.click; } });

// pp-protected (other)

$(function { if(queryString("jsaction")=="pp-protected") {  var fullreason = prompt ( "This page is currently protected from editing because... (Optional)" );  if ( fullreason == null ) {  return; } else if ( fullreason == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-protected}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-protected}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-protected|reason=" + fullreason + "}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-protected}}"; }

var fullotherexp = prompt ( "Expiry time? (Optional)"); if ( fullotherexp == null ) { return; } else if ( fullotherexp == '' ) { document.forms[0].wpSave.click; } else { var f = document.editform, t = f.wpTextbox1; t.value = t.value.split('{'+'{pp-protected').join('{'+'{pp-protected|expiry=\+' + fullotherexp + "" ); document.forms[0].wpSave.click; } } });

// pp-small=yes

$(function { if(queryString("jsaction")=="pp-small") {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-protected|small=yes}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-protected|small=yes}}";  document.forms[0].wpSave.click; } });

// pp-semi-vandalism

$(function { if(queryString("jsaction")=="pp-semi-vandalism") {  var semivandalexp = prompt( "Expiry time? (Optional)" );  if ( semivandalexp == null ) {  return; } else if ( semivandalexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-vandalism}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-vandalism}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-vandalism|expiry={" + "{subst:#time:F j, Y|\+" + semivandalexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-vandalism}}"; }  document.forms[0].wpSave.click; } });

// pp-semi-usertalk

$(function { if(queryString("jsaction")=="pp-semi-usertalk") {  var semitalkexp = prompt ("Expiry time? (Optional)");  if ( semitalkexp == null ) {  return; } else if ( semitalkexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-usertalk}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-usertalk}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-usertalk|expiry={" + "{subst:#time:F j, Y|\+" + semitalkexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-usertalk}}"; }  document.forms[0].wpSave.click; } });

// pp-semi-socks

$(function { if(queryString("jsaction")=="pp-semi-sock") {  var semisockexp = prompt( "Expiry time? (Optional)" );  if ( semisockexp == null ) {  return; } else if ( semisockexp == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-sock}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-sock}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-sock|expiry={" + "{subst:#time:F j, Y|\+" + semisockexp + "}}}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-sock}}"; }  document.forms[0].wpSave.click; } });

// pp-semi-protected (other)

$(function { if(queryString("jsaction")=="pp-semi-protected") {  var semireason = prompt ( "Editing of this article by unregistered or newly registered users is currently disabled because... (Optional)" );  if ( semireason == null ) {  return; } else if ( semireason == '' ) {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-protected}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-protected}}"; } else {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-protected|reason=" + semireason + "}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-protected}}"; }

var semiotherexp = prompt ( "Expiry time? (Optional)"); if ( semiotherexp == null ) { return; } else if ( semiotherexp == '' ) { document.forms[0].wpSave.click; } else { var f = document.editform, t = f.wpTextbox1; t.value = t.value.split('{'+'{pp-semi-protected').join('{'+'{pp-semi-protected|expiry=\+' + semiotherexp + "" ); document.forms[0].wpSave.click; } } });

// pp-semi-small=yes

$(function { if(queryString("jsaction")=="pp-semi-small") {  var f = document.editform, t = f.wpTextbox1;  t.value = "{" + "{pp-semi-protected|small=yes}}" + '\n' + t.value;  f.wpSummary.value = "{" + "{pp-semi-protected|small=yes}}";  document.forms[0].wpSave.click; } });

// Unprotection

$(function { if(queryString("jsaction")=="unprotected") {  var f = document.editform, t = f.wpTextbox1;  var pp = RegExp("\{\{pp-.*?\}\}.*?\n");  t.value = t.value.split(pp).join('');  f.wpSummary.value = "Unprotected";  var unprotconfirm = confirm( "This script removes new style protection templates (eg, {"+"{pp-whatever}}), but not the older versions." + "\n" + "If an old style protection template is still present (eg, {"+"{sprotect}}), hit cancel to remove it manually, otherwise hit OK to save the page." ); if( !unprotconfirm ) {  return; } else {  document.forms[0].wpSave.click; } } });

// -

if ( mw.config.get('wgNamespaceNumber') > -1 ) {

function portalClone(headername, id) { var boxclone = document.createElement("div"); if( mw.config.get('skin') == "vector" ) { boxclone.className = 'portal collapsed'; boxclone.setAttribute('id', id ); var heading = document.createElement('h3'); heading.appendChild(document.createTextNode( headername) ); boxclone.appendChild(heading); var link_div = document.createElement('div'); link_div.className = 'body'; link_div.appendChild (document.createElement("ul")); boxclone.appendChild(link_div);

} else { boxclone.id = id; boxclone.setAttribute("class","portlet"); boxclone.style.marginTop = "7px"; boxclone.style.marginBottom = "1px";

var titolo = document.createElement("h3"); titolo.innerHTML = headername; boxclone.appendChild(titolo);

var corpo = document.createElement("div"); corpo.setAttribute("class","pBody"); var list_ul = document.createElement("ul"); corpo.appendChild(list_ul); boxclone.appendChild(corpo); } var tb = document.getElementById("p-tb"); if( tb.nextSibling ) tb.parentNode.insertBefore(boxclone, tb.nextSibling ); else tb.parentNode.appendChild( boxclone );

return boxclone; }

function mylinks { var boxclone = portalClone( "Protection tags", "p-navclone" ); var baseuri = mw.config.get('wgScript') + '?title=' + encodeURIComponent( mw.config.get('wgPageName') ) + '&action=edit&jsaction=';

mw.util.addPortletLink( 'p-navclone', baseuri + "pp-dispute", 'Full (dispute)', 'v-dispute' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-vandalism", 'Full (vandalism)', 'v-vandalism' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-usertalk", 'Full (unblockabuse)', 'v-usertalk' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-protected", 'Full (other)', 'v-protected' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-small", 'Full (small=yes)', 'v-small' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-semi-vandalism", 'Semi (vandalism)', 'v-s-vandalism' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-semi-usertalk", 'Semi (unblockabuse)', 'v-s-usertalk' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-semi-sock", 'Semi (sock problems)', 'v-s-socks' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-semi-protected", 'Semi (other)', 'v-s-protected' ); mw.util.addPortletLink( 'p-navclone', baseuri + "pp-semi-small", 'Semi (small=yes)', 'v-small' ); mw.util.addPortletLink( 'p-navclone', baseuri + "unprotected", 'Unprotected', 'v-uprot' ); }

function steel_toggle( $element ) { $.cookie( 'vector-nav-' + $element.parent.attr( 'id' ), $element.parent.is( '.collapsed' ) ); $element .parent .toggleClass( 'expanded' ) .toggleClass( 'collapsed' ) .find( 'div.body' ) .slideToggle( 'fast' ); }

$( mylinks );

};

//