User:Voice of All/Protection/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
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> //This function sets the selected values on the Confirm protection page addOnloadHook(WP_PP_helper); function WP_PP_helper() { if (document.title.indexOf('Protected pages') !=0 ) return; if (document.title.indexOf('/') !=-1) return; if (location.href.search(/&action=/) !=-1) return; addTab("javascript:addProtectReasons()", "Show reasons", "ca-reasons", "Show reasons", ""); } // var li_prot = 0; function addProtectReasons() { if (!document.getElementsByTagName('ul')[0]) {alert('There are no elements in this list.'); return;} if (!document.getElementsByTagName('ul')[0].getElementsByTagName('li')[0]) {alert('There are no elements in this list.'); return;} var ls = document.getElementsByTagName('ul')[0].getElementsByTagName('li'); if (document.getElementById('contentSub').innerHTML.indexOf('Inserting log date and reasons for these items.') !=-1) {alert('Results already shown.'); return;} document.getElementById('contentSub').innerHTML += '<br>Inserting log date and reasons for these items.<br>'; consec_addReasons(); } function consec_addReasons() { if (document.getElementsByTagName('ul')[0].getElementsByTagName('li')[li_prot]) { var name = document.getElementsByTagName('ul')[0].getElementsByTagName('li')[li_prot].getElementsByTagName('a')[0].innerHTML; var URL = '/w/index.php?title=Special:Log&limit=1&type=protect&page=' + escape(name) + '&useskin=standard'; xml_http = HTTPClient(); xml_http.open("GET", URL, true); xml_http.onreadystatechange = fetch_log_contents; xml_http.send(null); } else { document.getElementById('bodyContent').innerHTML = '<strong><span style="color:darkblue;">Log comments and dates inserted</span></strong><br>' + document.getElementById('bodyContent').innerHTML; var l =document.getElementById('bodyContent').getElementsByTagName('li'); for (var i=0; i<l.length; i++) { var title = l[i].getElementsByTagName('a')[0].title; var href = l[i].getElementsByTagName('a')[0].href; if (title) { l[i].innerHTML = '<a href=javascript:WP_PP_unprotect("' + href.split('/wiki/')[1] + '")><strong>(release)</strong></a> ' + l[i].innerHTML; } } } } function fetch_log_contents() { if (xml_http.readyState != 4) return; var Done=0; var xmlpage = xml_http.responseText.split("<div id='article'>")[1].split('<!-- end content -->')[0]; //UTC done if (xmlpage.indexOf('<ul>') == -1) { document.getElementsByTagName('li')[li_prot].innerHTML += '<span style="color:red;"><strong> (error)</strong></span>'; } else { //Current time xmlpage = xmlpage.split('<ul>')[1].split('</ul>')[0]; if (xmlpage.indexOf('<li>') == -1) { document.getElementsByTagName('li')[li_prot].innerHTML += '<span style="color:red;"><strong> (error)</strong></span>'; } else { var now = new Date(); var curtime = now.toUTCString().replace(/GMT/, "UTC"); var li_html = xmlpage.split('<li>')[1].split('</li>')[0]; var lasttime = li_html.split(' <a href=')[0].split(' <A href=')[0].split('<a href=')[0].split('<A href=')[0]; var totdays = getElapsedTime(curtime,lasttime); totdays = Math.round((100)*totdays)/100; var reason = li_html.split('<span class="comment">(')[1].split(')</span>')[0]; reason = reason.split(' [edit=')[0].split(' [move=')[0].split('[edit=')[0].split('[move=')[0]; if ( reason=='' ) reason = 'none given'; document.getElementsByTagName('li')[li_prot].innerHTML += '<br>[<strong>' + totdays + ' days old</strong>] <i>(' + reason + ')</i>'; } } li_prot += 1; consec_addReasons(); } function WP_PP_unprotect(title) { var URL = wgServer + wgScriptPath + '/index.php?title=' + escape(title) + '&action=edit&jsaction=release'; window.open(URL,'WP:AUTOunpro:' + title,'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); } function jssubmitclose() { var form = document.getElementById('editform'); form.submit(); } //Auto-replace function oldautoreplacetxt(what,withw) { i = 1; var original = document.editform.wpTextbox1.value; if (what == ''){alert("Invalid command."); return;} else if (what == 'null'){alert("Action cancelled."); return;} else { if (withw == ''){alert("All such appearances of text will be removed.");} else if (withw.split(what)[1] != undefined) {alert("Action cancelled to avoid infinite loop."); return;} else { if (document.editform.wpTextbox1.value.split(what)[1] != undefined) { while (i == 1) { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(what, withw); if (document.editform.wpTextbox1.value.indexOf(what) != -1) {i = 1;} else {i = -1;} } } //document.editform.wpSummary.value += 'JS: Replacing text "' + what + '" with "' + withw + '" '; } } } //Auto-replace function autoreplacetxt(s,r) { var original = document.editform.wpTextbox1.value; if(s) { if(!r && r != '') {alert('Action cancelled.'); return;} var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(new RegExp(s, "g"), r); } } addOnloadHook(protection_tabs); function protection_tabs() { if(document.getElementById('ca-protect')) {document.getElementById('ca-protect').firstChild.innerHTML = '<span style="color:black;">protect</span>';} if(document.getElementById('ca-unprotect')) {document.getElementById('ca-unprotect').firstChild.innerHTML = '<strong>unprotect</strong>';} var non_art = /Talk:| talk:|User:|MediaWiki:|Image:|Wikipedia:|Template:|Portal:|Help:|Main Page|Category:/; if (document.title.indexOf("Editing ") != -1) { if(document.getElementById('ca-watch')) {document.getElementById('ca-watch').firstChild.innerHTML = '[w]';} if(document.getElementById('ca-unwatch')) {document.getElementById('ca-unwatch').firstChild.innerHTML = '[uw]';} if (document.title.search(non_art) != -1) {document.getElementById('ca-talk').firstChild.innerHTML = 'Talk';} if(document.getElementById('ca-protect')) {document.getElementById('ca-protect').firstChild.innerHTML = '<span style="color:black;">P (off)</span>';} if(document.getElementById('ca-unprotect')) {document.getElementById('ca-unprotect').firstChild.innerHTML = '<strong>P (on)</strong>';} if (document.title.indexOf("Editing User talk:") != -1) { addToolboxLink("javascript:usprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:ufprotect()","(Full-Protect)","full-pro","."); if(document.getElementById('ca-unprotect')) {addToolboxLink("javascript:uunprotect()","(Un-Protect)","un-pro","/");} } else if (document.title.indexOf("Editing User:") != -1) { addToolboxLink("javascript:usprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:ufprotect()","(Full-Protect)","full-pro","."); if(document.getElementById('ca-unprotect')) {addToolboxLink("javascript:uunprotect()","(Un-Protect)","un-pro","/");} } else if (document.title.indexOf("Editing Wikipedia:Requests for page protection (section)") != -1) { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlimenu(tabs, 'Sysop response', 'respfunc'); var respfunc = document.getElementById('respfunc').getElementsByTagName('ul')[0]; addlilink(respfunc, 'javascript:rfpps()',"semi-pro", ''); addlilink(respfunc, 'javascript:rfppp()',"full-pro", ''); addlilink(respfunc, 'javascript:rfppm()',"move-pro", ''); addlilink(respfunc, 'javascript:rfpprv()',"!semi-pro", ''); addlilink(respfunc, 'javascript:rfppr()',"!full-pro", ''); addlilink(respfunc, 'javascript:rfppun()',"un-protect", ''); addlilink(respfunc, 'javascript:rfpprus()',"keep s-pro", ''); addlilink(respfunc, 'javascript:rfppruf()',"keep f-pro", ''); addlilink(respfunc, 'javascript:rfppb()',"block user", ''); addlilink(respfunc, 'javascript:rfppu()',"other sysop", ''); addlilink(respfunc, 'javascript:rfppbot()',"VoABot", ''); } //This line removes a minor glitch [[Category:VoA scripted admins]] else if (document.title.indexOf("Editing Wikipedia:Administrators' noticeboard/3RR (section)") != -1 || document.title.indexOf("Editing Help:Contents/Editing Wikipedia") != -1 || document.title.indexOf("Help:Contents/Editing Wikipedia") != -1) { var nothing = 'yep!'; } else if(document.title.indexOf("Editing Talk:") != -1 || document.title.indexOf("Editing Wikipedia talk:") != -1 || document.title.indexOf("Editing Template talk:") != -1 || document.title.indexOf("Editing MediaWiki talk:") != -1 || document.title.indexOf("Editing Help talk:") != -1 || document.title.indexOf("Editing Portal talk:") != -1 || document.title.indexOf("Editing Image talk:") != -1) { if(document.getElementById('ca-protect')) { addToolboxLink("javascript:osprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:oprotect()","(Full-Protect)","full-pro","."); } if(document.getElementById('ca-unprotect')) { addToolboxLink("javascript:usprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:ufprotect()","(Full-Protect)","full-pro","."); addToolboxLink("javascript:unprotect()","(Un-Protect)","un-pro","/"); } } else if(document.title.indexOf("Editing Wikipedia:") != -1 || document.title.indexOf("Editing Template:") != -1 || document.title.indexOf("Editing Category:") != -1 || document.title.indexOf("Editing MediaWiki:") != -1 || document.title.indexOf("Editing Portal:") != -1 || document.title.indexOf("Editing Help:") != -1 || document.title.indexOf("Editing Image:") != -1) { if(document.getElementById('ca-protect')) { addToolboxLink("javascript:usprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:ufprotect()","(Full-Protect)","full-pro","."); } if(document.getElementById('ca-unprotect')) {addToolboxLink("javascript:unprotect()","(Un-Protect)","un-pro","/");} } else { if(document.getElementById('ca-protect')) { addToolboxLink("javascript:sprotect()","(Semi-Protect)","sem-pro",","); addToolboxLink("javascript:protect()","(Full-Protect)","full-pro","."); } if(document.getElementById('ca-unprotect')) {addToolboxLink("javascript:unprotect()","(Un-Protect)","un-pro","/");} } } else if (document.title.indexOf("User:") != -1 || document.title.indexOf("User talk:") != -1) { var nothing = 'yep!'; } } ////////////////////WP:PP variables//////////////////// //This is for if people skrew with the WP:PP page layout var WPPPoffset=3; var allartsec = 9 - WPPPoffset; var movesec = 7 - WPPPoffset; var artfull = 10 - WPPPoffset; var artsemi = 11 - WPPPoffset; var otherpro = 13 - WPPPoffset; var userfull = 16 - WPPPoffset; var usersemi = 17 - WPPPoffset; var regtalk = 18 - WPPPoffset; var anontalk = 19 - WPPPoffset; var VoAsection = 12 - WPPPoffset; //End of WP:PP constants //////////////////// function protect() { var message = "Are you sure you want to full-protect this page?"; var return_value = confirm(message); if (return_value == true) { var z_check = ''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Ss]protect|\{\{[Pp]rotect/) != -1) {var z_check = 'notag';} else { form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{protected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{protected' + '}}'; window2 = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=fprotect', 'Page protect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); jssubmitclose(); return; } if (z_check == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); return; } } } function sprotect() { var message = "Are you sure you want to semi-protect this page?"; var return_value = confirm(message); if (return_value == true) { var z = ''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Ss]protect|\{\{[Pp]rotect/) != -1) {var z_check = 'notag';} else { form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{sprotected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{sprotected' + '}}'; window2 = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=sprotect', 'Page protect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); jssubmitclose(); return; } if (z == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); return; } } } function usprotect() { var z_check = ''; if (document.title.indexOf("Editing User talk") != -1) { value = 't'; } if (document.title.indexOf("Editing User:") != -1) { value = 'u'; } var reg = ''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Ss]protect|\{\{[Pp]rotect/) != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Uu]sertalk-sprotect|\{\{[Ss]utprotected/) != -1) {var z_check = 'notag';} if (z_check == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); return; } else { if (value == 'u') { var act = 'u'; type = 17; } else if (value == 't') { var act = 'ut'; var reg = prompt('Is this an anon or a registered user (enter *a* or *r*)?'); if (reg == 'a') { type = 19; } else if (reg == 'r') { type = 18; } else { alert("Error: Invalid input. Make sure you are not actually including the asterisk symbols."); return; } } else { alert("Error: Invalid input. Make sure you are not actually including the asterisk symbols."); return; } form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{sprotected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{sprotected' + '}}'; window1 = window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + type + '&jsaction=' + act + 'plist&jsaction=' + jstarget, 'WP:PP add', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); window2 = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=sprotect', 'Page protect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); return; } } function ufprotect() { var z_check = ''; if (document.title.indexOf("Editing User:") != -1) { value = 'u'; } var reg = ''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Ss]protect|\{\{[Pp]rotect/) != -1) {var z_check = 'notag';} else if (txtbox.value.search(/\{\{[Uu]sertalk-sprotect|\{\{[Ss]utprotected/) != -1) {var z_check = 'notag';} if (z_check == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); return; } else { if (value == 'u') { var act = 'u'; type = 16; } form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{Vprotected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{Vprotected' + '}}'; window1 = window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + type + '&jsaction=' + act + 'plist&jsaction=' + jstarget, 'WP:PP add', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); window2 = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=fprotect', 'Page protect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); return; } } function oprotect() { var z = ''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} if (z == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); return; } else { form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{protected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{protected' + '}}'; window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + otherpro + '&jsaction=oplist&jsaction=' + jstarget, 'WP:PP add', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=fprotect', 'Page protect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); } } function osprotect() { var z =''; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); var txtbox = document.editform.wpTextbox1; if (txtbox.value.search('\\{\\{\w\w-(semi|full)-protected\\}\\}') != -1) {z_check = 'notag';} if (txtbox.value.search('\\{\\{[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Ss]protect(ed|-banneduser)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)(Vp|vp|P|p)rotect(ed)\\}\\}') != -1) {z_check = 'notag';} else if (txtbox.value.search('\\{\\{(tl\\|)[Mm]oveprotect(ed)\\}\\}') != -1) {var z_check = 'notag';} if (z == 'notag') { alert("Error: A protection tag is already on this page. If this tag is supposed to be part of the text, then add the desired protection tag manually."); } else { form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpTextbox1.value = '{{sprotected' + '}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value += '+{{sprotected' + '}}'; window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + otherpro + '&jsaction=oplist&jsaction=' + target, 'targetname', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=sprotect', 'targetnameo', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); } } function unprotect() { var message = "Are you sure you want to unprotect this page?"; var auto = '&auto=0'; var m = null; if (location.href.indexOf('&jsaction=release') ==-1) {var return_value = confirm(message);} else {return_value=true; auto='&auto=1';} if (return_value == true) { var original = document.editform.wpTextbox1.value; jstarget = URLEncoding(wgTitle); if(m = document.editform.wpTextbox1.value.match(/\{\{(\w\w-|)semi-protected(2|)\}\}/) ) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{(\w\w-|)full-protected(2|)\}\}/) ) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{(\w\w-|)semi-protected(\|small=\w{2,3}|)\}\}/) ) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{(\w\w-|)full-protected(\|small=\w{2,3}|)\}\}/) ) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{pp-(dispute|vandalism)\}\}/) ) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{sprot(ect|ected|)(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{semiprotect(ed|)(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{sprotect-banneduser(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{sprotected-banneduser(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{vprotect(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{vprotected(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{Vprotect(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{Vprotected(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{protect(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{protected(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{Protect(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{moveprotect(2|)\}\}/i)) { whattag = m[0]; } else if(m = document.editform.wpTextbox1.value.match(/\{\{moveprotected(2|)\}\}/i)) { whattag = m[0]; } else { alert("Error: There is no recognized protection tag on this page."); location.href = 'http://en.wikipedia.org/w/index.php?title=' + wgTitle.replace(/&/g,"%26") + '&action=protect&jsaction=unprotect'; return; } form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } document.editform.wpSummary.value += 'Unprotected page -- removing tag'; document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(whattag,''); window.open('http://en.wikipedia.org/w/index.php?title=' + wgTitle.replace(/&/g,"%26") + '&action=protect&jsaction=unprotect' + auto, 'WP:unpro:' + wgTitle, 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); jssubmitclose(); } } //USERPAGE UNPROTECT function uunprotect() { var gotagged = 'no'; var gonotagged = 'no'; if (document.title.indexOf("Editing User talk:") != -1) { value = 't'; } if (document.title.indexOf("Editing User:") != -1) { value = 'u'; } var original = document.editform.wpTextbox1.value; var target = document.title.split("Editing ")[1].split(" - ")[0]; jstarget = URLEncoding(target); if (value == 'u') { type = 17; } else if (value == 't') { var reg = prompt('Is this an anon or a registered user (enter *a* or *r*)?'); if (reg == 'a') { type = 19; } else if (reg == 'r') { type = 18; } else { alert("Error: Invalid input. Make sure you are not actually including the asterisk symbols."); return; } } else { alert("Error: Invalid input. Make sure you are not actually including the asterisk symbols."); return; } //Tag search if (document.editform.wpTextbox1.value.split('{{sprotect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{sprotect}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'sprotect'; type = usersemi; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'sprotect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'sprotect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{vprotect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{vprotect}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'vprotect'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'vprotect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'vprotect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{vutprotected}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{vutprotected}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'vutprotected'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'vutprotected'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'vutprotected'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{vprotected}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{vprotected}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'vprotected'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'vprotected'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'vprotected'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{sprotected}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{sprotected}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'sprotected'; type = usersemi; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'sprotected'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'sprotected'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{Usertalk-sprotect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{Usertalk-sprotect}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'Usertalk-sprotect'; type = usersemi; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'Usertalk-sprotect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'Usertalk-sprotect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{usertalk-sprotect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{usertalk-sprotect}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'usertalk-sprotect'; type = usersemi; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'usertalk-sprotect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'usertalk-sprotect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{unblockabuse}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{unblockabuse}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'unblockabuse'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'protect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'protect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{protect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{protect}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'protect'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'protect'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'protect'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{protected}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{protected}}')[0] == '') { if (value == 'u') { gotagged = 'yes'; tagtype = 'protected'; type = userfull; } else if (value == 't') { if (reg == 'a') { gotagged = 'yes'; tagtype = 'protected'; type = anontalk; } else if (reg == 'r') { gotagged = 'yes'; tagtype = 'protected'; type = regtalk; } } } } else if (document.editform.wpTextbox1.value.split('{{moveprotect}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{moveprotect}}')[0] == '') { document.editform.wpSummary.value += 'Unprotected'; document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.split('{{moveprotect}}')[1]; } } else if (document.editform.wpTextbox1.value.split('{{moveprotected}}')[1] != undefined) { if (document.editform.wpTextbox1.value.split('{{moveprotected}}')[0] == '') { document.editform.wpSummary.value += 'Unprotected'; document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.split('{{moveprotected}}')[1]; } } //No tag found...what now? else { var message = "Note: Either there is no recognized protection tag on this page or it is preceded by text. Press OK to continue."; var return_value = confirm(message); //If they click OK if (return_value == true) { if (value == 't') { if (reg == 'a') { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + anontalk + '&jsaction=pdelist&jsaction=' + jstarget, 'WP:PP remove', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); gonotagged = 'yes'; } else if (reg == 'r') { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + regtalk + '&jsaction=pdelist&jsaction=' + jstarget, 'Page unprotect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); gonotagged = 'yes'; } else { alert("An unknown error has occured."); } } if (value == 'u') { var level = prompt("Page no longer semi or fully protected (enter *s* or *f*)?"); if (level == 's') { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + usersemi + '&jsaction=pdelist&jsaction=' + jstarget, 'WP:PP remove', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); gonotagged = 'yes'; } else if (level == 'f') { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + userfull + '&jsaction=pdelist&jsaction=' + target, 'Page unprotect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); gonotagged = 'yes'; } else { alert("Invalid input."); return; } } else if (value != 'u' && value != 't') { alert("An unknown page recognition error has occured."); } } else { document.editform.wpSummary.value += ""; return; } } form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0 ; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } if (gotagged == 'yes') { document.editform.wpSummary.value += 'Unprotected'; var whattag_upper = tagtype.substring(0,1).toUpperCase() + tagtype.substring(1,whattag.length); document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace('{{' + tagtype + '}}',''); document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace('{{' + whattag_upper + '}}',''); var windowpp = window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:List_of_protected_pages&action=edit§ion=' + type + '&jsaction=pdelist&jsaction=' + jstarget, 'WP:PP remove', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); var windowcp = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=unprotect', 'Page unprotect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); } if (gonotagged == 'yes') { var windowcp = window.open('http://en.wikipedia.org/w/index.php?title=' + target.replace(/&/g,"%26") + '&action=protect&jsaction=unprotect', 'Page unprotect', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,fullscreen=yes'); } } // //This function sets the selected values on the Confirm protection page addOnloadHook(auto_protect); function auto_protect() { if (document.title.indexOf('Editing ') ==0) { if (location.href.indexOf('&jsaction=release') !=-1) { if (!document.getElementById('ca-unprotect')){window.close(); return;} unprotect(); } } else if (document.title.indexOf('Confirm protection') ==0) { var auto = '0'; var action = ''; var target = ''; if (location.search) { var l = location.search.substring(1).split('&'); for (var i = 0; i < l.length; ++i) { var eq = l[i].indexOf('='); var name = l[i].substring(0, eq); if (name == 'jsaction') action = l[i].substring(eq + 1); else if (name == 'jstarget') target = unescape(l[i].substring(eq + 1)).replace(/_/g, ' '); else if (name == 'auto') auto = unescape(l[i].substring(eq + 1)).replace(/_/g, ' '); } } var edit = document.getElementById('mwProtect-level-edit'); var move = document.getElementById('mwProtect-level-move'); if (action == 'unprotect') { var reasonbox = document.getElementById('mwProtect-reason'); reasonbox.value = 'Page protected for a while; hopefully protection is no longer necessary.'; if (document.getElementsByTagName('option')[2].selected==true) {reasonbox.value = 'Page locked for a while and dispute seems to have resolved/ended.';} //move (allow,semi,full) move.getElementsByTagName('option')[0].selected=true; move.getElementsByTagName('option')[1].selected=false; move.getElementsByTagName('option')[2].selected=false; //edit (allow,semi,full) edit.getElementsByTagName('option')[0].selected=true; edit.getElementsByTagName('option')[1].selected=false; edit.getElementsByTagName('option')[2].selected=false; } else if (action == 'sprotect') { //move (allow,semi,full) move.getElementsByTagName('option')[0].selected=false; move.getElementsByTagName('option')[1].selected=true; move.getElementsByTagName('option')[2].selected=false; //edit (allow,semi,full) edit.getElementsByTagName('option')[0].selected=false; edit.getElementsByTagName('option')[1].selected=true; edit.getElementsByTagName('option')[2].selected=false; document.getElementById('mwProtect-reason').value = 'Heavy vandalism from multiple sources.'; document.getElementById('expires').value = '5 days'; } if (action == 'fprotect') { //move (allow,semi,full) move.getElementsByTagName('option')[0].selected=false; move.getElementsByTagName('option')[1].selected=false; move.getElementsByTagName('option')[2].selected=true; //edit (allow,semi,full) edit.getElementsByTagName('option')[0].selected=false; edit.getElementsByTagName('option')[1].selected=false; edit.getElementsByTagName('option')[2].selected=true; document.getElementById('mwProtect-reason').value = 'Users engaging in edit warring.'; document.getElementById('expires').value = 'infinite'; } if (auto=='1') {document.getElementsByTagName('form')[0].click();} } } //END //RFPP tabs function rfppp() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|p}} due to [[Wikipedia:Edit war|revert warring]]. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page fully protected"; } function rfpps() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|s}} due to heavy [[vandalism]]. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page semi-protected"; } function rfppm() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|m}} due to excessive renaming. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page move-protected"; } function rfppun() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|u}} It's been protected for long enough. Hopefully things have calmed down since then. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page un-protected"; } function rfppu() { var pro = prompt("A user already protected or un-protected (enter *p* or *u*)?") if (pro == 'p') { value = 'protected'; } else if (pro == 'u') { value = 'un-protected'; } else { alert("Error: Invalid input. Make sure that you are not actually including the aterisk symbols."); return; } var user = prompt("What user?") if (!user){return;} usera = user.replace(/ /g,'_'); var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|d}} Page " + value + "[http://en.wikipedia.org/w/index.php?title=Special:Log/protect&user=" + usera + "] by [[user:" + user + "|" + user + "]]" + ". " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: " + value + " by another Sysop"; } function rfpprus() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|d}} It's still too soon to un-protect since the wave of [[Wikipedia:Vandalism|vandalism]] will likely continue immediately after un-protection. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: un-protection request denied"; } function rfppruf() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|d}} The [[WP:AGF|reasonable]] issues that started the [[Wikipedia:Edit war|revert war]] do not yet seem to have been resolved. It is also too soon to assume that the editors have lost enough interest. Consider adding <no" + "wiki>{{Editprotected}}</nowiki> to the page's talk page to request small modifications, or making a '''significant edit request''' on this page for large edits that are agreed upon. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: un-protection request denied"; } function rfppr() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|d}} There is not enough recent activity to [[Wikipedia:Protection_policy#Uses|justify]] [[Wikipedia:Protection policy|protection]] at this time. For now, be sure to use descriptive [[Wikipedia:Edit summary|edit summaries]] and discuss edits on [[Wikipedia:Talk pages|talk]]. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: protection request denied"; } function rfpprv() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|d}} There is not enough recent activity to [[Wikipedia:Protection_policy#Uses|justify]] [[Wikipedia:Semi-protection_policy|protection]] at this time. Just [[watchlist]] and revert any vandalism. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: protection request denied"; } function rfppb() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|b}} " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: user blocked"; } function rfppbot() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|n}} The page is now monitored for changes by a [[User:VoABot II|bot]]. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page monitored by bot"; } function rfppap() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|ap}} The page is already protected. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page already protected"; } function rfppau() { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +=":{{RFPP|au}} The page is not actually protected. " + "~" + "~" + "~" + "~"; f.wpSummary.value += "Response: page was not protected"; } function URLEncoding(input) { var encodedInputString=escape(input); encodedInputString=encodedInputString.replace(/\+/g, "%2B"); encodedInputString=encodedInputString.replace(/\//g,"%2F"); encodedInputString=encodedInputString.replace(/&/g,"%26"); var outputurl=encodedInputString; return outputurl; } //</nowiki></pre>

