Benutzer:C-M/eintragen.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
  • 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)
 
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 > 11) || (typ == 9)) alert("Funktion noch nicht implementiert!");
   if ((typ > 11) || (typ == 9)) 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(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 und Vorlage:Löschen)
   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";
                grundparam = true;
                substnoinclude = 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";
                vorlage="gesperrtes Lemma";
                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 == 5)
      grund = prompt(kurz+'-Quelle (z.B. URL):','[]');
   else if (typ == 6)
      grund = prompt('Vandalismusbelege:','vandaliert in [[]]');
   else if ((typ != 10) && (typ != 11))
      grund = prompt(kurz+'-Grund:','');

/* Shortcuts für SLA*/
    if (typ==3){ 
       switch (grund) {
          case "k": { grund="kein Artikel"} break;
          case "u": { grund="Unfug"} break;
          case "b": { grund="Bandspam - siehe [[Wikipedia:Relevanzkriterien]]"} break;
          case "t": { grund="Tastaturtest - dafür gibt es die [[Wikipedia:Spielwiese]]"} break;
          case "l": { grund="Linkspam"} break;
          case "d": { grund="keine Diskussion"} break;
          case "s": { grund="Selbstdarsteller - siehe [[Wikipedia:Selbstdarsteller]]"} break;
          case "i": { grund="Offensichtliche, im Artikel nachgewiesene Irrelevanz" } 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 VS-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;
      }
 
      // 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 nichts auf aktueller Seite eintragen!!)
      if (typ != 6) {
 
         var grundsig = " \'\'" + grund + "\'\' " + customsig;
 
         // wenn grund als Parameter übergeben wird: | und = escapen
         if (grundparam) {
             grundsig = grundsig.split('|').join('&#124;').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;
 }
 
 
 //
 // Funktion nowcomm()
 // Trägt NowCommons-Baustein ein
 // (aufgerufen aus der monobook.js)
 //
 
 function nowcomm() {
  var lemma = getLemma();
  if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
  var lemmaneu = prompt('Neuer Dateiname',lemma);
  if (lemmaneu != null )
      newtext('NowCommons','\{\{NowCommons|' + lemmaneu +'}}',3);
 }
 
 //
 // Helper-Funktion getLemma()
 // extrahiert Lemma, entfernt "Bild:" und "Kategorie:"
 // (aufgerufen von eintragen() und nowcomm() aus der eintragen.js)
 //
 
 function getLemma () { //Littl
   var lemma;
   if ((isContrib) && ( UrlParameters["target"] > "" ))
     lemma = UrlParameters["target"];
   else if ( UrlParameters["title"] > "" )
     lemma = UrlParameters["title"];
   else 
     lemma = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];          
   // if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
   // if (lemma.substring(0, 10) == "Kategorie:") lemma=lemma.slice(10);
   if (isPHP) lemma=lemma.split('+').join('_');
   return lemma;
 }
 
 // </nowiki>