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 ( mw.config.get('wgUserGroups') && !window.disableSysopJS ) {

for ( var g = 0; g < mw.config.get('wgUserGroups').length; ++g ) {

if ( mw.config.get('wgUserGroups')[g] == "sysop" ) {

function addLink(where, url, name, id, title, key, after) {

// addLink() accepts either an id or a DOM node, mw.util.addPortletLink() only takes a node

if (after && !after.cloneNode)

after = document.getElementById(after);

return mw.util.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()

{

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:moveprot_tag()', "(Move-protected)");

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:faprot_tag()', "(Declined fa)");

mw.util.addPortletLink('p-navigation', 'javascript:userprot_tag()', "(User blocked)");

mw.util.addPortletLink('p-navigation', 'javascript:unprot_tag()', "(Unprotected)");

mw.util.addPortletLink('p-navigation', 'javascript:doneprot_tag()', "(Done)");

mw.util.addPortletLink('p-navigation', 'javascript:note_tag()', "(Note)");

}

$(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);

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

// ----------------------------------------------------------

// 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={{subst:#time:F j, Y|\+' + 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={{subst:#time:F j, Y|\+' + 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 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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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 = mw.config.get('wgServer') + '/wiki/' + mw.config.get('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

}

}

}

}

$( sysopFunctions );

//