Benutzer:Martinnitus/common.js/kategorien.js

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche

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.')
      }
    });
  }
});

Linktipps: Faditiva und 3DPresso