MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus ISMS-Ratgeber WiKi
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
// Top 10 zuletzt geänderte Seiten:
// Top 10 zuletzt geänderte Seiten:
$(function() {
$(function() {
   if ($('#recentpages-table').length) {
   var $target = $('#recentpages-table');
    $.getJSON(mw.util.wikiScript('api'), {
  if (!$target.length) return;
      action: 'query',
 
      list: 'recentchanges',
  $.getJSON(mw.util.wikiScript('api'), {
      rcprop: 'title|comment|redirect',
    action: 'query',
      rclimit: 30, // Höheres Limit, um nach dem Filtern 10 Ergebnisse zu erhalten
    list: 'recentchanges',
      rcshow: 'new|!redirect', // Nur neue Seiten, keine Weiterleitungen
    rcprop: 'title|comment|redirect',
      rcnamespace: 0, // Nur Hauptnamensraum (Inhaltsseiten)
    rclimit: 30,
      format: 'json'
    rcshow: 'new|!redirect',
    }, function(data) {
    rcnamespace: 0,
      var table = '<table class="wikitable"><tr><th>Titel</th><th>Zusammenfassung</th></tr>';
    format: 'json'
      var count = 0;
  })
      if (data.query && data.query.recentchanges && data.query.recentchanges.length > 0) {
  .done(function(data) {
        $.each(data.query.recentchanges, function(i, rc) {
    var table = '<table class="wikitable"><tr><th>Titel</th><th>Zusammenfassung</th></tr>';
          // Zusätzlicher Schutz: keine Titel mit Doppelpunkt (Systemseiten)
    var count = 0;
          if (rc.title.indexOf(':') !== -1) return;
    if (data.query && data.query.recentchanges && data.query.recentchanges.length > 0) {
          if (count >= 10) return false;
      $.each(data.query.recentchanges, function(i, rc) {
           table += '<tr><td>' + mw.html.escape(rc.title) + '</td><td>' + mw.html.escape(rc.comment || '') + '</td></tr>';
        // Im Hauptnamensraum sollten keine Doppelpunkte vorkommen, aber zur Sicherheit filtern
          count++;
        if (rc.title.indexOf(':') !== -1) return;
        });
        if (count >= 10) return false; // Schleife abbrechen
        if (count === 0) {
        // Fallback für mw.html.escape (falls nicht verfügbar)
          table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
        var escape = window.mw && mw.html && mw.html.escape ? mw.html.escape : function(s) {
        }
           return $('<div>').text(s).html();
      } else {
        };
        table += '<tr><td>' + escape(rc.title) + '</td><td>' + escape(rc.comment || '') + '</td></tr>';
        count++;
      });
      if (count === 0) {
         table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
         table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
       }
       }
       table += '</table>';
    } else {
      $('#recentpages-table').html(table);
       table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
    }).fail(function() {
    }
      $('#recentpages-table').html('Fehler beim Laden der neuesten Seiten.');
    table += '</table>';
    });
    $target.html(table);
  }
  })
  .fail(function() {
    $target.html('Fehler beim Laden der neuesten Seiten.');
  });
});
});

Version vom 12. Mai 2025, 18:04 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

// Top 10 zuletzt geänderte Seiten:
$(function() {
  var $target = $('#recentpages-table');
  if (!$target.length) return;

  $.getJSON(mw.util.wikiScript('api'), {
    action: 'query',
    list: 'recentchanges',
    rcprop: 'title|comment|redirect',
    rclimit: 30,
    rcshow: 'new|!redirect',
    rcnamespace: 0,
    format: 'json'
  })
  .done(function(data) {
    var table = '<table class="wikitable"><tr><th>Titel</th><th>Zusammenfassung</th></tr>';
    var count = 0;
    if (data.query && data.query.recentchanges && data.query.recentchanges.length > 0) {
      $.each(data.query.recentchanges, function(i, rc) {
        // Im Hauptnamensraum sollten keine Doppelpunkte vorkommen, aber zur Sicherheit filtern
        if (rc.title.indexOf(':') !== -1) return;
        if (count >= 10) return false; // Schleife abbrechen
        // Fallback für mw.html.escape (falls nicht verfügbar)
        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>' + escape(rc.comment || '') + '</td></tr>';
        count++;
      });
      if (count === 0) {
        table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
      }
    } else {
      table += '<tr><td colspan="2">Keine neuen Inhaltsseiten gefunden.</td></tr>';
    }
    table += '</table>';
    $target.html(table);
  })
  .fail(function() {
    $target.html('Fehler beim Laden der neuesten Seiten.');
  });
});