MediaWiki:Gadget-protection-sidebar.js

From OpenWetWare
Jump to: navigation, search
// **********************************************************************
// **                 ***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
// <pre><nowiki> 

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={{subst:#time:F j, Y|\+' + 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={{subst:#time:F j, Y|\+' + 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 );

// </nowiki></pre>