Zum Inhalt springen

Benutzer:DerHexer/hinweise.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. Oktober 2006 um 00:34 Uhr durch DerHexer (Diskussion | Beiträge) (k). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
 // 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=';
   var wnamesp = 'Wikipedia:';

   var isSpecial  = (wgCanonicalNamespace == "Special");
   var isEdit    = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
   // uri-parameter
   // benutzt in aktion2() aus hinweise.js
   var subjh      = 'subj';       //Subject
   var texth      = 'txt';        //Für Text-Austausch
   var insh       = 'ins';        //Vor dem Text einfügen
   var speichernh = 'speichern';  //Auf "Speichern" klicken 
 
   // 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 = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
   if (typeof(isContrib) == 'undefined')
       isContrib = ( (wgCanonicalNamespace == "Special") && (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 = wnamesp + "Redaktion_";
   }
 
   var standardsig = '--\~\~\~\~';
   var customsig;
   if (typeof(usersignature) == 'undefined')
      customsig = standardsig;
   else
      customsig = usersignature;
 
   var lemma = getLemma2();
   var lemma2;
   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: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 + "• " + redaktionen_kurz[i] + "\n";
     }
     text = text + "\nGeben Sie im folgenden Feld bitte einen dieser Namen korrekt ein.";
     var count = redaktionen_kurz.length;
     var seite = prompt(text, '');
     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 speichernha = (autosave) ? "&" + speichernh + "=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')
               + "&" + subjh + "="
               + encodeURIComponent( '[[' + lemma2 + ']]' )
               + "&" + texth + "="
               + encodeURIComponent( grund + ' ' + customsig + '\n' )
               + speichernha;
     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"
                 + "&" + subjh + "=" + encodeURIComponent(kurz + "+")
                 + "&" + insh + "=" + encodeURIComponent(txt)
                 + speichernha;
       }
     }
   }
   if ((isEdit) && (!isSpecial)) {
     addOnloadHook(aktion2);
   }
 }
 
 //
 // Helper-Funktion getLemma()
 // extrahiert Lemma, entfernt "Bild:" und "Kategorie:"
 // (aufgerufen von eintragen() und nowcomm() aus der eintragen.js)
 //
 
 function getLemma2() { //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;
 }

 // 
 // Funktion aktion2
 // Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
 // (aufgerufen in der Init()-Funktion der monobook.js)
 //
 
 function aktion2() {  //Littl, (k)Revvar
   if (UrlParameters[subjh]>"")
      document.editform.wpSummary.value = UrlParameters[subjh];
   if (UrlParameters[texth]>"")
      document.editform.wpTextbox1.value = UrlParameters[texth];
   if (UrlParameters[insh]>"")
      document.editform.wpTextbox1.value = UrlParameters[insh]
                                           + document.editform.wpTextbox1.value;
   if (UrlParameters[speichernh] == "1") 
     absenden();
 }

 // </nowiki>