MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus ISMS-Ratgeber WiKi
Zur Navigation springenZur Suche springen
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| Zeile 10: | Zeile 10: | ||
list: 'recentchanges', | list: 'recentchanges', | ||
rcprop: 'title|comment|timestamp|ids', | rcprop: 'title|comment|timestamp|ids', | ||
rctype: 'new', // Nur Seitenerstellungen | rctype: 'new', // Nur Seitenerstellungen | ||
rclimit: 50, | rclimit: 50, // Ausreichend Puffer für Duplikate | ||
rcnamespace: 0, | rcnamespace: 0, // Nur Hauptnamensraum | ||
format: 'json' | format: 'json' | ||
}) | }) | ||
| Zeile 20: | Zeile 20: | ||
var count = 0; | var count = 0; | ||
if (data.query | if (data.query && data.query.recentchanges && data.query.recentchanges.length > 0) { | ||
data.query.recentchanges.forEach(function(rc) { | data.query.recentchanges.forEach(function(rc) { | ||
// Doppelte Titel ausschließen | // Doppelte Titel oder Systemseiten mit Doppelpunkt ausschließen | ||
if (uniquePages[rc.title] || rc.title. | if (uniquePages[rc.title] || rc.title.indexOf(':') !== -1) return; | ||
uniquePages[rc.title] = true; | uniquePages[rc.title] = true; | ||
if (count >= 10) return; | if (count >= 10) return; | ||
var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); | var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); | ||
table += | // Fallback für mw.html.escape (ältere MediaWiki-Versionen) | ||
var escape = (window.mw && mw.html && mw.html.escape) ? mw.html.escape : function(s) { | |||
return $('<div>').text(s).html(); | |||
}; | |||
table += '<tr><td>' + escape(rc.title) + '</td><td>' + date + '</td><td>' + escape(rc.comment || '') + '</td></tr>'; | |||
count++; | count++; | ||
}); | }); | ||
} | } | ||
if (count === 0) table += '<tr><td colspan="3">Keine neuen Seiten gefunden.</td></tr>'; | if (count === 0) { | ||
table += '<tr><td colspan="3">Keine neuen Seiten gefunden.</td></tr>'; | |||
} | |||
table += '</table>'; | table += '</table>'; | ||
$target.html(table); | $target.html(table); | ||
Version vom 12. Mai 2025, 17:19 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
// Top 10 zuletzt geänderte Seiten:
$(function() {
var $target = $('#recentpages-unique-table');
if (!$target.length) return;
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'recentchanges',
rcprop: 'title|comment|timestamp|ids',
rctype: 'new', // Nur Seitenerstellungen
rclimit: 50, // Ausreichend Puffer für Duplikate
rcnamespace: 0, // Nur Hauptnamensraum
format: 'json'
})
.done(function(data) {
var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Zusammenfassung</th></tr>';
var uniquePages = {};
var count = 0;
if (data.query && data.query.recentchanges && data.query.recentchanges.length > 0) {
data.query.recentchanges.forEach(function(rc) {
// Doppelte Titel oder Systemseiten mit Doppelpunkt ausschließen
if (uniquePages[rc.title] || rc.title.indexOf(':') !== -1) return;
uniquePages[rc.title] = true;
if (count >= 10) return;
var date = new Date(rc.timestamp).toLocaleDateString('de-DE');
// Fallback für mw.html.escape (ältere MediaWiki-Versionen)
var escape = (window.mw && mw.html && mw.html.escape) ? mw.html.escape : function(s) {
return $('<div>').text(s).html();
};
table += '<tr><td>' + escape(rc.title) + '</td><td>' + date + '</td><td>' + escape(rc.comment || '') + '</td></tr>';
count++;
});
}
if (count === 0) {
table += '<tr><td colspan="3">Keine neuen Seiten gefunden.</td></tr>';
}
table += '</table>';
$target.html(table);
})
.fail(function() {
$target.html('Fehler beim Laden der Daten.');
});
});