Benutzer:DerHexer/catmemberscount.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
( function( mw, $ ) {
	'use strict';
	var api = new mw.Api();

	function countPending( catName, gcmcontinue, number ) {
		number = number || 0;

		var data = {
			action: 'query',
			generator: 'categorymembers',
			gcmtitle: 'Category:' + catName,
			prop: 'flagged',
			gcmlimit: 5000,
			formatversion: 2
		};
		if ( gcmcontinue ) {
			data.gcmcontinue = gcmcontinue;
		}

		api.get( data )
		.done( function( data ) {
			var pages = data.query.pages;
			for ( var page in pages ) {
				if ( pages[page].flagged && pages[page].flagged.pending_since ) {
					number++;
				}
			}
			if ( data.continue ) {
				countPending( catName, data.continue.gcmcontinue, number );
			} else {
				addLink( number );
			}
		} );
	}

	function main() {
		countPending( 'Frau', null, null );
	}

	function addLink( totalNumber ) {
		mw.util.addPortletLink(
			'p-personal',
			'https://tools.wmflabs.org/sighting/deep_out_of_sight.php?language=de&category=frau&depth=1&doit=Los',
			totalNumber,
			't-doos',
			'Deep out of Sight',
			'',
			'#pt-userpage'
		);
	}
 
	if ( mw.config.get( 'wgPageName' ) === 'Benutzerin:IvaBerlin/sk' ) {
		$( main );
	}
} )( mediaWiki, jQuery );