Benutzer:Yellowcard/dateikat.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
/*<nowiki>
* Dieses Script unterstützt den Benutzer bei der Erstellung von Dateikategorien.
* Es ist in der Entwicklungsphase und vollkommen ungeprüft. Von einer Verwendung rate ich derzeit noch ab.
*/
 
// Fügt die notwendigen Tabs hinzu und definiert die OnClick-Funktionen
function addTabs() {
  if (mw.config.get('wgNamespaceNumber') == 14) {
    mw.util.addPortletLink('p-tb', 'javascript:addTemplate();', "{{DK}}", 'Baustein {{Dateikategorie}} hinzufügen');
  }
  mw.util.addPortletLink('p-tb', 'javascript:addCat();', "[[Kat|.]]", 'Dateikategorie hinzufügen');
}

// Fügt das Template {{Dateikategorie}} sowie {{DEFAULTSORT:}} am Beginn des Texts ein
function addTemplate() {
  // Nur ausführen, wenn im Bearbeitungs-Modus
  if (mw.config.get('wgAction') == "edit") {
    wgPageName = wgPageName.replace('Kategorie:Datei:', '');
    wgPageName = wgPageName.replace(/_/g, ' ');
    var newtext = "{{Dateikategorie|" + wgPageName + "}}\n\n\n{{SORTIERUNG:" + wgPageName + "}}";
    var wpText = document.getElementById('wpTextbox1');
    var wpSummary = document.getElementById('wpSummary');
    
    wpText.value =  newtext + wpText.value;
    if (wpSummary.value == "") {
      wpSummary.value = "Füge {{Dateikategorie}} hinzu";
    }
    else {
      wpSummary.value = wpSummary.value + ", füge {{Dateikategorie}} hinzu";
    }
  }
  // sonst weiterleiten
  else {
    window.open(mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(mw.config.get('wgPageName')) + "&action=edit&do=addTemplateFilecat", "_self");
  }
}

// Fügt eine neue Kategorie am Ende des Texts ein
function addCat() {
  // Nur ausführen, wenn im Bearbeitungs-Modus
  if (mw.config.get('wgAction') == "edit") {
    if (mw.config.get('wgNamespaceNumber') == 14) {
      wgPageName = wgPageName.replace('Kategorie:Datei:', '');
      wgPageName = wgPageName.replace(/_/g, ' ');
      var newtext = "[[Kategorie:Datei:|" + wgPageName + "]]";
    }
    else
      var newtext = "[[Kategorie:Datei:]]";

    var wpText = document.getElementById('wpTextbox1');
    var wpSummary = document.getElementById('wpSummary');
    
    wpText.value =  wpText.value + "\n" + newtext;
    if (wpSummary.value == "") {
      wpSummary.value = "Füge neue Kategorie hinzu";
    }
    else if (wpSummary.value.search('üge neue Kategorie hinzu') == -1) {
      wpSummary.value = wpSummary.value + ", füge neue Kategorie hinzu";
    }
  }
  // sonst weiterleiten
  else {
    window.open(mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(mw.config.get('wgPageName')) + "&action=edit&do=addCat", "_self");
  }
}

if (mw.config.get('wgNamespaceNumber') == 14 || mw.config.get('wgNamespaceNumber') == 6) { 
  addTabs();
  // Ausführen, wenn Hinweis als GET-Parameter
  if (document.URL.match(/&do=addTemplateFilecat/)) {
    addTemplate();
  }
  else if (document.URL.match(/&do=addCat/)) {
    addCat();
  }
}
//</nowiki>