Benutzer:DerHexer/monobook.js
Erscheinungsbild
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
if(wgPageName=='Benutzer:DerHexer/Chemiekat' && wgAction=='edit') {
// als erstes wird der Kategoriebaum geschrieben
var allcategories = new Array("Kategorie:Chemie");
var allarticles = new Array("Test");
var integer = 0;
var newline = "\n";
var XXX = '';
function addcategoriestoarray (getcategories){ // schreibe gefundene Kategorien in Array; Hilfsfunktion
for(i=0;i<getcategories.length;i++){
for(j=0;j<allcategories.length;j++){
var currentcategory = getcategories[i].getAttribute('title');
if(currentcategory==allcategories[j]) break;
// if(currentcategory=='Kategorie:Dampflokomotive' || currentcategory=='Kategorie:Schiff mit Nuklearantrieb' || currentcategory=='Kategorie:Fahrzeug mit Gasturbinenantrieb') break;
if(j==allcategories.length-1) allcategories[allcategories.length] = getcategories[i].getAttribute('title');
}
}
}
function addarticlestoarray (getarticles){ // schreibe gefundene Artikel in Array; Hilfsfunktion
for(i=0;i<getarticles.length;i++){
for(j=0;j<allarticles.length;j++){
if(getarticles[i].getAttribute('title')==allarticles[j]) break;
if(j==allarticles.length-1) allarticles[allarticles.length] = getarticles[i].getAttribute('title');
}
}
}
function countimages(){
if (allcategories[integer]) {
var req2;
if (req2 = sajax_init_object()) {
var text = '/w/api.php?action=query&format=xml&list=categorymembers&cmtitle='+allcategories[integer]+'&cmprop=title&cmnamespace=0&cmlimit=5000';
req2.open("GET", text, false);
req2.send("");
if(req2.responseXML.getElementsByTagName("query-continue")[0]) { XXX = XXX + "'''WARNING'''" + newline; }
var getarticles = req2.responseXML.getElementsByTagName("cm");
if(getarticles) {
//XXX = XXX + ' [[:'+allcategories[integer]+']] enthält ' + getarticles.length + ' Artikel' + newline;
addarticlestoarray(getarticles);
integer++;
countimages();
}
}
} else {
var outputtext = XXX + newline + "Insgesamt befinden sich" + (allarticles.length-1) + "Artikel in der Kategorie Chemie.";
alert(outputtext);
}
}
function createcategorytree() {
var req;
if (req = sajax_init_object()) {
if (allcategories[integer]) {
var text = '/w/api.php?action=query&format=xml&list=categorymembers&cmtitle='+allcategories[integer]+'&cmprop=title&cmnamespace=14&cmlimit=5000';
req.open("GET", text, false);
req.send("");
var getcategories = req.responseXML.getElementsByTagName("cm");
if(getcategories) {
addcategoriestoarray(getcategories);
}
integer++;
createcategorytree();
} else {
integer = 0;
countimages();
}
}
}
addOnloadHook(createcategorytree());
}