Gebruiker:Rots61/Gadget-LinkTeller.js

Uit Wikikids
Naar navigatie springen Naar zoeken springen

Let op! Nadat je de veranderingen hebt opgeslagen, moet je de cache van je browser nog legen om ze daadwerkelijk te zien.

Mozilla (incl. Firefox) ctrl-shift-r
IE ctrl-f5
Opera f5
Safari cmd-r
Konqueror f5
/**
 * CountPages.JS
 *
 * Made by [[User:Rots61]] 
**/
/**
 * LinkTeller.JS
 * Features: [[WikiKids:LinkTeller]]
 * Made by [[User:Rots61]] 
**/

// Create variables
var api = new mw.Api();

function startAP() {

// Get the number of articles 
getPageCountAP().then( function (ECarticlecount) { // The new page count we got will be passed here.
    document.getElementById("ooui-php-9").innerHTML += 
        "<p>Er zijn " + ECarticlecount + " pagina's die aan deze voorwaarden voldoen.</p>"; 
} );
}

function getPageCountAP( apiContinue ) {    
    return api.get( {
        action: "query",
        list: "allpages",
        apfrom: urlfrom ? urlfrom : undefined,
        aplimit: "5000",
        apto: urlto ? urlto : undefined,
        apnamespace: urlns ? urlns : undefined,
        apfilterredir: urlredirect ? "nonredirects" : "all",
        apcontinue: apiContinue ? apiContinue.apcontinue : undefined
    } ).then( function (data) {
        if ( data.continue ) {
            return getPageCountAP( data.continue )
                .then( function ( addedLength ) { 
                    return addedLength + data.query.allpages.length;
                } );
        } else {
            return data.query.allpages.length;
        }
    } );
}

if(mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "AllePaginas" || mw.config.get('wgTitle') === "Allepaginas")
) {
var queryString = window.location.search;
var urlParams = new URLSearchParams(queryString);
var urlfrom = urlParams.get('from');
var urlto = urlParams.get('to');
var urlns = urlParams.get('namespace');
var urlredirect = urlParams.get('hideredirects');
$.when( $.ready, mw.loader.using(['mediawiki.util'])).done( startAP());
}


function showLT() {
	mw.util.$content.append( '<br><button onclick="startLT()">Aantal links: </button> <span id="Gadget-LinkTeller"></span>' );
}

function startLT() {
// Get the number of links 
var temp;
getPageCountLT().then( function (linkcount) { // The page count we got will be passed here.
    document.getElementById("Gadget-LinkTeller").innerHTML = linkcount; } );
}

function getPageCountLT( apiContinue ) {    
    return api.get( {
        action: "query",
        prop: "links",
        titles: mw.config.get('wgPageName'), 
        pllimit: "5000",
    } ).then( function (data) {
            temp = data.query.pages;
            temp = temp[mw.config.get('wgArticleId')];
            if (typeof temp.links !== 'undefined') {
            	return temp.links.length;
            } else { 
            	return 0;
            }
    } );
}

if (mw.config.get('wgArticleId') > 1 ) { 
	$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( setTimeout(showLT, 1000));
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:Rots61/Gadget-LinkTeller.js&oldid=752836"