Utilisateur:AB Louis/UserPatrol.js
Aller à la navigation
Aller à la recherche
Note : après avoir enregistré tes préférences, tu devras forcer le rechargement complet du cache de ton navigateur pour voir les changements. Mozilla Firefox / Safari : maintiens la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant sur le bouton Actualiser ou presse Ctrl-F5.
// This script adds a tab which allows a mass patrolling the edits of an user.
var totalRevisions;
var treatedRevisions = 0;
if (mw.config.get('wgNamespaceNumber') == 2) {
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', 'mediawiki.notify', 'oojs-ui' ], function() {
mw.util.addPortletLink( 'p-cactions', 'javascript:markAllAsPatrolled()', 'User patrol', 'ca-userpatrol' );
mw.util.addPortletLink( 'p-views', 'javascript:markAllAsPatrolled()', 'User patrol', 'ca-usermartpatrol2', 'Tout marquer comme relue', '', 'ca-history' );
} );
}
function markAllAsPatrolled() {
new OO.ui.confirm('Êtes-vous sûr de vouloir marquer comme relues toutes les modifications de cet utilisateur ?').then( function( response ) {
if ( response === true ) {
Verifrights();
}
} );
}
function Verifrights() {
if ('autopatrolled' in wgUserGroups ){
mw.notification.notify( 'Cet utilisateur a déjà ses modifications automatiquement relues ' + error, { title: 'User Patrol', type: 'error' } );
}
GetRevisionList();
}
function GetRevisionList() {
var api = new mw.Api();
api.get( {
'action': 'query',
'format': 'json',
'prop': 'revisions',
'titles': mw.config.get( 'wgusercontribs' ),
'formatversion': '2',
'rvprop': 'ids|user',
'rvlimit': 'max'
} ).then( function ( data ) {
//var revisions = data.query.pages[ 0 ].revisions;
//var user = revisions[ 0 ].user;
//totalRevisions = revisions.length;
// revisions.forEach( function ( revision ) {
// treatedRevisions++;
//if ( user === revision.user ) {
// markRevAsPatrolled( revision.revid );
//}
} );
//} ).fail( function ( error ) {
mw.notification.notify( 'Something went wrong: ' + error, { title: 'User Patrol', type: 'error' } );
//} );
}
function markRevAsPatrolled( revid ) {
var api = new mw.Api();
api.postWithToken( 'patrol', {
'action': 'patrol',
'revid': revid
} ).then( function ( info ) {
console.log( 'Success for ' + revid, { title: 'User Patrol', type: 'info' } );
if ( totalRevisions == treatedRevisions ) { window.location.reload(); }
} ).fail( function ( error ) {
console.log( 'Something went wrong: ' + error, { title: 'User Patrol', type: 'error' } );
} );
}