Gebruiker:Rots61/Gadget-LinkTeller.js
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]]
**/
var api;
function startAP() {
api = new mw.Api();
// 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 urlfrom = mw.util.getParamValue( 'from' );
var urlto = mw.util.getParamValue( 'to' );
var urlns = mw.util.getParamValue( 'namespace' );
var urlredirect = mw.util.getParamValue( 'hideredirects' );
$.when( $.ready, mw.loader.using(['mediawiki.util'])).done( startAP());
}
function showLT() {
document.getElementById("mw-panel").innerHTML +='<br> <button onclick="startLT()">Aantal links:</button> <span id="Gadget-LinkTeller"></span>'}
function startLT() {
api = new mw.Api();
// 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( showLT);
}