Benutzer:ABF2/eintragen.js

aus Wikipedia, der freien Enzyklopädie

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
 importPage('PDD/alertOnChanges.js');
 
 // LA (generisch, Bild, Kategorie, Vorlage) / QS / URV / Vandalen eintragen
 //
 // Fragt nach der Begründung, füllt die Eingabefelder aus, und ruft die Löschkandidatenseite/QSSeite auf.
 // Ursprünglich von [[Benutzer:BLueFiSH.as]]
 // Modifiziert von [[Benutzer:Littl]]
 // Modifiziert von [[Benutzer:Revvar]] (Aufpassen, falls bei SLA Seite bereits gelöscht)
 // Modifiziert von [[Benutzer:PDD]] (Vandalensperrmeldung, Kategorien-LAs, viele kleine Fixes)
 // Modifiziert von [[Benutzer:C-M]] (SLA-Shortcuts)
 // Weitergeführt von [[Benutzer:ABF]]
 // EW eintragen und Artikel auf VM eintragen ergänzt von [[Benutzer:ABF]] mit Hilfe
 
 // <nowiki>
 // Funktion eintragen(typ)
 // Trägt, je nach Typ der Meldung, Bausteine bzw. Begründung auf den Seiten ein
 // (aufgerufen aus der monobook.js)
 //
 
 function eintragen(typ) { // Littl, PDD
   var wpath = 'http://de.wikipedia.org/w/index.php?title=';
   var wnamesp = 'Wikipedia:';
 
   // alert (for old monobooks)
   if (minimalVersionStrong(40) < 40) return;
   if ((typ > 15) || (typ == 9) || (typ == 11)) alert("Funktion " + typ + " noch nicht implementiert!");
   if ((typ > 15) || (typ == 9) || (typ == 11)) return;
 
   // Variables that should be defined in your monobook
   if (typeof(autosave) == 'undefined')
       autosave = false;
   if (typeof(signogrundparam) == 'undefined')
       signogrundparam = false;
   if (typeof(emptylinesafterhr) == 'undefined')
       emptylinesafterhr = 1;
   if (typeof(defaultSLA) == 'undefined')
       defaultSLA = "";
   if (typeof(defaultVandal) == 'undefined')
       defaultVandal = "vandaliert in [[]]";
   if (typeof(defaultBLU) == 'undefined')
       defaultBLU = "keine Lizenz";
 
   if (typeof(Monate) == 'undefined')
       Monate = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
   if (typeof(jetzt) == 'undefined')
       jetzt = new Date();
   if (typeof(Jahr) == 'undefined')
       Jahr = jetzt.getYear(); if (Jahr < 999)  Jahr += 1900;
   if (typeof(WPDatum) == 'undefined')
       WPDatum = jetzt.getDate() + '._' + Monate[jetzt.getMonth()] + '_' + Jahr;
   if (typeof(WPDatum2) == 'undefined')
       WPDatum2 = Jahr + '/' + Monate[jetzt.getMonth()] + '/' + jetzt.getDate();
 
   if (typeof(isEdit) == 'undefined')
       isEdit = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
   if (typeof(isUserpage) == 'undefined')
       isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
   if (typeof(isSpecial) == 'undefined')
       isSpecial  = (wgCanonicalNamespace == "Special");
   if (typeof(isContrib) == 'undefined')
       isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
   if (typeof(isPHP) == 'undefined')
       isPHP = (document.URL.indexOf('index.php') > 0);
 
   // Variablen für die einzelnen Bausteine
   var kurz = "";
   var vorlage = "";
   var seite = "";
 
   // bei bestimmten Vorlagen wird Grund als Parameter übergeben
   // (momentan nur Vorlage:Löschantrag, Vorlage:Löschen, Vorlage:QS)
   var grundparam = false;
   // bestimmte Subst-Vorlagen haben schon noincludes
   // (momentan nur Vorlage:Löschantrag)
   var substnoinclude = false;
   // bestimmte Vorlagen beinhalten bereits die Formatierung (Returns, Hline)
   // (momentan nur Vorlage:Löschantrag und Vorlage:Löschen)
   var dontformat = false;
 
   switch (typ) {
      case 1: { kurz="QS";
                vorlage="subst:QS";
                seite="Qualitätssicherung";
                if (!signogrundparam) {
                    grundparam = true;
                    dontformat = true;
                }
                break; }
      case 2: { kurz="LA";
                vorlage="subst:Löschantrag";
                seite="Löschkandidaten";
                grundparam = true;
                substnoinclude = true;
                dontformat = true;
                break; }
      case 3: { kurz="SLA";
                vorlage="Löschen";
                if (!signogrundparam) {
                    grundparam = true;
                    dontformat = true;
                }
                break; }
      case 4: { kurz="BildLA";
                vorlage="subst:Löschantrag";
                seite="Löschkandidaten/Bilder";
                grundparam = true;
                substnoinclude = true;
                dontformat = true;
                break; }
      case 5: { kurz="URV";
                vorlage="URV";
                seite="Löschkandidaten/Urheberrechtsverletzungen";
                break; }
      case 6: { kurz="Vandale";
                vorlage="Benutzer";
                seite="Vandalismusmeldung";
                break; }
      case 7: { kurz="LAKAT";
                vorlage="subst:Löschantrag";
                seite="WikiProjekt_Kategorien/Diskussionen";
                grundparam = true;
                substnoinclude = true;
                dontformat = true;
                break; }
      case 8: { kurz="LAVORL";
                vorlage="subst:Löschantrag";
                seite="Löschkandidaten";
                grundparam = true;
                substnoinclude = true;
                dontformat = true;
                break; }
      case 10: { kurz="Reset";
                vorlage="Bitte erst NACH dieser Zeile schreiben! (Begrüßungskasten)";
                break; }
      case 11: { kurz="Lemmasperrung"; // outdated, do not use!
                vorlage="gesperrtes Lemma";
                break; }
      case 12: { kurz="Lemmasperrung";
                seite="Gesperrte Lemmata";
                break; }
      case 13: { kurz="Entsperren";
                vorlage="Entsperren";
                seite="Entsperrwünsche";
                break; }
      case 14: { kurz="Schuetzen";
                vorlage="Artikel";
                seite="Vandalismusmeldung";
                break; }
      case 15: { kurz="BLU";
                vorlage="BLU";
                break; }
   }
 
   var standardsig = '-- \~\~\~\~';
   var customsig;
   if (typeof(usersignature) == 'undefined')
      customsig = standardsig;
   else
      customsig = usersignature;
 
   var lemma = getLemma();
   var lemma2;
   // special lemma handling for vandals (usernames):
   if (typ == 6) {
      if (isUserpage) {
         // leading stuff
         lemma2 = lemma.replace(/Benutzer.Diskussion./,'');
         if (lemma2 == lemma)
             lemma2 = lemma.replace(/Benutzer./,'');
         lemma = lemma2;
         // trailing stuff
         lemma = lemma.replace(/\/.*/,'').replace(/&action.*/,'');
      }
      if (isContrib) {
         lemma = lemma.replace(/.*\//,'');
      }
   }
   lemma2 = lemma.split('_').join(' ');
 
   // zu öffnende Zielseite
   var uri = "";
 
   // Begründung für die Zusammenfassungszeile
   var grund = "";
   if (typ == 3) grund = defaultSLA;
 
   if (typ == 5)
      grund = prompt(kurz+'-Quelle (z.B. URL):','[]');
   else if (typ == 6)
      grund = prompt('Vandalismusbelege:',defaultVandal);
   else if ((typ != 10) && (typ != 11) && (typ != 12))
      grund = prompt(kurz+'-Grund:',grund);
   if (typ == 10) grund = defaultBLU;
 
   /* Shortcuts für SLA*/
   if (typ==3){ 
      switch (grund) {
         case "1": grund="Selbstdarsteller siehe [[Wikipedia:Selbstdarsteller]]"; break;
         case "a": grund="Abfall"; break;
         case "b": grund="Bandspam"; break;
         case "c": grund="Clanspam"; break;
         case "d": grund="Keine Diskussionsseite"; break;
         case "d1": grund="Verwaiste Diskussionsseite"; break;
         case "e": grund="Ekelig"; break;
         case "f": grund="Feurig dummer Artikel"; break;
         case "g": grund="Nicht zum grinsen"; break;
         case "h": grund="Hölle-Wer denkt sich sowas aus?!"; break;
         case "i": grund="Offensichtliche Irrelevanz"; break;
         case "j": grund="Bandspam"; break;
         case "k": grund="Kein Artikel"; break;
         case "l": grund="Linkcontainer"; break;
         case "m": grund="Müll, bitte Wegwerfen!"; break;
         case "n": grund="Nazispam"; break;
         case "o": grund="Oh Ne!"; break;
         case "p": grund="puh!"; break;
         case "q": grund="Weiß nix, was auf den Müll zutrifft..."; break;
         case "r": grund="Rapperspam"; break;
         case "s": grund="Bitte Lemmasperre, es reicht!"; break;
         case "t": grund="Tastaturtest dafür gibt es die [[WP:SP|Spielwiese]]"; break;
         case "u": grund="Unfug"; break;
         case "v": grund="Sperrt vllt. mal wer die IP?!"; break;
         case "w": grund="Wörterbucheintrag"; break;
         case "x": grund="Wiedergänger"; break;
         case "z": grund="Werbeeintrag"; break;
 
   /* Shortcuts für BLU*/
   if (typ==3){ 
      switch (grund) {
         case "k": grund="Keine Lizenz"; break;
         case "c": grund="copyvio"; break;
         case "r": grund="Man sieht sogar noch das copyright Zeichen"; break;
      }
   }
 
   // Parameter für die URI
   var speichernpa = (autosave) ? "&" + speichernp + "=1" : "";
   var nocreatepa = "&" + nocreatep + "=1";
 
   // ab hier wird eingetragen
   if (grund != null) {
      grund = trim(grund);
 
      // Eintragen auf der entsprechenden LK/QS/usw.-Seite
      // (wird dann ausgeführt von fillActionPage() in der monobook.js)
 
      //QS / LA / BildLA / LAKAT / LAVORL
      if (typ == 1 || typ == 2 || typ == 4 || typ == 7 || typ == 8) {
         // Öffnen der QS- oder LK- oder BildLK-Seite, gleich zum Eintragen des QS/LA
         // Texte werden als Parameter übergeben
         uri = wpath
               + encodeURI(wnamesp + seite 
                                  + ((typ == 7)? ('/' + WPDatum2):('/' + WPDatum)))
               + "&action=edit" + "&section=new"
               + "&" + subjp + "="
                   + encodeURIComponent( '[['
                                      /* + ((typ == 4)? ':Bild:':'') + ((typ == 7)? ':Kategorie:':'') */
                                         + ( ((typ == 4)||(typ == 7)) ? ':' : '')
                                         + lemma2 + ']]' )
               + "&" + textp + "="
                   + encodeURIComponent( grund + ' ' + customsig + '\n' )
               + speichernpa;
      }
 
      //URV
      if (typ == 5) {
         // Öffnen der URV-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
         uri = encodeURI(wpath + wnamesp + seite + '&action=edit')
                   + "&" + subjp + "="
                   + encodeURIComponent( '+[[' + lemma2 + ']]')
                   + "&" + addp + "="
                   + encodeURIComponent('# [[' + lemma2 + ']] - ' + grund + ' ' + customsig + '\n' )
                   + speichernpa;
      }
 
      //Vandale
      if (typ == 6) {
         // Öffnen der VM-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
         uri = encodeURI(wpath + wnamesp + seite +'&action=edit&section=new')
                   + "&" + subjp + "="
                   + encodeURIComponent( '[[Benutzer:' + lemma2 + ']]' )
                   + "&" + textp + "="
                   + encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
                   + speichernpa;
      }
 
      //Lemmasperrung
      if (typ == 12) {
         // Öffnen der Lemmasperrseite und Eintragen
         uri = encodeURI(wpath + wnamesp + seite + '/' + WPDatum4 + '&action=edit')
                   + "&" + subjp + "="
                   + encodeURIComponent( '+[[' + lemma2 + ']]')
                   + "&" + addp + "="
                   + encodeURIComponent('# {{:' + lemma2 + '}} ' + customsig + '\n' )
                   + speichernpa;
      }
      //EW
       if (typ == 13) {
          // Öffnen der EWseite und Eintragen
         uri = encodeURI(wpath + wnamesp + seite +'&action=edit&section=new')
                    + "&" + subjp + "="
                    + encodeURIComponent( '[[' + lemma2 + ']]')
                    + "&" + addp + "="
                    + encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
                    + speichernpa;
      }
      //Vandalen Artikel
      if (typ == 14) {
         // Öffnen der VM-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
         uri = encodeURI(wpath + wnamesp + seite +'&action=edit&section=new')
                    + "&" + subjp + "="
                    + encodeURIComponent( '[[' + lemma2 + ']]')
                    + "&" + addp + "="
                    + encodeURIComponent( '{{' + vorlage + '|' + lemma2 + '}} ' + grund + ' ' + customsig + '\n' )
                    + speichernpa;
      }
      // neue Seite wird in neuem Fenster geöffnet
      if (uri != "") {
          window.open(uri);
          window.focus();
      }
 
      // bearbeiten der Artikelseite und eintragen lassen
      // (wird dann ausgeführt von fillActionPage() in der monobook.js)
 
      // (bei Vandalenmeldung und Lemmasperrung nichts auf aktueller Seite eintragen!!)
      if ((typ != 6) && (typ != 12) && (typ != 14) && (typ != 13)) {
 
         var grundsig = " \'\'" + grund + "\'\' " + customsig;
 
         // wenn grund als Parameter übergeben wird: | und = escapen
         if (grundparam) {
             grundsig = grundsig.split('|').join('{{!}}').split('=').join('&#61;');
         }
 
         // vereinheitlicht plus kursiv (PDD)
         var txt = "{{" + vorlage;
         if (grundparam)
            txt += "|";
         else
            txt += "}}";
 
         if ((typ != 10) && (typ != 11)) {
 
            txt += grundsig;
            if (grundparam)
               txt += "}}";
 
            if (!dontformat) {
               txt += "\n----\n\n";
               for (var i = 0; i < emptylinesafterhr; i++)
                   txt += "\n";
            }
            else if (!looksLikeTemplate(lemma2))
               txt += "\n";
 
            if (!substnoinclude) {
               if (looksLikeTemplate(lemma2))
                    txt = "<noinclude>\n" + txt + "</noinclude>";
            }
         }
         else { // typ==10 oder 11
            txt += "\n";
         }
 
         if (isEdit) {
            // wir sind schon im Edit-Modus
            if ((typ == 5) || (typ == 10) || (typ == 11)) {
               document.editform.wpTextbox1.value = txt;
            } else {
               document.editform.wpTextbox1.value = txt + document.editform.wpTextbox1.value;
            }
            document.editform.wpSummary.value = kurz + '+';
            document.editform.wpWatchthis.checked = false;
            if (autosave) {
               if ((typ != 11) && (document.getElementById("newarticletext"))) {
                  alert("Artikel wurde bereits gelöscht!");
               }
               else document.editform.wpSave.click();
            }
         } else {
            // Wir müssen die Seite erst zum Editieren öffnen
            if ((typ == 5) || (typ == 10) || (typ == 11)) {
               // URV-Baustein & Spielwiese-Reset ersetzen den kompletten Text
               uri = wpath + encodeURIComponent(lemma) + "&action=edit"
                     + "&" + subjp + "=" + encodeURIComponent(kurz + "+")
                     + "&" + textp + "=" + encodeURIComponent(txt)
                     + speichernpa;
            } else {
               // alle anderen Bausteine werden am Anfang eingefügt
               uri = wpath + encodeURIComponent(lemma) + "&action=edit"
                     + "&" + subjp + "=" + encodeURIComponent(kurz + "+")
                     + "&" + insp + "=" + encodeURIComponent(txt)
                     + speichernpa;
            }
            if (typ != 11) uri += nocreatepa;
 
            // neue Seite im aktuellen Fenster öffnen
            location.href = uri;
         } // END: if (isEdit)...else...
      } // END: if (typ != 6)...
   } // END: if (grund != null)...
 } // END: function eintragen(typ)...
 
 
 //
 // Funktion looksLikeTemplate()
 // Vorlagen-Check
 // (aufgerufen aus eintragen() )
 //
 
 function looksLikeTemplate(aktuelleslemma) {
    if ( (wgNamespaceNumber == 10) ||
         (aktuelleslemma.indexOf("Vorlage:") > -1) ||
         (aktuelleslemma.indexOf(":Vorlage/") > -1) ||
         (aktuelleslemma.indexOf("/Vorlage/") > -1) )
              return true;
    else
              return false;
 }
 
 // </nowiki>
 }