MediaWiki:Gadget-protection-sidebar.js

// ********************************************************************** // **                ***WARNING GLOBAL GADGET FILE***                 ** // **            changes to this file affect many users. ** // **          please discuss on the talk page before editing         ** // **                                                                 ** // ********************************************************************** // Imported from: User:Steel359/protection.js // Version as of: 2007-12-12T02:06:51 //

function sysopFunctions { if ( wgUserGroups && !window.disableSysopJS ) { for ( var g = 0; g < wgUserGroups.length; ++g ) { if ( wgUserGroups[g] == "sysop" ) {

function addLink(where, url, name, id, title, key, after) { // addLink accepts either an id or a DOM node, addPortletLink only takes a node if (after && !after.cloneNode) after = document.getElementById(after);

return addPortletLink(where, url, name, id, title, key, after); }

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 "; } }

// Break

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

// 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 += "sprotected "; } }

// 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 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 "; }

// Break

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

// Break

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

// 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 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 "; } }

function prot_tagging { addPortletLink('p-navigation', 'javascript:fullprot_tag', "(Fully protected)"); addPortletLink('p-navigation', 'javascript:fullprotexp_tag', "(Full) \+ expiry"); addPortletLink('p-navigation', 'javascript:semiprot_tag', "(Semi-protected)"); addPortletLink('p-navigation', 'javascript:semiprotexp_tag', "(Semi) \+ expiry"); addPortletLink('p-navigation', 'javascript:moveprot_tag', "(Move-protected)"); addPortletLink('p-navigation', 'javascript:declinedprot_tag', "(Declined)"); addPortletLink('p-navigation', 'javascript:neaprot_tag', "(Declined nea)"); addPortletLink('p-navigation', 'javascript:faprot_tag', "(Declined fa)"); addPortletLink('p-navigation', 'javascript:userprot_tag', "(User blocked)"); addPortletLink('p-navigation', 'javascript:unprot_tag', "(Unprotected)"); addPortletLink('p-navigation', 'javascript:doneprot_tag', "(Done)"); addPortletLink('p-navigation', 'javascript:note_tag', "(Note)"); }

addOnloadHook(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 { addPortletLink('p-tb', wgServer + '/wiki/Wikipedia:Requests for page protection', "WP:RFPP"); }

addOnloadHook(misc_tagging); importStylesheet('User:Steel359/protection.css');

// --

// pp-dispute

addOnloadHook(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

addOnloadHook(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

addOnloadHook(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)

addOnloadHook(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

addOnloadHook(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

addOnloadHook(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

addOnloadHook(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

addOnloadHook(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)

addOnloadHook(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

addOnloadHook(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

addOnloadHook(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 ( wgNamespaceNumber > -1 ) {

function mylinks { var boxclone = document.createElement("div"); boxclone.id = 'p-navclone'; boxclone.setAttribute("class","portlet");

var titolo = document.createElement("h5"); titolo.innerHTML = "protection tags"; boxclone.appendChild(titolo);

var corpo = document.createElement("div"); corpo.setAttribute("class","pBody"); var list_ul = document.createElement("ul");

var list_b = document.createElement("li"); list_b.id = 'v-dispute'; var link_b = document.createElement("a"); link_b.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-dispute'; link_b.innerHTML = 'Full (dispute)'; list_b.appendChild(link_b); list_ul.appendChild(list_b);

var list_e = document.createElement("li"); list_e.id = 'v-vandalism'; var link_e = document.createElement("a"); link_e.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-vandalism'; link_e.innerHTML = 'Full (vandalism)'; list_e.appendChild(link_e); list_ul.appendChild(list_e);

var list_e = document.createElement("li"); list_e.id = 'v-usertalk'; var link_e = document.createElement("a"); link_e.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-usertalk'; link_e.innerHTML = 'Full (unblockabuse)'; list_e.appendChild(link_e); list_ul.appendChild(list_e);

var list_j = document.createElement("li"); list_j.id = 'v-protected'; var link_j = document.createElement("a"); link_j.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-protected'; link_j.innerHTML = 'Full (other)'; list_j.appendChild(link_j); list_ul.appendChild(list_j);

var list_j = document.createElement("li"); list_j.id = 'v-small'; var link_j = document.createElement("a"); link_j.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-small'; link_j.innerHTML = 'Full (small=yes)'; list_j.appendChild(link_j); list_ul.appendChild(list_j);

var list_k = document.createElement("li"); list_k.id = 'v-s-vandalism'; var link_k = document.createElement("a"); link_k.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-semi-vandalism'; link_k.innerHTML = 'Semi (vandalism)'; list_k.appendChild(link_k); list_ul.appendChild(list_k);

var list_e = document.createElement("li"); list_e.id = 'v-s-usertalk'; var link_e = document.createElement("a"); link_e.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-semi-usertalk'; link_e.innerHTML = 'Semi (unblockabuse)'; list_e.appendChild(link_e); list_ul.appendChild(list_e);

var list_l = document.createElement("li"); list_l.id = 'v-s-socks'; var link_l = document.createElement("a"); link_l.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-semi-sock'; link_l.innerHTML = 'Semi (sock problems)'; list_l.appendChild(link_l); list_ul.appendChild(list_l);

var list_l = document.createElement("li"); list_l.id = 'v-s-protected'; var link_l = document.createElement("a"); link_l.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-semi-protected'; link_l.innerHTML = 'Semi (other)'; list_l.appendChild(link_l); list_ul.appendChild(list_l);

var list_j = document.createElement("li"); list_j.id = 'v-small'; var link_j = document.createElement("a"); link_j.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=pp-semi-small'; link_j.innerHTML = 'Semi (small=yes)'; list_j.appendChild(link_j); list_ul.appendChild(list_j);

var list_l = document.createElement("li"); list_l.id = 'v-unprot'; var link_l = document.createElement("a"); link_l.href = wgServer + '/wiki/' + wgPageName + '?action=edit&jsaction=unprotected'; link_l.innerHTML = 'Unprotected'; list_l.appendChild(link_l); list_ul.appendChild(list_l);

corpo.appendChild(list_ul); boxclone.appendChild(corpo); var pcontainer = document.getElementById("column-one"); if(!pcontainer) pcontainer=document.getElementById("mw_portlets"); pcontainer.appendChild(boxclone); }

if (window.addEventListener) window.addEventListener("load",mylinks,false); else if (window.attachEvent) window.attachEvent("onload",mylinks);

};

// End sysop requirement }		}	} } addOnloadHook( sysopFunctions );

//