MediaWiki:Wn/bn/Common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
mw.loader.using(["mediawiki.api"]).then(function() {
var language = {
"Wn/bn" :{
"text": "প্রতিস্থাপন",
"develop": "Wn/bn/(উন্নয়ন চলছে|develop)",
"review": "Wn/bn/নিরীক্ষা",
"summary": "Mark as under review"
}
};
var project = mw.config.get("wgWmincTestwikiProject");
var prefix = mw.config.get("wgWmincTestwikiPrefix");
var elements = document.getElementsByClassName("wikidialog-dependent");
var altelements = document.getElementsByClassName("wikidialog-alternative");
var api = new mw.Api();
var langSuppot = {
"text": undefined,
"develop": undefined,
"review": undefined,
"summary": undefined
};
if (project && language[prefix] !== undefined) {
langSuppot.text = language[prefix].text;
langSuppot.develop = language[prefix].develop;
langSuppot.review = language[prefix].review;
langSuppot.summary = language[prefix].summary;
}
function makebutton() {
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = "<input type='button' value='" + langSuppot.text + "'>";
elements[i].onclick = function( e ) {
submitForReview();
};
elements[i].removeAttribute("style");
altelements[i].setAttribute("style", "display:none");
}
}
function submitForReview() {
if (project != "n") {
alert("This script can only be used on Wikinews test wikis.");
return;
}
if (mw.config.get("wgNamespaceNumber") != 0) {
alert("This script can only be used in the Article namespace.");
return;
}
if (langSuppot.text == undefined && window.confirm("No language support for this test wiki. Please contact User:Syunsyunminmin to request additional language support.\r\n\r\nWould you like to continue to Syunsyunminmin's talk page?")) {
window.open("https://incubator.wikimedia.org/wiki/User_talk:Syunsyunminmin");
return;
}
api.get({
"action": "query",
"format": "json",
"prop": "revisions",
"titles": mw.config.get('wgPageName'),
"formatversion": "2",
"rvprop": "content",
"rvslots": "*"
}).done(function(data) {
var content = data.query.pages[0].revisions[0].slots.main.content;
var regExp = new RegExp("^\{\{" + langSuppot.develop.replace("/", "\/") + "\}\}$", "gim");
newcontent = content.replace(regExp, "{{" + langSuppot.review + "}}");
if (newcontent == content) {
if (window.confirm("The develop template was not found.\r\nPlease let Syunsyunminmin know as it may use an unknown redirect template.\r\n\r\nWould you like to continue to Syunsyunminmin's talk page?")) {
window.open("https://incubator.wikimedia.org/wiki/User_talk:Syunsyunminmin");
}
return;
}
api.postWithToken('csrf', {
"action": "edit",
"format": "json",
"title": mw.config.get('wgPageName'),
"formatversion": "2",
"nocreate": 1,
"text": newcontent,
"summary": langSuppot.summary
}).done(function(data) {
if (data.error !== undefined) {
alert("Edit failed!\r\n\r\n\r\n" + data.error.info);
} else {
alert("Edit success");
document.location.reload();
}
});
});
}
makebutton();
});