// The Articles for Creation Helper
// v1.4.1
//
// Originally written by [[User:Henrik]] at http://en.wikipedia.org/wiki/User:Henrik/js/afc-helper.js
// Revised by [[User:The Earwig]] and [[User:MindstormsKid]].
// *** DOCUMENTATION: please read; includes installation instructions: *** http://en.wikipedia.org/wiki/User_talk:The_Earwig/afc-helper.js
// See http://en.wikipedia.org/wiki/Wikipedia:Articles_for_creation
//
// <nowiki>
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:Henrik/js/automod.js&action=raw&ctype=text/javascript");
importScript("User:MindstormsKid/terabox.js");
afch_accepts = {
accept: "accepted",
change: "accepted at with a different title or target",
reason: "accepted with custom reason"
};
afch_declines = {
exists: "already exists",
blank: "blank request",
notarget: "target article does not exist, or was not specified",
unlikely: "unlikely search term, or source needed",
reason: "custom reason"
};
afch_comments = { comment: "adding a comment" };
function afc_helper() {
var requests = jQuery(".mw-headline").filter(function(){ return this.childNodes[0].nodeValue == "Redirect request: " && !/\/wiki\//.test(this.childNodes[1].href); });
requests.each(function(){
var edit = jQuery(this).prev();
jQuery.each(afch_accepts, function(k, v){ edit.append('[<a href="#" style="background-color: #A0FFA0;" class="afch_accepts">' + k + '</a>]'); });
jQuery.each(afch_declines, function(k, v){ edit.append('[<a href="#" style="background-color: #ffcece;" class="afch_declines">' + k + '</a>]'); });
jQuery.each(afch_comments, function(k, v){ edit.append('[<a href="#" style="background-color: #ffec83;" class="afch_comments">' + k + '</a>]'); });
});
jQuery(".afch_accepts").click(function(){
var that = this;
jQuery.terabox('<form id="afch_form">' +
'<b>Please select a redirect template to use:</b><br/>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+from+alternate+name%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_from_alternative_name" target="_blank">R from alternative name</a>}}<br>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+from+alternative+language%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_from_alternative_language" target="_blank">R from alternative language</a>}}<br>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+from+alternative+spelling%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_from_alternative_spelling" target="_blank">R from alternative spelling</a>}}<br>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+to+section%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_to_section" target="_blank">R to section</a>}}<br>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+to+disambiguation+page%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_to_disambiguation_page" target="_blank">R to disambiguation page</a>}}<br>' +
'<input type="radio" name="afch_rg" value="%7B%7BR+from+title+with+diacratics%7D%7D"> {{<a href="//en.wikipedia.org/wiki/Template:R_from_title_with_diacratics" target="_blank">R from title with diacritics</a>}}<br>' +
'<input type="radio" name="afch_rg" value="other"> Custom: <input type="text"><br>' +
'<input type="radio" name="afch_rg" value="" checked> None<br>' +
'<input type="submit" value="Submit">' +
'</form>');
jQuery("#afch_form").submit(function(){
var radio = jQuery(":radio:checked", this);
if (radio.val() == "other") {
radio.val(jQuery(":text", this).val());
}
afc_vote(that.parentNode.nextSibling.nextSibling, that.innerHTML, afch_accepts[that.innerHTML], "accept", radio.val());
return false;
});
return false;
});
jQuery(".afch_declines").click(function(){
afc_vote(this.parentNode.nextSibling.nextSibling, this.innerHTML, "decline - " + afch_declines[this.innerHTML], "");
return false;
});
jQuery(".afch_comments").click(function(){
afc_vote(this.parentNode.nextSibling.nextSibling, this.innerHTML, afch_comments[this.innerHTML], "comment");
return false;
});
}
function afc_vote(title, type, reason, action, redirType) {
var comments, type2 = type, edit_link = title.parentNode.childNodes[0].childNodes[1].href, topMethod, redirType;
var redirOrigin = title.childNodes[1].innerHTML, redirTarget = title.parentNode.nextSibling.nextSibling.childNodes[1];
if (redirTarget) { redirTarget = redirTarget.innerHTML; }
if (type == "comment") { type2 = window.prompt("Comment:"); }
if (type == "reason" && action == "accept") {
comments = window.prompt("Reason for accepting:");
type2 = "accept|" + comments;
}
if (type == "change") {
type2 = window.prompt("Please specify the name of the redirect page.");
redirOrigin = type2;
redirTarget = window.prompt("Please specify the name of the page that the redirect points to.");
}
if (type == "accept") {
type2 = "";
}
if (type == "reason" && action == "") {
comments = window.prompt("Reason for declining:");
type2 = "decline|" + comments;
}
if (action == "accept" && (!redirOrigin || !redirTarget)) { return; }
if (action == "comment" && !type2) { return; }
if (action == "" && type == "reason" && !comments) { return; }
if (action == "accept") {
topMethod = "a";
} else if (action == "") {
topMethod = "d";
}
if (action != "comment") {
var url = edit_link
+ '&amfind=' + escape("==(.*)==")
+ '&amreplace=' + escape('$0\n{{AfC-c|' + topMethod + '}}')
+ '&amlocal=1'
+ '&amaddafter=' + escape("\n{{subst:afc redirect|" + type2 + "}} ~~" + "~~\n" + "{{subst:afc b}}")
+ '&amsummary=' + escape(reason)
+ '&amautosave=yes';
} else {
var url = edit_link
+ '&amfind=' + escape("==(.*)==")
+ '&amreplace=' + escape('$0')
+ '&amlocal=1'
+ '&amaddafter=' + escape("\n:{{afc comment|1=" + type2 + "}} ~~" + "~~")
+ '&amsummary=' + escape(reason)
+ '&amautosave=yes';
}
if (action == "accept") {
var url2 = "//en.wikipedia.org/w/index.php?title=" + escape(redirOrigin)
+ "&action=edit&amsummary=Created+via+%5B%5BWP:AFC%7CArticles+for+Creation%5D%5D.+%5B%5BWP:AFC%2FR%7CYou+can+help%21%5D%5D&amfind=.*&amlocal=1&amreplace=%23REDIRECT+%5B%5B"
+ escape(redirTarget) + "%5D%5D+" + redirType + "&amautosave=yes";
var url3 = "//en.wikipedia.org/w/index.php?title=Talk:" + escape(redirOrigin)
+ "&action=edit&amsummary=%7B%7Bsubst%3AWPAFC%2Fredirect%7D%7D&amfind=.*&amlocal=1&amreplace=%7B%7Bsubst%3AWPAFC%2Fredirect%7D%7D&amautosave=yes";
window.open(url2, "afd_helper_vote2");
window.open(url3, "afd_helper_vote3");
}
window.location.href = url;
}
$(document).ready(afc_helper);
// </nowiki>