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.