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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
// <pre><nowiki>

// Variable um eine je nach Modus differenzierte Ausgabe zu ermöglichen (von Benutzer:BLueFiSH.as)
var docURL = document.URL;
var pagemode;
if      (docURL.indexOf('action=edit') > 0 || docURL.indexOf('action=submit') > 0) pagemode = 'edit';
else if (docURL.indexOf('action=delete') > 0)    pagemode = 'delete';
else if (docURL.indexOf('Spezial:Undelete') > 0) pagemode = 'undelete';
else if (docURL.indexOf('action=history') > 0)   pagemode = 'history';
else if (docURL.indexOf('&diff=') > 0)           pagemode = 'diff';
else if (docURL.indexOf('printable=yes') > 0)    pagemode = 'print';
else                                             pagemode = 'view';

// Sind wir in einem interessanten Namespace?
var namespace;
if      (docURL.indexOf('Datei:') > 0)     namespace = 'image';
else if (docURL.indexOf('Benutzer:') > 0) namespace = 'user';
else if (docURL.indexOf('Benutzer_Diskussion:') > 0) namespace = 'userdisk';
else                                      namespace = '';

// stolen from PDD (start)
 // get URL parameters (used for page type variables)
 var UrlParameters = new Array ();
 readparams();
 
 function readparams() {
  var asReadInUrlParameters;
  var asReadInUrlParameter;
 
  // Get URL parameters
  asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
  for (i = 0; i < asReadInUrlParameters.length; i++) {
    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
    UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
  }
 }
// stolen from PDD (end)

function $(id) {
  return document.getElementById(id);
}

function $$(name) {
  return document.getElementsByName(name);
}

//Die nächsten Sachen sind von mir:

//Links zu vorgefertigten E-Mail-Texten
function emailLink() {
  newShortcut($('wpCCMe').parentNode, 'pasteBLUText()', 'BLU-Text');
}

//BLU-Text: Schau auf Deine Disk.!
function pasteBLUText() {

  var formNode = $('emailuser');
  var userName = formNode.getAttribute('action').replace(/.+target=/, "").match(/[^\&]+/)[0];
  var text = "Hallo " + userName.replace(/\+/gi, ' ') + ",\n\n" +
    "es gibt Probleme mit Deiner hochgeladenen Datei. Bitte schau auf Deine Wikipedia-Diskussionsseite " +
    "(http://de.wikipedia.org/wiki/Benutzer_Diskussion:" + userName.replace(/\+/gi, '_') + " ). Solltest Du dann noch Fragen haben, " +
    "kannst Du sie dort gerne stellen (ich habe die Seite auf meiner Beobachtungsliste, bitte antworte nicht per E-Mail).\n\n" +
    "Schöne Grüße, Noddy93";
  $$('wpText')[0].value = text;
}

//Link zum Datei-Logbuch
function fileLogLink() {
  try {
    var liNode = document.createElement('li');
    var aNode = document.createElement('a');
    aNode.setAttribute('href', 'http://de.wikipedia.org/w/index.php?title=Spezial%3ALog&type=upload&user=&page=');
    aNode.appendChild(document.createTextNode('Datei-Logbuch'));
    liNode.appendChild(aNode);  
    var upNode = $('pt-userpage');
    upNode.parentNode.insertBefore(liNode, upNode);
  } catch (e) {}
}

//Shortcuts für SLA etc.
function createShortcuts() {

  var divNode = document.createElement('div');
  divNode.setAttribute('id', 'shortcuts');

  if (namespace != 'userdisk') {
    newShortcut(divNode, 'pasteLA()', 'LA');
    divNode.appendChild(document.createTextNode(' ~ '));

    newShortcut(divNode, 'pasteSLA()', 'SLA');
  }

  if (namespace == 'image') {

    divNode.appendChild(document.createTextNode(' ~ '));
    newShortcut(divNode, 'pasteDUEP()', 'DÜP');

    divNode.appendChild(document.createTextNode(' ('));

    newShortcut(divNode, 'pasteAtCurrentPos("|Urheber", "")', 'U');
    divNode.appendChild(document.createTextNode(', '));
    newShortcut(divNode, 'pasteAtCurrentPos("|Quelle", "")', 'Q');
    divNode.appendChild(document.createTextNode(', '));
    newShortcut(divNode, 'pasteAtCurrentPos("|Lizenz", "")', 'L');
    divNode.appendChild(document.createTextNode(', '));
    newShortcut(divNode, 'pasteAtCurrentPos("|Freigabe", "")', 'F');
    divNode.appendChild(document.createTextNode(', '));
    newShortcut(divNode, 'pasteAtCurrentPos("|Gezeigtes Werk", "")', 'G');
    divNode.appendChild(document.createTextNode(', '));
    newShortcut(divNode, 'pasteAtCurrentPos("|Recht am eigenen Bild", "")', 'R');
    divNode.appendChild(document.createTextNode(') ~ ('));

    newShortcut(divNode, 'pasteLiz()', 'Lizenz');
    divNode.appendChild(document.createTextNode(', '));

    newShortcut(divNode, 'pasteUrh()', 'Info');
    divNode.appendChild(document.createTextNode(', '));

    newShortcut(divNode, 'pasteErl()', 'Erlaubnis');
    divNode.appendChild(document.createTextNode(') '));

  } else if (namespace == 'userdisk') {

    newShortcut(divNode, 'pasteLAInfo()', 'delInfo');
    newShortcut(divNode, 'pasteLAInfo2()', '(s)');
    divNode.appendChild(document.createTextNode(' ~ '));

    newShortcut(divNode, 'pasteImageURVInfo()', 'BildURVInfo');
    divNode.appendChild(document.createTextNode(' ~ '));

    newShortcut(divNode, 'pasteHallo()', 'Hallo');
  }

  divNode.appendChild(document.createTextNode(' | '));

  newShortcut(divNode, 'pastePerm()', 'PS: Permission');
  divNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(divNode, 'pastePSSig()', 'PS:Sig');
  divNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(divNode, 'pasteLizVerg()', 'Lizenz nachtragen');
  divNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(divNode, 'pasteCNw()', 'code+nowiki');

  if (namespace == '') {
    divNode.appendChild(document.createTextNode(' ~ '));
    newShortcut(divNode, 'minusDel()', '-gelöschtes Bild');
  }

  var specCharNode = document.getElementById('editOptions');
  var specParentNode = specCharNode.parentNode;
  specParentNode.insertBefore(divNode, specCharNode);
}

function newShortcut(divNode, onClickFunc, label) {
  var newNode = document.createElement('a');
//  newNode.setAttribute('href', '#');
  newNode.setAttribute('onclick', onClickFunc);
  newNode.appendChild(document.createTextNode(label));
  divNode.appendChild(newNode);
}

//################################

function userMessage() {
  var msgNode = $('contentSub').nextSibling.nextSibling;
  try {
    if (msgNode.getAttribute("class") == "usermessage") {
      msgNode.parentNode.removeChild(msgNode);
      var liNode = document.createElement('li');
      var aNode = document.createElement('a');
      aNode.setAttribute('href', 'http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:Noddy93&action=history');
      var imgNode = document.createElement('img');
      imgNode.setAttribute('src', 'http://upload.wikimedia.org/wikipedia/commons/9/9c/Email_add.png');
      aNode.appendChild(imgNode);
      liNode.appendChild(aNode);  
      var upNode = $('pt-mytalk');
      upNode.parentNode.insertBefore(liNode, upNode);
    }
  } catch (e) {alert(e);}
}

function editCountLink() {
  var liNode = document.createElement('li');
  var a0Node = document.createElement('a');
  var a1Node = document.createElement('a');
  var a2Node = document.createElement('a');
  var a3Node = document.createElement('a');
  var a4Node = document.createElement('a');
  var userName = wgTitle.match(/[^\/]+/)[0];
  a1Node.setAttribute('href', 'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + userName + '&dbname=dewiki_p');
  a1Node.appendChild(document.createTextNode('E'));
  a2Node.setAttribute('href', 'http://tools.wikimedia.de/~escaladix/larticles/larticles.php?user=' + userName + '&lang=de');
  a2Node.appendChild(document.createTextNode('A'));
  a3Node.setAttribute('href', 'http://de.wikipedia.org/w/index.php?title=Spezial:Pr%C3%A4fixindex&from=' + userName + '/&namespace=2');
  a3Node.appendChild(document.createTextNode('U'));
  a4Node.setAttribute('href', 'http://de.wikipedia.org/w/index.php?title=Spezial%3ADeletedContributions&target=' + userName + '&namespace=');
  a4Node.appendChild(document.createTextNode('-'));
  liNode.appendChild(a0Node);
  liNode.appendChild(a1Node);
  liNode.appendChild(a2Node);
  liNode.appendChild(a3Node);
  liNode.appendChild(a4Node);
  var ulNode = $('ca-talk').parentNode;
  ulNode.appendChild(liNode);
}

function pasteSLA() {
  $('wpSummary').value += "+[[WP:SLA|SLA]] ";
  var text = "{{Löschen}}  --~~~~\n----\n";
  pasteOnTop(text);
}

function pasteLA() {
  $('wpSummary').value += "+[[WP:LR|LA]] ";
  var text = "{{subst:Löschantrag}}  --~~~~\n----\n\n";
  pasteOnTop(text);
}

function pasteDUEP() {
  $('wpSummary').value += "+[[Vorlage:Dateiüberprüfung|DÜP]] ";
  var text = "{{Dateiüberprüfung}}\n";
  pasteOnTop(text);
}

function createEditUsageLink() {
  var usageSection = $('mw-imagepage-section-linkstoimage');
  if (usageSection == null) {
    return;
  }

  var usageInfo = checkUsage(usageSection);

  var logUsageLink = document.createElement('a');
  logUsageLink.href = 'http://de.wikipedia.org/w/index.php?title=' + wgPageName + '&action=edit&section=0&subj=Verwendung&add=' + usageInfo;
  logUsageLink.title = 'Verwendung eintragen';
  logUsageLink.appendChild(document.createTextNode("Verwendung eintragen"));

  usageSection.appendChild(logUsageLink);
}

function checkUsage(usageSection) {
  // init output
  var usageInfo = "{{Dateiüberprüfung/benachrichtigt (Verwendung)|~~~~~|\n";

  var usageEntries = usageSection.getElementsByTagName("li");

  if (usageEntries != null) {
    // iterate over li-tags representing usage links
    for (var i = 0; i < usageEntries.length; i++) {
      var linkName = usageEntries[i].firstChild.innerHTML;
      usageInfo += "{{Dateiüberprüfung/benachrichtigt (einzelne Verwendung)|" + linkName + "}}\n";
    }
  }
  usageInfo += "}}";

  return usageInfo;
}

 /**
 Imports a user javascript page from any wikipedia project into the actual document.
 
 @version 0.1
 @date 2007/03/22
 @author: based on function importPage from [[de:User:PDD]]s monobook.js, extended by [[de:User:Revvar]]
 @param page Name of the user page without the "user:" prefix and the ".js" appendix
 @param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
 @return "true" on success, "false" otherwise
 */
 
 function importJavascriptL(page, lang) {
    try {
        /* check the parameters and set defaults */
        if(!page) throw("importJavascriptL: Missing parameter page.");
        if(!lang) lang = wgContentLanguage;
 
        /* create import url */
        var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
           '.js&action=raw&ctype=text/javascript&smaxage=0';
 
        /* import page */
        var Head = document.getElementsByTagName('head').item(0);
        var Script = document.createElement('script');
        Script.setAttribute('type', 'text/javascript');
        Script.setAttribute('src', import_url);
        Script.setAttribute('charset', 'utf-8');
        Head.appendChild(Script);
 
        return true;
    } catch(e) {
        alert(e.message);
        return false;
    }
 }


function pasteUrh() {
  var text = "== Beschreibung, Quelle ==\n{{Information\n|Beschreibung = \n|Quelle = \n|Urheber = \n|Datum = \n|Genehmigung = \n" +
   "|Andere Versionen = \n|Anmerkungen = \n}}\n\n";
  pasteAtCurrentPos(text, '');
}

function pasteLiz() {
  var text = "\n== Lizenz ==\nHier Kürzel eines [[WP:LFB|Lizenzbausteins]] einfügen.";
  pasteAtCurrentPos(text, '');
}

function pasteErl() {
  var text = "[[Hilfe:FAQ zu Bildern#Was ist eine Erlaubnis/Permission/Freigabe/Genehmigung?|Erlaubnis]] des Urhebers? --~~~~";
  pasteAtCurrentPos(text, '');
}

//Permission-Hinweis
function pastePerm() {
  var text = ":PS: Bitte beachte: der Urheber (z.&nbsp;B. der Fotograf) eines Bildes muß der Veröffentlichung unter einer " +
   "bestimmten [[WP:LFB|Lizenz]] zustimmen. Dazu schreibt er am besten eine E-Mail an Wikipedia; Genaueres und E-Mail-Vorlagen " +
   "findest Du [[Hilfe:FAQ zu Bildern#Was ist eine Erlaubnis/Permission/Freigabe/Genehmigung?|hier]].";
  pasteAtCurrentPos(text, '');
}

//Info nach Bildlöschung
function pasteLAInfo() {
  $('wpSummary').value += "gelöscht ";

  var text = ":Das Bild musste nun leider gelöscht werden. Wenn Du mal wieder in Wikipedia unterwegs bist, " +
  "[[Benutzer Diskussion:Noddy93|gib mir Bescheid]], dann kann es evtl. wiederhergestellt werden. Gruß, ~~~~";
  pasteAtCurrentPos(text, '');
}

function pasteLAInfo2() {
  $('wpSummary').value += "gelöscht ";

  var text = ":Die Bilder mussten nun leider gelöscht werden. Wenn Du mal wieder in Wikipedia unterwegs bist, " +
  "[[Benutzer Diskussion:Noddy93|gib mir Bescheid]], dann können sie evtl. wiederhergestellt werden. Gruß, ~~~~";
  pasteAtCurrentPos(text, '');
}

function pasteImageURVInfo() {
  $('wpSummary').value += "Urheberrecht ";
  var text = "\n== Urheberrecht ==\nHallo, bitte lade kein Bild hoch, dessen Urheber (Fotograf, Zeichner) der Veröffentlichung unter einer hier gültigen [[WP:LFB|Lizenz]] nicht zugestimmt hat. Genaueres dazu findest Du in den [[WP:LFA|Bild-FAQ]] und auf der Seite über die [[WP:BR|Bildrechte]]. Gruß, ~~~~";
  pasteOnBot(text);
}

function pasteHallo() {
  $('wpSummary').value += "Hallo! ";
  var text = "{{subst:Benutzer:Noddy93/Vorlage:Begrüßung}} --~~~~\n";
  pasteOnBot(text);
}

function pasteLizVerg() {
  $('wpSummary').value += "Bitte Lizenz nachtragen ";
  var text = "Hallo, bei [[:]] hast Du den [[WP:LFB|Lizenzbaustein]] vergessen. Bitte wähle aus der Liste einen aus, klicke auf der Bildbeschreibungsseite auf „Seite bearbeiten“ und trage das Bausteinkürzel ein. Genaueres dazu findest Du [[Wikipedia:LFA#Was ist überhaupt eine Bildlizenz?|hier]]. Gruß, ~~~~\n";
  pasteOnBot(text);
}

function minusDel() {
  $('wpSummary').value += "-gelöschtes Bild ";
}

//Signaturhinweis als Post Scriptum
function pastePSSig() {
  var text = "<br />PS: Deine Diskussionsbeiträge solltest Du [[Wikipedia:Signatur|signieren]], " +
   "indem Du <code>--&#126;&#126;&#126;&#126;</code> schreibst. Alternativ kannst du auch mit dem Signatur-Icon " +
   "([[Bild:Signature_icon.png]]) an der Oberseite des Eingabefeldes die vier [[Tilde]]n einfügen. Diese werden dann " +
   "automatisch in Deinen Benutzernamen und einen Zeitstempel umgewandelt.";
  pasteAtCurrentPos(text, '');
}

//schreibt <code><nowiki></nowiki></code> um die aktuelle Auswahl.
function pasteCNw() {
  var text1 = '<code><nowiki>';
  var text2 = '</nowiki></code>';
  pasteAtCurrentPos(text1, text2);
}

function pasteAtCurrentPos(text1, text2) {
  var tb = $('wpTextbox1');
  tb.focus();
  var start = tb.selectionStart;
  var end = tb.selectionEnd;
  var sel = tb.value.substring(start, end);
  tb.value = tb.value.substr(0, start) + text1 + sel + text2 + tb.value.substr(end);
  var pos = start + text1.length + sel.length + text2.length;
  tb.selectionStart = pos;
  tb.selectionEnd = pos;
  tb.focus();
}

function pasteOnTop(text) {
  var tb = $('wpTextbox1');
  tb.focus();
  tb.value = text + tb.value;
  tb.focus();
}

function pasteOnBot(text) {
  var tb = $('wpTextbox1');
  tb.focus();
  tb.value = tb.value + text;
  tb.focus();
}

//################################

function deleteMenu() {
  var pNode = document.createElement('p');
  pNode.setAttribute('id', 'shortcuts');

  newShortcut(pNode, 'pasteReason("Duplikat von [[:]]")', 'Duplikat');
  pNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(pNode, 'pasteReason("Kleine Version von [[:]]")', 'Thumb');
  pNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(pNode, 'pasteReason("Unzureichende Lizenzierung")', 'Unz. Liz.');
  pNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(pNode, 'pasteReason("Überflüssige Seite zu Commonsbild")', 'Überfl. Commonsseite');
  pNode.appendChild(document.createElement('br'));

  newShortcut(pNode, 'pasteReason("Überflüssige Diskussionsseite")', 'Überfl. Disk');
  pNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(pNode, 'pasteReason("Unfug")', 'Unfug');
  pNode.appendChild(document.createTextNode(' ~ '));

  newShortcut(pNode, 'pasteReason("Zweifelsfrei [[WP:RK|irrelevant]]")', 'irrelevant');

  var commentParentNode = $('wpReason').parentNode;
  commentParentNode.parentNode.insertBefore(pNode, commentParentNode.nextSibling);
}

function pasteReason(reason) {
  $('wpReason').value = reason;
}

//################################

function Init() {
  fileLogLink();
  userMessage();
  if ((namespace == 'user') || (namespace == 'userdisk')) {
    editCountLink();
  }
  if (namespace == 'image' && pagemode == 'view') {
    createEditUsageLink();
  }
  if (pagemode == 'edit') {
    createShortcuts();
    if (namespace == 'image') {
try {
      fillActionPage();
} catch (e) {alert(e);}
    }
  }
  if (window.location.href.indexOf("Spezial:E-Mail") > 0) {
    emailLink();
  }
}

function InitDel() {
  deleteMenu();
}

importJavascriptL('PDD/helperFunctions','de'); // [[Benutzer:PDD/helperFunctions.js]]

if (pagemode == 'delete') addOnloadHook(InitDel);

if (pagemode != 'print') addOnloadHook(Init);

// </nowiki></pre>