Lompat ke isi

MediaWiki:SubscribeToList.js/BAW.js

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Versi yang bisa dicetak tidak lagi didukung dan mungkin memiliki kesalahan tampilan. Tolong perbarui markah penjelajah Anda dan gunakan fungsi cetak penjelajah yang baku.

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);