Järjestelmäviesti:Gadget-wikimedia api helpers.js
Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.
- Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
- Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
- Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
- Opera: Paina Ctrl-F5.
/*
Scripti hakee MediaWiki API:lla odottavien muutosten määrän täydentää oldreviewedpages.mallineen sisällön sillä.
Scripti toimii ainoastaan nimiavaruudessa 0.
- https://www.mediawiki.org/wiki/Extension:FlaggedRevs
- https://fi.wikipedia.org/w/api.php?action=help&modules=query%2Boldreviewedpages
*/
if ( mw.config.get( 'wgNamespaceNumber' ) > 0 ) {
function fill_oldreviewedpage_counts() {
$( 'span.oldreviewedpages_count' ).each( function() {
var target_element = $( this ).find( '.oldreviewedpages_value' );
var url = '//fi.wikipedia.org/w/api.php?format=json&action=query&list=oldreviewedpages';
var allowed_params = [
'orcategory', 'orstart', 'orend', 'ordir', 'ormaxsize',
'orfilterwatched', 'orfilterredir', 'orlimit', 'ornamespace'
];
for ( var i = 0; i < allowed_params.length; i++ ) {
var orparam_name = allowed_params[i];
var orparam_value = $( this ).find( '.oldreviewedpages_' + orparam_name ).text().trim();
if ( orparam_value !== '' ) {
url += '&' + orparam_name + '=' + encodeURIComponent( orparam_value.replace( / /g, '_' ) );
}
}
$.getJSON( url, function( data ) {
if ( data && data.query && data.query.oldreviewedpages ) {
var l = data.query.oldreviewedpages.length;
$( target_element ).html( l );
} else {
var error_msg = 'Error: ';
if ( data && data.error && data.error.code ) {
error_msg += data.error.code;
} else {
error_msg += 'unknown';
}
if ( data && data.error && data.error.info ) {
error_msg += '; ' + data.error.info;
}
alert( error_msg );
}
} );
} );
}
function fill_pendingchangesrss_counts() {
$( 'span.pendingchanges_count' ).each( function() {
var target_element = $( this ).find( '.pendingchanges_value' );
var url = '//fi.wikipedia.org/w/index.php?title=Special:PendingChanges&feed=atom';
var allowed_params = [
'category', 'namespace', 'level', 'stable',
'watched', 'size', 'limit'
];
for ( var i = 0; i < allowed_params.length; i++ ) {
var param_name = allowed_params[i];
var param_value= $( this ).find( '.pendingchanges_' + param_name ).text().trim();
if ( param_value !== '' ) {
url += '&' + param_name + '=' + encodeURIComponent( param_value.replace( / /g, '_' ) );
}
}
$.get( url, function( xml ) {
var data = $( xml );
if ( data ) {
var l = data.find( 'entry' ).length;
$( target_element ).html( l );
}
} );
} );
}
function fill_feedrecentchangesrss_counts() {
$( 'span.feedrecentchangesrss_count' ).each(function() {
var target_element = $( this ).find( '.feedrecentchangesrss_value' );
var url = '//fi.wikipedia.org/w/api.php?action=feedrecentchanges&feedformat=atom';
var allowed_params = [
'namespace', 'limit', 'invert', 'associated', 'days', 'from',
'hideminor', 'hidebots', 'hideanons', 'hideliu', 'hidepatrolled',
'hidewikidata', 'hideReviewed', 'hidemyself', 'tagfilter',
'target', 'showlinkedto'
];
for ( var i = 0; i < allowed_params.length; i++ ) {
var param_name = allowed_params[i];
var param_value = $( this ).find( '.feedrecentchangesrss_' + param_name ).text().trim();
if ( param_value !== '' ) {
url += '&' + param_name + '=' + encodeURIComponent( param_value.replace( / /g, '_' ) );
}
}
$.get( url, function( xml ) {
var data = $( xml );
if ( data ) {
var l = data.find( 'entry' ).length;
$( target_element ).html( l );
}
} );
} );
}
jQuery( document ).ready( fill_oldreviewedpage_counts );
jQuery( document ).ready( fill_pendingchangesrss_counts );
jQuery( document ).ready( fill_feedrecentchangesrss_counts );
}