میڈیاویکی:سانچہ:ویکیپیڈیا زبانیں.js

تفصیل کے لیے کھولیں کے بٹن پر کلک کریں یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔

  • فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
  • گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
  • انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
  • اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں

// Used on [[سانچہ:ویکیپیڈیا زبانیں]] for updating its stats
// Author: [[User:Ebraminio]]

/*global jQuery, mediaWiki*/
(function ($, mw) {
	'use strict';
	function loadPage(title) {
		return new mw.Api().get({
		action: 'query',
		prop: 'revisions',
		titles: title,
		rvprop: 'content',
		format: 'json'
		}).then(function (data) {
			return $.map(data.query.pages, function (value) { return value; })[0].revisions[0]['*'];
		});
	}

	function savePage(title, text, summary) {
		return new mw.Api().post({
			action: 'edit',
			title: title,
			text: text,
			summary: summary,
			nocreate: '',
			minor: '',
			token: mw.user.tokens.get('csrfToken')
		}).then(function (data) {
			if (data.error && data.error.info) {
				mw.notify(data.error.info);
			}
		}, function (data) {
			mw.notify(data);
		});
	}
	
	function loadSavePage(title, editorDelegate, summary) {
		return loadPage(title).then(function (text) {
			return savePage(title, editorDelegate(text), summary);
		});
	}

	$(function () {
		$.ajax({
			dataType: 'jsonp',
			url: '//meta.wikimedia.org/w/api.php',
			data: {
				action: 'query',
				prop: 'revisions',
				titles: 'List of Wikipedias/Table',
				rvprop: 'content',
				format: 'json'
			}
		}).then(function (data) {
			return $.map(data.query.pages, function (value) { return value; })[0].revisions[0]['*'];
		}).then(function (data) {
			return data.match(/\[\[\:([a-z\-]+)\:.*\n.*'''([\d\,]+)'''/g)
				.map(function (x) { return x.replace(/\[\[\:([a-z\-]+)\:.*\n.*'''([\d\,]+)'''/, "$1:$2"); })
				.join('\n').replace(/,/g, '')
				.replace(/(\d+)/mg, function (x, y) { return (Math.floor(parseInt(y) / 50000) * 50000) + '\n'; })
				.match(/^.*:\d{6,}$/mg).join(',');
		}).then(function (data) {
			return loadSavePage("سانچہ:ویکیپیڈیا زبانیں", function (page) {
				return page.replace(/(<!--start-->)[\s\S]+(<!--end-->)/g, '$1' + data + '$2');
			}, "خودکار تجدید شماریات");
		}).then(function () {
			mw.notify('مکمل، ملاحظہ فرمائیں');
			location.href = mw.util.getUrl("سانچہ:ویکیپیڈیا زبانیں");
		});
	});
}(jQuery, mediaWiki));