User:AuburnPilot/protection.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:AuburnPilot/protection. |
// <pre><nowiki>
importScript('User:AuburnPilot/plat1.js');
importScript('User:AuburnPilot/^demon.js');
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 ";
}
function fullprot_tagging()
{
addPortletLink('p-navigation', 'javascript:fullprot_tag()', "(Fully protected)");
}
addOnloadHook(fullprot_tagging);
// 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 ";
}
}
function fullprotexp_tagging()
{
addPortletLink('p-navigation', 'javascript:fullprotexp_tag()', "(Full) \+ expiry");
}
addOnloadHook(fullprotexp_tagging);
// Break
function semiprot_tag()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value +=":{" + "{RFPP|s}} ~~" + "~~";
f.wpSummary.value += "sprotected ";
}
function semiprot_tagging()
{
addPortletLink('p-navigation', 'javascript:semiprot_tag()', "(Semi-protected)");
}
addOnloadHook(semiprot_tagging);
// 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 ";
}
}
function semiprotexp_tagging()
{
addPortletLink('p-navigation', 'javascript:semiprotexp_tag()', "(Semi) \+ expiry");
}
addOnloadHook(semiprotexp_tagging);
// 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 ";
}
function moveprot_tagging()
{
addPortletLink('p-navigation', 'javascript:moveprot_tag()', "(Move-protected)");
}
addOnloadHook(moveprot_tagging);
// 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 ";
}
}
function declinedprot_tagging()
{
addPortletLink('p-navigation', 'javascript:declinedprot_tag()', "(Declined)");
}
addOnloadHook(declinedprot_tagging);
// Break
function neaprot_tag()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value +=":{" + "{RFPP|nea}} ~~" + "~~";
f.wpSummary.value += "declined ";
}
function neaprot_tagging()
{
addPortletLink('p-navigation', 'javascript:neaprot_tag()', "(Declined nea)");
}
addOnloadHook(neaprot_tagging);
// Break
function faprot_tag()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value +=":{" + "{RFPP|fa}} ~~" + "~~";
f.wpSummary.value += "declined ";
}
function faprot_tagging()
{
addPortletLink('p-navigation', 'javascript:faprot_tag()', "(Declined fa)");
}
addOnloadHook(faprot_tagging);
// 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 ";
}
function userprot_tagging()
{
addPortletLink('p-navigation', 'javascript:userprot_tag()', "(User blocked)");
}
addOnloadHook(userprot_tagging);
// Break
function unprot_tag()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value +=":{" + "{RFPP|u}} ~~" + "~~";
f.wpSummary.value += "unprotected ";
}
function unprot_tagging()
{
addPortletLink('p-navigation', 'javascript:unprot_tag()', "(Unprotected)");
}
addOnloadHook(unprot_tagging);
// Break
function doneprot_tag()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value +=":{" + "{RFPP|do}} ~~" + "~~";
f.wpSummary.value += "done ";
}
function doneprot_tagging()
{
addPortletLink('p-navigation', 'javascript:doneprot_tag()', "(Done)");
}
addOnloadHook(doneprot_tagging);
// 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 note_tagging()
{
addPortletLink('p-navigation', 'javascript:note_tag()', "(Note)");
}
addOnloadHook(note_tagging);
// 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;
};
addOnloadHook(function (){
if(queryString("interwikis")=="show") {
return;
} else {
importStylesheet('User:Steel359/protection.css');
}
});
function misc_tagging()
{
if( mw.config.get('wgNamespaceNumber') > -1 ) {
addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/' + mw.config.get('wgPageName') + '?interwikis=show', "Show interwikis");
}
addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Wikipedia:Requests for page protection', "WP:RFPP");
}
addOnloadHook(misc_tagging);
// ----------------------------------------------------------
// pp-dispute
addOnloadHook(function (){
if(queryString("jsaction")=="pp-dispute") {
var fulldisputeexp = prompt( "Expiry time? (Optional)" );
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 ) {
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 fullvandalexp = prompt ("Expiry time? (Optional)");
if ( !fullvandalexp ) {
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|\+" + fullvandalexp + "}}}}" + '\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 ) {
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 ) {
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 ) {
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-socks
addOnloadHook(function (){
if(queryString("jsaction")=="pp-semi-sock") {
var semisockexp = prompt( "Expiry time? (Optional)" );
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 ) {
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 ) {
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, hit cancel to remove it manually, else 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-pp-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 (pp-usertalk)';
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_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 (banned user)';
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);
document.getElementById("column-one").appendChild(boxclone);
}
if (window.addEventListener) window.addEventListener("load",mylinks,false);
else if (window.attachEvent) window.attachEvent("onload",mylinks);
};
// </nowiki></pre>