Gebruiker:Demoor/interwiki.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(Nieuwe pagina: /** * * INTERWIKI-SCRIPT * * Dit script moet gaan detecteren of er een pagina/interwiki bestaat naar/in een andere taal * De gebruiker krijgt een scherm waarmee hij/zij de bewerk...) |
k (Gebruiker:Sumurai8/interwiki.js is verplaatst naar Gebruiker:Demoor/interwiki.js: misschien nog bruikbaar met bronvermelding) |
||
(3 tussenliggende versies door een andere gebruiker niet weergegeven) | |||
Regel 28: | Regel 28: | ||
** Grundschulwiki (duits) doet erg moeilijk en heeft ook geen interwiki's | ** Grundschulwiki (duits) doet erg moeilijk en heeft ook geen interwiki's | ||
* | * | ||
− | * | + | * 0. Maak een array dat... ['en']['es']['fr']['wikimini']['nl']['simple'] bevat |
− | * | + | * 1. Vul in met gegevens van WikiKids |
− | * | + | * 2. Als (één van) ['es']['fr'] bestaat, zoek dan op interwiki's daar |
− | * | + | * 2a. Verwijder als ze niet bestaan :| |
− | * | + | * 2b. Vul ontbrekende in mbv Wikipedia-nl |
− | * | + | * 3. Check of ze bestaan, anders weer verwijderen... |
− | * | + | * 4. Prompt output |
* | * | ||
**/ | **/ | ||
Regel 53: | Regel 53: | ||
//Nu kunnen we de checks gaan doen... | //Nu kunnen we de checks gaan doen... | ||
+ | |||
+ | iwApi.open('GET', wgScriptPath + '/api.php?action=query&prop=langlinks&titles=' | ||
+ | + encodeURIComponent(wgPageName) | ||
+ | + '&lllimit=500&format=json&indexpageids', true); | ||
+ | iwApi.onreadystatechange = iwStepOne; | ||
+ | iwApi.send(null); | ||
+ | |||
+ | function iwStepOne() { | ||
+ | if(iwApi.readyState == 4) { | ||
+ | if(iwApi.status == 200) { | ||
+ | //Apirequest = ready and exists | ||
+ | var info = eval('('+iwApi.responseText+')') | ||
+ | var temp = info['query']['pages'][info['query']['pageids'][0]]['langlinks'] | ||
+ | if (temp) { | ||
+ | for(var counter=0;counter<temp.length;counter++) { | ||
+ | window.alert(temp[counter]['lang']) | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | else { | ||
+ | window.alert('ERR:'+iwApi.status+":"+wgPageName); | ||
+ | } | ||
+ | } | ||
+ | } |
Huidige versie van 12 feb 2010 om 12:35
/**
*
* INTERWIKI-SCRIPT
*
* Dit script moet gaan detecteren of er een pagina/interwiki bestaat naar/in een andere taal
* De gebruiker krijgt een scherm waarmee hij/zij de bewerking kan bevestigen
*
* Door: Sumurai8
* Bugs/vragen: Overleg_gebruiker:Sumurai8
*
**/
/* Het script is nog niet afgerond -- Gebruik het nog niet */
/**
* Dit script gaat werken met ajax-query's in de api's van Wikipedia, WikiKids, Vikidia en Wikimini
* Omdat de vertaling van het begrip van Wikipedia wordt gehaald, kan dat problemen geven...
* Controleer dus altijd de wijziging :-|
*
* http://wikikids.wiki.kennisnet.nl/api.php?action=query&prop=langlinks&titles=Paard|Hoofdpagina&lllimit=500&indexpageids&format=jsonfm
* http://nl.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Paard|Hoofdpagina&lllimit=500&indexpageids&format=jsonfm
* http://fr.vikidia.org/api.php?action=query&prop=langlinks&titles=Accueil|Cheval&lllimit=500&indexpageids&format=jsonfm
* http://es.vikidia.org/api.php?action=query&prop=langlinks&titles=Vikidia:Portada|Equus&lllimit=500&indexpageids&format=jsonfm
* http://fr.wikimini.org/wiki/api.php?action=query&prop=langlinks&titles=Accueil|Cheval&lllimit=500&indexpageids&format=jsonfm
** Wikimini heeft geen interwiki's en zal derhalve buitengesloten worden
** Grundschulwiki (duits) doet erg moeilijk en heeft ook geen interwiki's
*
* 0. Maak een array dat... ['en']['es']['fr']['wikimini']['nl']['simple'] bevat
* 1. Vul in met gegevens van WikiKids
* 2. Als (één van) ['es']['fr'] bestaat, zoek dan op interwiki's daar
* 2a. Verwijder als ze niet bestaan :|
* 2b. Vul ontbrekende in mbv Wikipedia-nl
* 3. Check of ze bestaan, anders weer verwijderen...
* 4. Prompt output
*
**/
var iwEnabled = true //Vervang true door false om het script uit te schakelen
var iwOutput = ""
var iwHelp = "Dit is het controlescherm. Controleer dat de interwiki\'s niet verwijzen naar doorverwijspagina\'s en dergelijke"
var iwAuto = false
var iwApi = new sajax_init_object();
var iwLang = new Array()
iwLang['en'] = ""
iwLang['es'] = ""
iwLang['fr'] = ""
iwLang['wikimini'] = ""
iwLang['nl'] = wgPageName
iwLang['simple'] = ""
//Nu kunnen we de checks gaan doen...
iwApi.open('GET', wgScriptPath + '/api.php?action=query&prop=langlinks&titles='
+ encodeURIComponent(wgPageName)
+ '&lllimit=500&format=json&indexpageids', true);
iwApi.onreadystatechange = iwStepOne;
iwApi.send(null);
function iwStepOne() {
if(iwApi.readyState == 4) {
if(iwApi.status == 200) {
//Apirequest = ready and exists
var info = eval('('+iwApi.responseText+')')
var temp = info['query']['pages'][info['query']['pageids'][0]]['langlinks']
if (temp) {
for(var counter=0;counter<temp.length;counter++) {
window.alert(temp[counter]['lang'])
}
}
}
else {
window.alert('ERR:'+iwApi.status+":"+wgPageName);
}
}
}