User:Steel359/protection.js
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
// <pre><nowiki> importScript('User:Steel359/^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 "; } // 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); // ---------------------------------------------------------- // 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"); boxclone.style.marginTop = "7px"; boxclone.style.marginBottom = "1px"; 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); document.getElementById("p-tb").appendChild(boxclone); } if (window.addEventListener) window.addEventListener("load",mylinks,false); else if (window.attachEvent) window.attachEvent("onload",mylinks); }; // </nowiki></pre>