Benutzer:DerHexer/hinweise.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
 // Dient dem Eintragen des Portal- und Redaktionshinweises
 // Ursprünglich von [[Benutzer:DerHexer]]
 // <nowiki>
 
 function hinweis(typ) { // Littl, PDD
   var wpath = 'http://de.wikipedia.org/w/index.php?title=';
 
   // Variables that should be defined in your monobook
   if (typeof(autosave) == 'undefined')
       autosave = false;
   if (typeof(usekatproject) == 'undefined')
       usekatproject = true;
   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 = ( (mw.config.get('wgCanonicalNamespace') == "User") || (mw.config.get('wgCanonicalNamespace') == "User_talk") );
   if (typeof(isSpecial) == 'undefined')
       isSpecial  = (mw.config.get('wgCanonicalNamespace') == "Special");
   if (typeof(isContrib) == 'undefined')
       isContrib = (isSpecial && (mw.config.get('wgTitle') == "Contributions"));
   if (typeof(isPHP ) == 'undefined')
       isPHP = (document.URL.indexOf('index.php') > 0);
 
   if (typ == 1) {
     var kurz="PH";
     var vorlage="Portalhinweis";
     var wnamesp = 'Portal_Diskussion:';
   } else if (typ == 2) {
     var kurz="RH";
     var vorlage="Redaktionshinweis";
     wnamesp = "Wikipedia:Redaktion_";
   }
 
   var standardsig = '--\~\~\~\~';
   var customsig;
   if (typeof(usersignature) == 'undefined')
      customsig = standardsig;
   else
      customsig = usersignature;
 
   var lemma;
   var lemma2;
   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 (isPHP) lemma=lemma.split('+').join('_');
   lemma2 = lemma.split('_').join(' ');
 
   if (typ == 1) {
     var seite=prompt('Zuständiges Portal:','');
     var test;
     if (seite.match(/Portal:/)) {
       test = seite;
       seite = seite.replace(/Portal:/, "");
     } else {
       test = "Portal:" + seite;
     }
 
     function newRequest()
     {
       try {
         if (window.XMLHttpRequest) {
           return new XMLHttpRequest();
         } else {
           return new ActiveXObject("MSXML2.XMLHTTP");
         }
       } catch (e) {
         return false;
       }
     }
 
     var req;
     if (req = newRequest()) {
       req.open("GET", "/w/query.php?format=xml&what=allpages&aplimit=1&apnamespace=100&apfrom=" + seite + "&apfilterredir=nonredirects", false);
       req.send("");
      
       var portal = req.responseXML.getElementsByTagName("title")[0].childNodes[0].nodeValue;
       if (portal == test)
         var grund=prompt(kurz+'-Grund:','');
       else
         alert('Dieses Portal ist nicht vorhanden');
     }
   } else if (typ == 2) {
     function newRequest()
     {
       try {
         if (window.XMLHttpRequest) {
           return new XMLHttpRequest();
         } else {
           return new ActiveXObject("MSXML2.XMLHTTP");
         }
       } catch (e) {
         return false;
       }
     }
 
     var req;
     if (req = newRequest()) {
       req.open("GET", "/w/query.php?format=xml&what=category&cptitle=Category:Wikipedia:Redaktion&cpnamespace=4", false);
       req.send("");
 
       var redaktionen = req.responseXML.getElementsByTagName("title");
       var redaktionen2 = new Array();
       var redaktionen_kurz = new Array();
       var count = 0;
       for (var i = 0; i < redaktionen.length; i++) { 
         if (redaktionen[i].childNodes[0].nodeValue.match(/Wikipedia:Redaktion /)) {
           redaktionen_kurz[count] = redaktionen[i].childNodes[0].nodeValue.replace(/Wikipedia:Redaktion /, "");
           redaktionen2[count] = 'Redaktion „' + redaktionen_kurz[count] + '“';
           count = count+1;
         } else {
           continue;
         }
       }
     }
 
     redaktionen_kurz.sort();
     redaktionen2.sort();
     var text = "Bitte geben Sie die gewünschte Redaktion ein.\nDie Namen der Redaktionen lauten:\n\n";
     for (var i = 0; i < redaktionen_kurz.length; i++) { 
       text = text + "[" + i + "] " + redaktionen_kurz[i] + "\n";
     }
     text = text + "\nGeben Sie im folgenden Feld bitte einen dieser Namen korrekt ein.";
     var j = prompt(text, '');
     if ((j.replace(/ /g, '') == "")) {
       alert("Bitte achten Sie auf die korrekte Schreibung.");
     } else {
       if ((j>=0) && (j<i)) {
         var seite = redaktionen_kurz[j];
         var grund=prompt(kurz+'-Grund:','');
       } else {
         var seite = j;
         var count = redaktionen_kurz.length;
 
         for (var i = 0; i < redaktionen_kurz.length; i++) { 
           if (redaktionen_kurz[i] == seite)
           {
             var grund=prompt(kurz+'-Grund:','');
           } else {
             count = count-1;
           }
         }
         if (count == 0) {
           alert("Bitte achten Sie auf die korrekte Schreibung.");
         }
       }
     }
   }
 
   if (grund != null) {
     grund=trim(grund); 
     var speichernpa = (autosave) ? "&" + speichernp + "=1" : "";
 
     // Öffnen der Portal-/Redaktionsseite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
     var uri = encodeURI(wpath + wnamesp + seite +'&action=edit&section=new')
               + "&" + subjp + "="
               + encodeURIComponent( '[[' + lemma2 + ']]' )
               + "&" + textp + "="
               + encodeURIComponent( grund + ' ' + customsig + '\n' )
               + speichernpa;
     window.open(uri);
 
     // Vorlage eintragen 
     window.focus(); 
 
     var txt = '{{' + vorlage + '|' + seite + '}} \'\'' + grund + '\'\' ' + customsig + '\n----\n\n\n';


     if (isEdit) {
       document.editform.wpTextbox1.value = txt + document.editform.wpTextbox1.value;
       document.editform.wpSummary.value = kurz + '+';
       document.editform.wpWatchthis.checked = false;
       if (autosave) {
         if (document.getElementById("newarticletext")) {
           alert("Artikel wurde bereits gelöscht!");
         } else {
           absenden();
         }
       }
     } else {
       // Wir müssen die Seite erst zum Editieren öffnen
       uri = wpath + encodeURIComponent(lemma) + "&action=edit"
               + "&" + subjp + "=" + encodeURIComponent(kurz + "+")
               + "&" + insp + "=" + encodeURIComponent(txt)
               + speichernpa;
       location.href = uri;
     }
   }
 }
 
 // </nowiki>