Benutzer:Martinnitus/common.js/kategorien.js
Aus Stupidedia, der sinnfreien Enzyklopädie!
Wichtig: Nach dem Speichern musst Du deinem Browser sagen, dass er die neue Version laden soll: Mozilla/Firefox: Strg-Shift-R, IE: Strg-F5, Safari: Cmd-Shift-R, Konqueror: F5.
//<nowiki>
$(function() {
if (mw.config.get('wgNamespaceNumber') === 14 && mw.config.get('wgPageName').match(/Kategorie:Stupidedia:/) === null) {
var catpages = $('#mw-pages li a');
catpages.each(function () {
var pageName = $(this).text();
var button = $('<input type="button" />');
var btnAttributes = {
'value': 'Entfernen',
'title': 'Hier klicken, um ' + pageName + ' zu entfernen.',
'data-page': pageName,
'style': 'margin-left: 1em'
};
button.attr(btnAttributes);
button.click(removePageFromCat);
$(this).after(button);
});
var logbutton = $('<input type="button" />');
var btnAttributes = {
'value': 'Zusammenfassung erstellen',
'title': 'Anzahl der Artikel auf die Diskussionsseite schreiben'
};
logbutton.attr(btnAttributes);
logbutton.click(countPages);
$('#mw-pages').after(logbutton);
}
function removePageFromCat() {
var curart = $(this).data('page');
var rawUrl = mw.util.getUrl(curart, {action: 'raw'});
$.get(rawUrl, parseContent);
function parseContent(curartinhalt) {
var catregex = new RegExp('\\[\\[' + mw.config.get('wgPageName') + '(\\|([^\\[]*))?\\]\\]');
var katmin = curartinhalt.replace(catregex, '');
api.request({
action: 'edit',
title: curart,
text: katmin,
token: global.editToken,
summary: '[[' + mw.config.get('wgPageName') + ']] entfernt',
minor: true
}, function(data) {
if (data.error || data.edit.result === 'Failure') {
alert('Fehler!');
} else {
location.reload();
}
});
}
}
function countPages() {
api.request({
action: 'query',
pageids: mw.config.get('wgArticleId'),
prop: 'categoryinfo'
}, postLog);
}
function postLog(data) {
var numberOfPages = data.query.pages[mw.config.get('wgArticleId')].categoryinfo.pages;
var obj = {
action: 'edit',
title: 'Kategorie Diskussion:' + mw.config.get('wgPageName').split(':')[1],
appendtext: '\n* {{subst:#time: d.m.Y | {{subst:Datum}} }}: Artikelanzahl: ' + numberOfPages + '. — ~~~~',
token: global.editToken,
summary: 'Kategoriezusammenfassung',
minor: true
};
api.request(obj, function(data) {
if (data.error || data.edit.result === 'Failure') {
alert('Fehler!');
} else {
alert('Zusammenfassung auf Diskussionsseite geschrieben.')
}
});
}
});