Участник:Neolexx/review.js

16-10-2023

Перейти к: навигация, поиск
var Nx_API = 'https://ru.wikipedia.org/w/api.php';

var Nx_Token = '';

if (
		mw.config.get('wgPageContentLanguage') == 'ru' &&
		mw.config.get('wgAction') == 'view' &&
    	mw.config.get('wgNamespaceNumber') == 0 &&
    	mw.config.get('wgTitle') != 'Заглавная страница'
	) {
		mw.util.addPortletLink( 'p-cactions',
			'javascript:void(Nx_Review(1, true))', 'Review (approve)'
		);
		mw.util.addPortletLink('p-cactions',
			'javascript:void(Nx_Review(0, false))', 'Unreview (unapprove) 0'
		);
		mw.util.addPortletLink('p-cactions',
			'javascript:void(Nx_Review(1, false))', 'Unreview (unapprove) 1'
		);
}



function Nx_Review(lvl, ok) {
	jQuery.get( Nx_API,
		{
			'format' : 'json',
			'action' : 'query',
			'meta' : 'tokens',
			'type' : 'csrf'
		},
		function(data) {
			Nx_Token = data.query.tokens.csrftoken;
		}
	)
	.done(function() {
		var cmm = window.prompt('Review comment:','');
		var que = {
			'action' : 'review',
			'revid' : mw.config.get('wgRevisionId'),
			'flag_accuracy' : lvl,
			'token': Nx_Token
		};
		if ( !!cmm ) {
			que.comment = cmm;
		}
		if ( !ok ) {
			que.unapprove = '';
		}
		jQuery.post( Nx_API, que,
		function() {
			/*NOP*/
		})
 		.done(function() {
 			var err = arguments[2].getResponseHeader('mediawiki-api-error');
 			if ( !err ) {
 				window.alert( 'Success' );
 			}
 			else {
 				window.alert( 'MediaWiki API Error:\n\n'.concat(err, '\n') );
 			}
 			location.reload();
		})
		.fail(function() {
			alert( 'Error' );
		})
		.always(function() {
			/*NOP*/
		});
	});
}

Участник:Neolexx/review.js.

© 2011–2023 stamp-i-k.ru, Россия, Барнаул, ул. Анатолия 32, +7 (3852) 15-49-47