Wikipedia:WikiProject User scripts/Scripts/CloseAFD.js
From Wikipedia, the free encyclopedia
//
/* <nowiki> * This is a script that helps automate AfD closing by adding closing tabs to AfD debates in edit mode. * * Written by [[User:Technical 13]] based on [[User:Johnleemk]] version of * [[Wikipedia:WikiProject User scripts/Scripts/test-n.js]] by [[User:Celestianpower]] */ function autoafd_disable_wikEd(){ if (typeof(window.wikEd) != 'undefined') { if (window.wikEd.useWikEd == true) { if (wikEd.turnedOn === false) { wikEd.useWikEd = false; window.wikEdUseWikEd = wikEd.useWikEd; wikEd.disabled = true; wikEd.SetLogo('incompatible', 'Wikipedia:WikiProject User scripts/Scripts/CloseAFD'); } else { // interrupt fullscreen mode if (wikEd.fullscreen === true) { wikEd.FullScreen(false); } // turn classic textarea on if (wikEd.useWikEd === true) { wikEd.UpdateTextarea(); } wikEd.SetEditArea(false); // reset textarea dimensions wikEd.textarea.style.height = (wikEd.textareaOffsetHeightInitial - wikEd.frameBorderHeight) + 'px'; wikEd.textarea.style.width = '100%'; wikEd.frameHeight = (wikEd.textareaOffsetHeightInitial - wikEd.frameBorderHeight) + 'px'; wikEd.frameWidth = (wikEd.editorWrapper.clientWidth - wikEd.frameBorderWidth) + 'px'; wikEd.frame.style.height = wikEd.frameHeight; wikEd.frame.style.width = wikEd.frameWidth; wikEd.buttonBarWrapper.style.display = 'none'; wikEd.buttonBarPreview.style.display = 'none'; wikEd.previewArticle.style.display = 'none'; wikEd.previewDiff.style.display = 'none'; wikEd.localPrevWrapper.style.display = 'none'; wikEd.localPrevWrapper.style.height = 'auto'; if (wikEd.buttonBarJump !== null) { wikEd.buttonBarJump.style.display = 'none'; } wikEd.useWikEd = false; window.wikEdUseWikEd = wikEd.useWikEd; wikEd.disabled = true; wikEd.SetLogo('incompatible', 'CloseAFD'); // run scheduled custom functions wikEd.ExecuteHook(wikEd.config.offHook); } } } } function autoafd_result() { autoafd_disable_wikEd(); var closeR = prompt("Result of debate?"); if (closeR != null && closeR != "") { var f = document.editform, t = f.wpTextbox1; t.value = t.value.split('{{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD').join('{{ns:0'); var temp = "{{SUBST:At}} '''" + closeR + "'''."; var closeC = prompt("Optional comment:"); if (closeC != null && closeC != ""){ temp += " " + closeC; } if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ temp += " {{SUBST:Nac}}"; } temp += ' ~~~~\n\n'; if($.inArray("Relisted AfD debates", mw.config.get( 'wgCategories' )) >= 0){ if($.inArray("AfD debates relisted 3 or more times", mw.config.get( 'wgCategories' )) >= 0){ temp += t.value.replace(/\[\[Category:Relisted AfD debates.*?\]\]/gi, "").replace(/\[\[Category:AfD debates relisted 3 or more times.*?\]\]/gi, ""); } else { temp += t.value.replace(/\[\[Category:Relisted AfD debates.*?\]\]/gi, ""); } } else { temp += t.value; } if (t.value.length > 0) { temp += '\n'; } t.value = temp + "{{SUBST:Ab}}"; f.wpSummary.value = "Closing debate; result was " + closeR; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } else { if(confirm("You forgot to type in a result!\n\n\tClick 'OK' to try again or 'Cancel' to quit.\n")){ autoafd_result(); } } } function autoafd_relist() { autoafd_disable_wikEd(); var relistCount = 0; if($.inArray("Relisted AfD debates", mw.config.get( 'wgCategories' )) >= 0){ relistCount = $('.xfd_relist').length; relistCountL = $('#wpTextbox1').html().match(/(<!-- from Template:Relist -->)/gi).length;//backwards compatibility if(relistCount < relistCountL){relistCount = relistCountL;} } var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) { t.value += '\n'; } t.value += "{{SUBST:Relist" if(relistCount >= 2){ t.value += "|1="; var relistReason = prompt("This discussion has already been relisted " + relistCount + " times.\n\nPlease give a reason for relisting again per:\n\thttps://en.wikipedia.org/wiki/Wikipedia:Deletion_process#Relisting_discussions\n"); if(relistReason == null || relistReason === ""){ relistReason = "No [[WP:RELIST|reason]] given for relist #" + (relistCount+1) + "."; } t.value += relistReason; } t.value += "|3=" + (relistCount+1) + "}}"; t.scrollTop = t.scrollHeight;location.href = "#editform"; f.wpSummary.value = "Relist #" + (relistCount+1) + " for this debate."; if(relistCount >= 2){ f.wpSummary.value += " (" + relistReason + ")"; } } function autoafd_keep() { autoafd_disable_wikEd(); var date = prompt("Nomination was made when?"); if (date != null && date != "") { var votepage = prompt("Vote page is? (Enter 'd' for default.)", "d"); if (votepage != null && votepage != "") { var f = document.editform, t = f.wpTextbox1; // If default votepage... if (votepage=="d") { var temp = document.editform.action.split("/w/index.php?title="); temp = temp[1].split("&action=submit"); temp = temp[0].substring(5); votepage = temp; } t.value = "{{Oldafdfull|date=" + date + "|votepage=" + votepage + '}}\n\n' + t.value; f.wpSummary.value = "Article survived AfD"; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } } } function autoafd_no_consensus() { autoafd_disable_wikEd(); var date = prompt("Nomination was made when?"); if (date != null && date != "") { var votepage = prompt("Vote page is? (Enter 'd' for default.)", "d") if (votepage != null && votepage != "") { var f = document.editform, t = f.wpTextbox1; // If default votepage... if (votepage=="d") { var temp = document.editform.action.split("/w/index.php?title="); temp = temp[1].split("&action=submit"); temp = temp[0].substring(5); votepage = temp; } t.value = "{{Oldafdfull|date=" + date + "|result='''no consensus'''|votepage=" + votepage + '}}\n\n' + t.value; f.wpSummary.value = "Article survived AfD with no consensus"; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } } } function autoafd_redirect() { autoafd_disable_wikEd(); var date = prompt("Nomination was made when?"); if (date != null && date != "") { var redirect = prompt("Redirect to?"); if (redirect != null && redirect != "") { var votepage = prompt("Vote page is? (Enter 'd' for default.)", "d"); if (votepage != null && votepage != "") { var f = document.editform, t = f.wpTextbox1; // If default votepage... if (votepage=="d") { var temp = document.editform.action.split("/w/index.php?title="); temp = temp[1].split("&action=submit"); temp = temp[0].substring(5); votepage = temp; } t.value = "{{Oldafdfull|date=" + date + "|result='''redirect to [[" + redirect + "]]'''|votepage=" + votepage + '}}\n\n' + t.value; f.wpSummary.value = "Article redirected to [[" + redirect + "]] as per AfD"; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } } } } function autoafd_merge() { autoafd_disable_wikEd(); var date = prompt("Nomination was made when?"); if (date != null && date != "") { var redirect = prompt("Merge and redirect to?"); if (redirect != null && redirect != "") { var votepage = prompt("Vote page is? (Enter 'd' for default.)", "d"); if (redirect != null && redirect != "") { var f = document.editform, t = f.wpTextbox1; // If default votepage... if (votepage=="d") { var temp = document.editform.action.split("/w/index.php?title="); temp = temp[1].split("&action=submit"); temp = temp[0].substring(5); votepage = temp; } t.value = "{{Oldafdfull|date=" + date + "|result='''merge and redirect to [[" + redirect + "]]'''|votepage=" + votepage + '}}\n\n' + t.value; f.wpSummary.value = "Article merged and redirected to [[" + redirect + "]] as per AfD"; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } } } } function autoafd_other() { autoafd_disable_wikEd(); var date = prompt("Nomination was made when?"); if (date != null && date != "") { var result = prompt("Result was?"); if (result != null && result != "") { var votepage = prompt("Vote page is? (Enter 'd' for default.)", "d"); if (votepage != null && votepage != "") { var f = document.editform, t = f.wpTextbox1; // If default votepage... if (votepage=="d") { var temp = document.editform.action.split("/w/index.php?title="); temp = temp[1].split("&action=submit"); temp = temp[0].substring(5); votepage = temp; } t.value = "{{Oldafdfull|date=" + date + "|result='''" + result + "'''|votepage=" + votepage + '}}\n\n' + t.value; f.wpSummary.value = "AfDed; result was " + result; if ($.inArray("sysop", mw.config.get( 'wgUserGroups' )) === -1){ f.wpSummary.value += " ([[WP:NADC|non-admin closure]])"; } $('#wpPreview').click(); } } } } function autoafd_add_portlet(func, display) { var portletLink = mw.util.addPortletLink('p-cactions', '#', display); $(portletLink).click(function (e) { e.preventDefault(); func(); }); } function autoafd_add_afd_tabs() { // Only add for pages with the right string somewhere in the title if (document.title.indexOf("Editing Wikipedia:Articles for deletion/") != -1) { autoafd_add_portlet(autoafd_result, "close"); autoafd_add_portlet(autoafd_relist, "relist"); } if (document.title.indexOf("Editing Talk:") != -1 || document.title.indexOf("Creating Talk:") != -1) { autoafd_add_portlet(autoafd_keep, "keep"); autoafd_add_portlet(autoafd_no_consensus, "no consensus"); autoafd_add_portlet(autoafd_redirect, "redirect"); autoafd_add_portlet(autoafd_merge, "merge"); autoafd_add_portlet(autoafd_other, "other"); } } $(autoafd_add_afd_tabs); //end AfD closing script //</nowiki>