মিডিয়াউইকি:Gadget-mark-proofread.js: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
Billinghurst (আলোচনা | অবদান)
<nowiki></nowiki>
Hesperian (আলোচনা | অবদান)
fork and alter
২ নং লাইন:
/*Strike out links to blocked users [[File:MediaWiki:Gadget-mark-proofread.js]]*/
mw.config.set( 'mark-proofread-index-ns', 106 );
 
 
 
var proofreadIndicatorsGadget = {
version: 5,
queue: [],
 
init: function() {
if ( mw.config.get( 'wgNamespaceNumber' ) !== mw.config.get( 'mark-proofread-index-ns', 102 ) || ( mw.config.get( 'wgAction' ) !== 'view' && mw.config.get( 'wgAction' ) !== 'purge' ) ) {
return;
}
if ( mw.config.get( 'wgUserName' ) == null ) {
// Anonymous users are not supported
return;
}
 
// Validated and without text are done
mw.util.$content.find( 'a.quality0, a.quality4' ).addClass( 'ppi-done' );
 
// Problematic and not proofread are to do
mw.util.$content.find( 'a.quality1, a.quality2' ).addClass( 'ppi-todo' );
 
// Proofread needs to be checked
var $tocheck = mw.util.$content.find( 'a.quality3' );
$tocheck.addClass( 'ppi-tocheck' );
this.queue = $tocheck.toArray();
this.fetchRevisions();
},
 
fetchRevisions: function() {
if ( !this.queue.length ) {
return;
}
var link = this.queue.shift();
var title = new String( link.href ).replace( /^(?:https?:)?\/\/[^\/]+\/wiki\//, '' );
 
var request = {
action: 'query',
titles: decodeURIComponent( title ),
prop: 'revisions',
rvlimit: 'max',
rvprop: 'content',
rvuser: mw.config.get( 'wgUserName' ),
format: 'json'
};
 
var that = this;
jQuery.getJSON( mw.util.wikiScript( 'api' ), request, function( result ) {
that.processRevisions( result, link );
} );
},
 
processRevisions: function( result, link ) {
if ( result && result.query && result.query.pages ) {
for ( var pageid in result.query.pages ) {
this.processPage( result.query.pages[pageid], link );
}
}
this.fetchRevisions();
},
 
processPage: function( page, link ) {
if ( page.missing !== undefined ) {
return;
}
 
var modified = false;
 
for ( var revisionid in page.revisions ) {
var revision = page.revisions[revisionid];
if ( revision['*'] ) {
var m = revision['*'].match( / user="([^"]+)" / );
if ( m ) {
if ( m[1] == mw.config.get( 'wgUserName' ) ) {
modified = true;
break;
}
}
}
}
 
jQuery( link ).removeClass( 'ppi-tocheck' ).addClass( modified ? 'ppi-done' : 'ppi-todo' );
}
};
 
jQuery( document ).ready( function() {
proofreadIndicatorsGadget.init();
} );
 
 
 
mw.loader.load('//pl.wikisource.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-mark-proofread.js&smaxage=21600&maxage=86400');
mw.loader.load('//pl.wikisource.org/w/index.php?action=raw&ctype=text/css&title=MediaWiki:Gadget-mark-proofread.css', 'text/css');