Content deleted Content added
MusikAnimal (talk | contribs) +ECP |
MusikAnimal (talk | contribs) make compatible with interfaces in non-English languages |
||
Line 2:
(function() {
var responses = {}, inline = false, indentation = ":", templateName = "", defaultPrompt = "", anew = false, unresolved;
// show shortcuts if not editing
if (!mw.config.get('wgEditMessage')) {
mw.util.addPortletLink('p-navigation', mw.config.get( 'wgServer' ) + '/wiki/Wikipedia:Administrator intervention against vandalism', "WP:AIV");
mw.util.addPortletLink('p-navigation', mw.config.get( 'wgServer' ) + '/wiki/Wikipedia:Administrators%27 noticeboard/Edit warring', "WP:ANEW");
mw.util.addPortletLink('p-navigation', mw.config.get( 'wgServer' ) + '/wiki/Wikipedia:Requests for permissions', "WP:PERM");
mw.util.addPortletLink('p-navigation', mw.config.get( 'wgServer' ) + '/wiki/Wikipedia:Requests for page protection', "WP:RFPP");
mw.util.addPortletLink('p-navigation', mw.config.get( 'wgServer' ) + '/wiki/Wikipedia:Usernames for administrator attention', "WP:UAA");
return;
}
if (/Wikipedia:Administrator_intervention_against_vandalism/.test(mw.config.get('wgPageName'))) {
indentation = "::";
templateName = "AIV";
Line 359 ⟶ 133:
}
};
} else if (/Wikipedia:Usernames_for_administrator_attention/.test(mw.config.get('wgPageName'))) {
indentation = "::";
templateName = "UAA";
Line 438 ⟶ 140:
responses = {
"Note" : {
},
"Question" : {
},
"Comment" : {
},
"Wait" : {
},
"Monitor" : {
},
"Being discussed" : {
},
"Discussed, const. edits" : {
},
"AfC-only edits" : {
},
"Requested change" : {
},
"Changed username" : {
},
"Problem" : {
},
"Stale" : {
},
"Not violation" : {
},
"Not vio, real name" : {
},
"Not vio, watch edits" : {
},
"Not voi, COI" : {
},
"Not vio, RFCN" : {
},
"False positive" : {
}
};
} else if (mw.config.get('wgEditMessage') === 'editingsection') {
if (/Wikipedia:Requests_for_permissions\/(?!Rollback|Confirmed)/.test(mw.config.get('wgPageName'))) {
// base responses for permission pages
indentation = "::";
templateName = "";
defaultPrompt = "Reason?";
responses = {
"Done" : {
code : "done",
summary : "done"
},
"Not done" : {
code : "not done",
summary : "Not done. ",
prompt : "Reason?"
},
"Comment" : {
code : "comment",
summary : "Comment. ",
prompt : "Comment:"
},
"Admin note" : {
code : "administrator note",
summary : "Admin note. ",
prompt : "Administrator note:"
}
};
} else switch (mw.config.get('wgPageName')) {
case 'Wikipedia:Requests_for_permissions/Rollback':
indentation = "::";
templateName = "subst:RFPR";
defaultPrompt = "Admin's name?";
responses = {
"Done" : {
code : "d",
summary : "done"
},
"Already done" : {
code : "ad|X",
summary : "already done "
},
"Not done" : {
code : "nd",
summary : "not done ",
prompt : "Reason?"
},
"Not done (exp)" : {
code : "exp|X",
summary : "not done: mainspace edit count too low ",
prompt : "Number of mainspace edits?"
},
"Not done (rvw)" : {
code : "rvw",
summary : "not done: recently requested pending changes reviewer"
},
"Not done (nrb)" : {
code : "nrb",
summary : "not done: not what rollback is for"
}
};
break;
case 'Wikipedia:Requests_for_permissions/Confirmed':
indentation = "::";
templateName = "subst:RFPC";
responses = {
"Done" : {
code : "d",
summary : "done"
},
"Already done" : {
code : "ad",
summary : "already done",
id : "adc"
},
"Not done" : {
code : "nd",
summary : "not done ",
prompt : "Reason?"
},
"Not done (95%)" : {
code : "nd95",
summary : "not done: please wait, 95% of articles are unprotected"
},
"Not done (file)" : {
code : "ndf",
summary : "not done: you should upload to commons or request at [[WP:FFU]]"
},
"Not done (promoblock)" : {
code : "ndpromou",
summary : "not done: blocked for having a promotional username"
},
"Not done (no reply)" : {
code : "ndnr",
summary : "not done: no response to inquiry"
},
"Not done (per above)" : {
code : "ndpa",
summary : "not done: as explained by others"
},
"Not done (IP)" : {
code : "ip",
summary : "not done: anonymous users cannot be granted additional rights"
},
"Question - why?" : {
code : "why",
summary : "question: why do you think you are not confirmed?"
}
};
break;
case 'Wikipedia:Requests_for_page_protection':
templateName = "RFPP";
defaultPrompt = "Duration?";
responses = {
"Checking" : {
code : "ch",
summary : "checking"
},
"Semi-protected" : {
code : "s|X",
summary : "semi-protected "
},
"Pending protected" : {
code : "pd|X",
summary : "pending-changes protected "
},
"Fully protected" : {
code : "p|X",
summary : "fully protected "
},
"Move protected" : {
code : "m|X",
summary : "move protected "
},
"Creation protected" : {
code : "t|X",
summary : "creation protected "
},
"Template protected" : {
code : "tp|X",
summary : "template protected "
},
"EC protected" : {
code : "ec|X",
summary : "extended confirmed protected "
},
"Done" : {
code : "do",
summary : "done"
},
"Not done" : {
code : "no",
summary : "not done"
},
"Declined" : {
code : "d",
summary : "Declined. ",
prompt : "Reason?"
},
"Declined nea" : {
code : "nea",
summary : "declined – not enough recent disruptive activity"
},
"Declined aiv" : {
code : "aiv",
summary : "declined – warn user and report to AIV"
},
"Declined np" : {
code : "np",
summary : "declined – pages are not protected preemptively"
},
"Declined nhr" : {
code : "nhr",
summary : "declined – not a high-risk template"
},
"Declined dr" : {
code : "dr",
summary : "declined – consider dispute resolution"
},
"Declined ut" : {
code : "ut",
summary : "declined – user talk pages not subject to severe vandalism"
},
"Declined her" : {
code : "her",
summary : "declined – edit rate too high for pending changes"
},
"Users blocked" : {
code : "b",
summary : "user(s) blocked"
},
"Users reblocked" : {
code : "tb",
summary : "user(s) re-blocked with talk page editing disallowed"
},
"Unprotected" : {
code : "u",
summary : "unprotected"
},
"Not unprotected" : {
code : "nu",
summary : "not unprotected"
},
"Already unprot'd" : {
code : "au|X",
summary : "already unprotected ",
prompt : "Admin's name?"
},
"Already prot'd" : {
code : "ap|X",
summary : "already protected ",
prompt : "Admin's name?"
},
"Already done" : {
code : "ad|X",
summary : "already done",
prompt : "Admin's name?"
},
"Question" : {
code : "q",
summary : "question ",
prompt : "Question:"
},
"Note" : {
code : "n",
summary : "note ",
prompt : "Note:"
},
"Archive" : {
code : "ar",
summary : "request immediate archiving"
},
"Withdrawn" : {
code : "w",
summary : "withdrawn by requestor"
},
"Edit warring" : {
code : "ew",
summary : "consider the edit warring noticeboard"
}
};
break;
case "Wikipedia:Administrators'_noticeboard/Edit_warring":
anew = true;
indentation = "*";
templateName = "AN3";
defaultPrompt = "Duration?";
responses = {
"Blocked" : {
code : "b|X",
summary : "blocked "
},
"Nom. blocked" : {
code : "nb|X",
summary : "nominator blocked "
},
"Both blocked" : {
code : "bb|X",
summary : "both blocked "
},
"Already blocked" : {
code : "ab",
summary : "already blocked"
},
"No violation" : {
code : "nv",
summary : "no violation"
},
"No 3RR vio" : {
code : "nve",
summary : "three-revert rule not applicable"
},
"Stale" : {
code : "s",
summary : "stale"
},
"Declined" : {
code : "d",
summary : "declined ",
prompt : "Reason?"
},
"Malformed report" : {
code : "mr",
summary : "declined – malformed report"
},
"Not blocked" : {
code : "not",
summary : "not blocked"
},
"Page protected" : {
code : "p",
summary : "page protected"
},
"Page prot'd dr" : {
code : "pe",
summary : "page protected – consider dispute resolution"
},
"Warned" : {
code : "w",
summary : "warned user(s)"
},
"Note" : {
code : "n",
summary : "Note. ",
prompt : "Note:",
unresolved : true
},
"Comment" : {
code : "c",
summary : "Comment. ",
prompt : "Comment:",
unresolved : true
}
};
break;
}
}
var respondFn = function (e) {
var response = e.data.response;
var code = response.code, comment = "", value = "";
if (code.indexOf("|X") !== -1) {
value = prompt((response.prompt ? response.prompt : defaultPrompt) + " (optional, hit OK to omit)");
if (value === null) return false;
code = code.slice(0,(value.length ? -1 : -2)) + value;
} else if (response.prompt) {
value = prompt(response.prompt + " (optional, hit OK to omit)");
if (value === null) return false;
if (value.length) comment = " " + value;
}
var $textarea = $("#wpTextbox1");
var currentText = $textarea.val();
var responseStr = indentation + "{{" + (templateName ? templateName + "|" : "") + code + "}}" + comment + " ~~~~";
if (inline) {
var caretPos = $textarea[0].selectionStart;
$textarea.val(currentText.substring(0, caretPos) + responseStr + currentText.substring(caretPos));
Line 545 ⟶ 556:
$textarea.val(currentText + responseStr);
}
if (anew && !unresolved) {
var textArray = $textarea.val().split("\n");
$textarea.val(
Line 553 ⟶ 564:
);
}
$("#wpSummary").val($("#wpSummary").val() + (response.summary + value).trim() + " (using [[User:MusikAnimal/responseHelper|responseHelper]])");
};
for (var response in responses) {
var id = responses[response].id || responses[response].code.replace(/\W/g, '');
mw.util.addPortletLink('p-navigation', 'javascript:', "(" + response + ")", "rh-" + id, responses[response].summary);
$("#rh-"+id).click({
}, respondFn);
}
|