মিডিয়াউইকি:Gadget-mark-proofread.js

টীকা: সংরক্ষণ করার পর, পরিবর্তনসমূহ তৎক্ষণাৎ নাও দেখাতে পারে। আপনার ব্রাউজারের ক্যাশ কিভাবে এড়াবেন তা জানতে এখানে ক্লিক করুন।
  • ফায়ারফক্স / সাফারি: Shift ধরে রাখা অবস্থায়পুনঃলোড করুন-এ ক্লিক করুন, অথবা Ctrl-F5 বা Ctrl-R (ম্যাক-এ ⌘-R) চাপুন
  • গুগল ক্রোম: Ctrl-Shift-R (ম্যাক-এ ⌘-Shift-R) চাপুন
  • ইন্টারনেট এক্সপ্লোরার: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 চাপুন
  • অপেরা: মেনু → ব্যবস্থাপনাসমূহ-এ যান (ম্যাকে অপেরা → পছন্দসমূহ) এবং এরপর গোপনীয়তা ও সুরক্ষা → ব্রাউজিং-এর তথ্য পরিষ্কার করুন → ক্যাশে করা ছবি ও ফাইলগুলি

অন্যান্য ব্রাউজার সম্পর্কে বিশদ নির্দেশাবলীর জন্য, উইকিপিডিয়া:আপনার ক্যাশে বাইপাস করুন দেখুন।

//<nowiki>
/*Strike out links to blocked users [[File:MediaWiki:Gadget-mark-proofread.js]]*/
mw.config.set( 'mark-proofread-index-ns', 102 );



var proofreadIndicatorsGadget = {
	version: 5,
	queue: [],

	init: function() {
		if ( mw.config.get( 'wgNamespaceNumber' ) !== mw.config.get( 'mark-proofread-index-ns', 100 ) || ( 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
                // ... but there's no need to flag that
		// COMMENTED OUT: 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' );

                // Redlinks are to do, but there's no need to flag that.

                // 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('//bn.wikisource.org/w/index.php?action=raw&ctype=text/css&title=MediaWiki:Gadget-mark-proofread.css', 'text/css');
//</nowiki>