MediaWiki:SubscribeToList.js/BAW.js

Catatan: Setelah menyimpan, Anda harus memintas tembolok (cache) peramban Anda untuk melihat perubahannya. Google Chrome, Firefox, Microsoft Edge dan Safari: Tahan tombol Shift dan klik Muat ulang (Reload) di tombol bilah alat. Untuk detail dan instruksi tentang peramban lain, lihat halaman menghapus singgahan (Inggris).

function subscribeToList() {
	mw.loader.using("mediawiki.api", function () {
		var api = new mw.Api(),
			username = mw.config.get('wgUserName'),
			pagetitle = mw.config.get('wgPageName'),
			year = (new Date()).getFullYear(),
			appendText = "\n# {{Peserta BAW "+ year +"|" + username + "}}";
		if (username === null) {
			alert("Anda belum masuk log!\nAnda dapat bergabung di Bulan Asia Wikipedia "+ year +" setelah Anda masuk log.");
			return false;
		}
		api.get({
			action: "query",
			meta: "tokens",
			format: "json",
			prop: "revisions",
			rvprop: "content",
			titles: pagetitle
		})
		.done(function (data) {
			var token = data.query.tokens.csrftoken,
				pageid = Object.keys(data.query.pages)[0],
				content = data.query.pages[pageid].revisions[0]['*'];
			$(".subscribeToList").parent().attr("href", "#");
			if (content.indexOf(username) > -1) {
				$(".subscribeToList").hide();
				alert("Anda sebelumnya telah mendaftar di Bulan Asia Wikipedia "+ year +"!");
				return;
			}
			$(".subscribeToList").text("Sedang menambahkan...");
			api.post({
				action: "edit",
				title: pagetitle,
				summary: "Menambahkan pengguna " + username + " ke " + pagetitle,
				// text: content,
				token: token,
				appendtext: appendText
			}).done(function() {
				$(".subscribeToList").hide();
				alert("Terima kasih telah mendaftar di Bulan Asia Wikipedia "+ year +"!");
				window.history.back();
			})
		});
	});
}

$(subscribeToList);