Кулланучы:Tohaomg/asia month template adding.js

Wikipedia — ирекле энциклопедия проектыннан ([http://tt.wikipedia.org.ttcysuttlart1999.aylandirow.tmf.org.ru/wiki/Tohaomg/asia month template adding.js latin yazuında])

Искәрмә: Мөгаен, үзгәрүләрне күрер өчен сезгә үзгәртүләр ясаганнан соң браузерыгызның кэшын чистартырга туры килер.

  • Firefox / Safari: Shift төймәсенә басып торып, кораллар панеленда Яңартырга дигәненә яки Ctrl+F5 яисә Ctrl+R (Macта ⌘+R) дигәненә басыгыз
  • Google Chrome: Ctrl+Shift+R (Macта ⌘+Shift+R) басыгыз
  • Internet Explorer / Edge: Ctrl басып тотып, Яңартырга дигәненә басыгыз, яки Ctrl+F5 басыгыз
  • Opera: басыгыз Ctrl+F5.
(function($, mw) {
mw.loader.load("jquery.chosen");
mw.loader.load("mediawiki.ui.input", "text/css");

if(mw.config.get('wgNamespaceNumber')!==0) {return;}

talkPagePrefixName = 'Бәхәс'
templateName = 'Tatar 4.0-2021'
editSummary = 'Добавлен шаблон {{Tatar 4.0-2021}}'
buttonHelpMessage = 'Добавление шаблона {{Tatar 4.0-2021}}'

function save_page(user_name, wikitext) {
	wikitext = wikitext + '\n\n{{' + templateName + '}}';
	$.ajax({
		url: mw.util.wikiScript('api'),
		type: 'POST',
		dataType: 'json',
		data: {
			format: 'json',
			action: 'edit',
			title: mw.config.get('wgPageName'),
			summary: editSummary,
			token: mw.user.tokens.get('csrfToken'),
			watchlist: "nochange",
			text: wikitext
		}
	}).done(function(data) {
		if (data && data.edit && data.edit.result && data.edit.result == 'Success') {
			console.log('changes to talk page are saved');
		} else {
			console.log('failed to save changes in talk page');
		}
	}).fail(function() {
		console.log('failed to get talk page');
	});
}

var portletLink = mw.util.addPortletLink('p-cactions', '#', templateName, 'pt-cee', buttonHelpMessage);
$(portletLink).click(function(e) {
	e.preventDefault();

	$.ajax({
		url: mw.util.wikiScript('api'),
		type: 'POST',
		dataType: 'json',
		data: {
			format: 'json',
			action: 'query',
			prop: 'revisions',
			titles: mw.config.get('wgPageName'),
			rvprop: 'user',
			rvlimit: 1,
			rvdir: "newer"
		}
	}).done(function(data) {
		try {
			var pageId = Object.keys(data.query.pages)[0];
			user_name = data.query.pages[pageId].revisions[0]['user'];
			console.log('user_name = ' + user_name);

			$.getJSON(mw.util.wikiScript('api'), {
				format: 'json',
				action: 'query',
				prop: 'revisions',
				rvprop: 'content',
				rvlimit: 1,
				titles:  mw.config.get('wgPageName')
			}).done(function(data) {
				try {
					var pageId = Object.keys(data.query.pages)[0];
					wikitext = data.query.pages[pageId].revisions[0]['*'];
					console.log('page already exists');
					save_page(user_name, wikitext);
				} catch (e) {
					console.log('new page needs to be created');
					save_page(user_name, '');
				}
		});
		} catch (e) {
			console.log('failed to get user');
		}
	});
});

}(jQuery, mediaWiki));