Benutzer:Plenz/monobook.js

In der heutigen Welt ist Benutzer:Plenz/monobook.js zu einem Thema von großer Bedeutung und Interesse geworden, sowohl für Experten als auch für die breite Öffentlichkeit. Seit seiner Entstehung hat Benutzer:Plenz/monobook.js die Aufmerksamkeit von Menschen jeden Alters und jeder Nationalität auf sich gezogen und Debatten und Diskussionen in verschiedenen Bereichen ausgelöst. Seine Auswirkungen waren so bedeutend, dass es ihm gelungen ist, die Entscheidungsfindung auf globaler Ebene sowie die Entwicklung verschiedener Branchen und Sektoren zu beeinflussen. In diesem Artikel werden wir die Relevanz von Benutzer:Plenz/monobook.js, seine Auswirkungen und mögliche Zukunftsszenarien eingehend analysieren, um eine umfassende Vision dieses Themas zu bieten, das in der heutigen Gesellschaft ein Vorher und Nachher geprägt hat.
// clont Map-Link
window.setTimeout(function() {
//  return;
  var i, j, sp, h1, h2, h3, hr, hn, tx, ns;
  for (i = 0; i < document.getElementsByTagName("a").length; i++) {
    h1 = document.getElementsByTagName("a");
    hr = h1.getAttribute("href");
    if (hr && hr.indexOf("osm4wiki") > 0) {
      tx = document.createTextNode(" / ");
      h1.parentNode.insertBefore(tx, h1);
      h2 = document.createElement("a");
      hn = hr.replace(/\/wiki\//, "/wiki-v1/");
      h2.setAttribute("href", hn);
      tx.parentNode.insertBefore(h2, tx);
      tx = document.createTextNode("OSMold");
      h2.appendChild(tx);

      tx = document.createTextNode(" / ");
      h2.parentNode.insertBefore(tx, h2);
      h3 = document.createElement("a");
      hn = hr.replace(/\/wiki\//, "/work/");
      h3.setAttribute("href", hn);
      tx.parentNode.insertBefore(h3, tx);
      tx = document.createTextNode("OSMwork");
      h3.appendChild(tx);

      tx = document.createTextNode(" / ");
      h2.parentNode.insertBefore(tx, h3);
      h3 = document.createElement("a");
      hn = hr.replace(/https:\/\/osm4wiki.toolforge.org\/cgi-bin\/wiki\/wiki-osm.pl/, "https://www.lenz-online.de/cgi-bin/wiki2/wiki-osm.pl");
      h3.setAttribute("href", hn);
      tx.parentNode.insertBefore(h3, tx);
      tx = document.createTextNode("Lenz");
      h3.appendChild(tx);
      i++;
      i++;
      i++;
    }
  }
}, 199);   


/*<pre>*/
/* Entfernt mehrfache Einträge zu einem Lemma aus der Beobachtungsliste, */
/* dabei beiben aber alle Bot-Edits plus 1 menschlicher Edit stehen.     */
/* Erst die Bot-Einträge NACH dem menschlichen Edit werden ebenfalls     */
/* entfernt. Zur Benutzung: in den Benutzereinstellungen                 */
/* "Erweiterte Beobachtungsliste zur Anzeige aller Änderungen" ankreuzen */
/* und die maximale Zahl der Einträge auf 1000 setzen.                   */

if (document.title.indexOf("Beobachtungsliste") > -1 ) {
  var a, i, u, l, kn, at, cl, lk, nl, ul, li, ll, le, bo, tx;
  var ct = 0;
  var lz = 0;
  leli = new Array();                                       // Liste zu löschender Lemmata
  for (u = 0; u < document.getElementsByTagName("ul").length; u++) {
    ul = document.getElementsByTagName("ul");
    cl = ul.getAttribute("class");
    if (cl && cl.indexOf("special") > -1) {                 // alle Listen für jeden Tag durchgehen
      li = ul.firstChild;
      while (li) {                                          // alle Einträge der jeweiligen Liste durchgehen
        if (li.firstChild) {                                // Eintrag, kein Textknoten
          ct++;                                             // Eintrag zählen
          kn = li.firstChild;
          bo = 0;                                           // Bot-Flag
          cl = 0;                                           // Lösch-Flag
          le = "";                                          // Lemma o.ä.
          do {
            if (kn.getAttribute) {                          // Textknoten übergehen
              a = kn;
              at = a.getAttribute("class");
//            if (at && at == "mw-watched") {                // STRONG --> nächste Ebene
              if (at && at == "mw-changeslist-line-inner") { // STRONG --> nächste Ebene
                a = a.firstChild;
              }
              at = a.getAttribute("title");
              if (at && le == "") {le = at}                 // Lemma o.ä. gefunden
              at = a.getAttribute("class");
              if (at && at == "bot") {bo = 1}               // Bot gefunden
              if (at && at == "comment") {                  // Link zum Kapitel
                at = a.firstChild;                          // Textknoten
//                at = at.nextSibling;                        // autocomment?
//                if (at && at.getAttribute("class") == "autocomment") {
//                  at = at.firstChild;
//                  at = at.getAttribute("href");             // Link zum Kapitel
//                  lk.setAttribute("href", at);              // in Lemma-Link einsetzen
//                }
              }
              at = a.getAttribute("href");
              if (at) {                                     // verkürzen
                tx = a.firstChild;
                if (tx.data == "Unterschied") {tx.data = "Diff."}
                if (tx.data == "Versionen")   {tx.data = "V."}
              }
              at = a.getAttribute("class");
              if (at && at == "mw-title") {a = a.firstChild;}
              if (at && a.firstChild.data == le) {          // Link zum Lemma --> Entscheidung jetzt!
                lk = a;                                     // wichtigster Link
                for(l = 0; l < leli.length; l++) {          // Liste nach diesem Lemma durchsuchen
                  if (leli == le) {cl = 1}               // schon in der Liste --> Löschflag setzen
                }
                if (cl < 1 && bo < 1) {leli.push(le)}       // kein Bot-Eintrag: Lemma in die Liste
              }
            }
            kn = kn.nextSibling;                            // nächster Bestandteil des Eintrages
          } while (kn && cl < 1);                           // weiter bis zum Ende
        }
        lk = li;                                            // Löschkandidat
        li = li.nextSibling;                                // nächster Eintrag
        if (li && li.data) {li = li.nextSibling}            // Textknoten überspringen
        if (cl > 0) {                                       // Löschflag gesetzt:
          cl = lk;                                          // Löschkandidat
          lk = lk.nextSibling;                              // folgender Textknoten
          cl.parentNode.removeChild(cl);                    // Eintrag löschen
          lz++;                                             // und zählen
          if (lk && lk.nodeType == 3) {                     // gibt es einen Textknoten?
            lk.parentNode.removeChild(lk);                  // Textknoten löschen
          }
        } else {
          nl = ct;                                          // Nicht-gelöscht-Zähler
          ll = lk;                                          // nicht gelöschter Kandidat 
        }
      }
    }
  }
  li = document.createElement("li");
  ll.appendChild(li);
  at = "Der letzte Eintrag war der " + nl + ". auf der Liste. " + lz + " von " + ct + " entfernt.";
  at = document.createTextNode(at);
  li.appendChild(at);
}





/* lässt Navigation/Werkzeug/etc. auf gleichbleibender Höhe       */
/* fügt Link zum Hochladen auf Wikimedia Commons hinzu            */
/* fügt Links "nach oben scrollen" und "nach unten scrollen" ein  */
/* schaltet Liste "Andere Spachen" aus und ein                    */


var langdisplay = "off";                                        // Schalter für Sprachen-Tabelle

var mani = window.setInterval(function() { Manipul() }, 100);   // Manipulationen


function Manipul() 
{
  kn = document.getElementById("t-upload");           // Link zum Hochladen
  if (!kn) {return}                                   // noch nicht geladen, weiter versuchen
  window.clearInterval(mani);                         // nicht weiter versuchen
  window.setInterval(function() { ScrollV() }, 100);  // Navi-Leiste scrollen

  kn = document.getElementById("p-coll-print_export");   // Buch/PDF/Druckversion erstellen...
  if (kn) {kn.parentNode.removeChild(kn)}                // ... braucht kein Mensch

  kn = document.getElementById("t-upload");              // Hochladen --> deutsch
  kn = kn.firstChild;
  var t = "Lade Bilder oder andere Multimedia-Dateien ";
  t = t + "auf die deutsche Wikipedia hoch ";
  kn.setAttribute("TITLE", t);
  kn = kn.firstChild;
  kn.data = "Hochladen (deutsch)";

  kn = document.getElementById("n-randompage");          // Zufälliger Artikel
  kn = kn.firstChild.firstChild;
  kn.data = "Zufäll. Artikel";

  kn = document.getElementById("t-upload");
  sc = document.createElement("LI");
  sc.setAttribute("ID", "t-uploadComm");
  kn.parentNode.insertBefore(sc, kn);
  kn = sc;
  sc = document.createElement("A");                      // Hochladen --> Commons
  kn.appendChild(sc);
  t = "Lade Bilder oder andere Multimedia-Dateien ";
  t = t + "auf die Wikimedia Commons hoch";
  sc.setAttribute("TITLE", t);
  sc.setAttribute("TARGET", "_WindowCommons");
  sc.setAttribute("HREF", "http://commons.wikimedia.orghttps://wikifreehand.com/de/Special:Upload");
  sc.appendChild(document.createTextNode("Hochladen (Commons)"));


  kn = document.getElementById("p-navigation");  // Navi-Kasten schmaler
  kn.style.width = "87pt";

  kn = document.getElementById("p-navigation");      // Navigation   p-navigation
  sc = document.createElement("DIV");
  sc.setAttribute("ID", "n-scrollen");
  sc.style.position = "relative";
  sc.style.display = "table";
  sc.style.height = "70pt";
  sc.style.width = "18pt";
  sc.style.marginLeft = "89pt";
  sc.style.marginTop = "-65pt";
  kn.parentNode.insertBefore(sc, kn);
  kn = sc;

  sc = document.createElement("A");                // Link --> nach oben scrollen
  sc.style.position = "relative";
  sc.style.top = "4pt";
  sc.style.cursor = "pointer";
  sc.style.textDecoration = "none";
  sc.setAttribute("TITLE", "nach oben scrollen");
  sc.setAttribute("onClick", "javascript:scrollup()");
  sc.appendChild(document.createTextNode("▲"));
  sc.style.fontSize = "2em";
  kn.appendChild(sc);

  sc = document.createElement("BR");               // Zwischenraum erzeugen
  kn.appendChild(sc);
  sc = document.createElement("BR");               // Zwischenraum erzeugen
  kn.appendChild(sc);

  sc = document.createElement("A");                // Link --> nach unten scrollen
  sc.style.cursor = "pointer";
  sc.style.textDecoration = "none";
  sc.setAttribute("TITLE", "nach unten scrollen");
  sc.setAttribute("onClick", "javascript:scrolldn()");
  sc.appendChild(document.createTextNode("▼"));
  sc.style.fontSize = "2em";
  sc.setAttribute("display", "none");
  kn.appendChild(sc);


  kn = document.getElementById("p-lang");                           // Andere Sprachen:
  if (kn)                                                           // vorhanden
  {
    kn = document.getElementById("t-upload");                       // "Hochladen"
    sc = document.createElement("LI");
    sc.setAttribute("ID", "t-sprache");
    kn.parentNode.appendChild(sc);
    kn = sc;
    sc = document.createElement("A");                               // Schalter hinzufügen
    kn.appendChild(sc);
    sc.setAttribute("TITLE", "Liste der Sprachen zeigen");
    sc.style.cursor = "pointer";
    sc.setAttribute("onClick", "javascript:togglesprache()");
    sc.appendChild(document.createTextNode("Sprachen zeigen"));
  }
}



function ScrollV()
{
  var kn;
  var sc = window.pageYOffset;
  if (sc < 150) {sc = 0} else {sc = 0.75 * (sc - 150)}
  kn = document.getElementById("p-search");
  if (kn) {kn.style.position = "relative"}
  if (kn) {kn.style.top = sc + "pt"}
  kn = document.getElementById("p-navigation");
  if (kn) {kn.style.position = "relative"}
  if (kn) {kn.style.top = sc + "pt"}
  kn = document.getElementById("p-Mitmachen");
  if (kn) {kn.style.position = "relative"}
  if (kn) {kn.style.top = sc + "pt"}
  kn = document.getElementById("p-tb");
  if (kn) {kn.style.position = "relative"}
  if (kn) {kn.style.top = sc + "pt"}
  kn = document.getElementById("n-raufrunter");
  if (kn) {kn.style.position = "relative"}
  if (kn) {kn.style.top = sc + "pt"}
  kn = document.getElementById("n-scrollen");
  if (kn) {kn.style.position = "relative"}
  sc = sc + 83;
  if (kn) {kn.style.top = sc + "pt"}




  kn = document.getElementById("p-lang");                           // Andere Sprachen:
  if (kn)                                                           // vorhanden
  {
    if (langdisplay == "off") {sc = "hidden"} else {sc = "visible"} // aus oder ein
    kn.style.visibility = sc;
  }
}



function togglesprache()
{ 
  var kn;
  if (langdisplay == "off") 
  {
    langdisplay = "on";
    kn = document.getElementById("t-sprache");
    kn.firstChild.setAttribute("TITLE", "Liste der Sprachen verstecken");
    kn.firstChild.firstChild.data = "Sprachen verstecken";
  } 
  else 
  {
    langdisplay = "off";
    kn = document.getElementById("t-sprache");
    kn.firstChild.setAttribute("TITLE", "Liste der Sprachen zeigen");
    kn.firstChild.firstChild.data = "Sprachen zeigen";
  }
}


function scrollup() {window.scrollTo(0, 0)}


function scrolldn() {window.scrollTo(0, 100000000)}




window.setTimeout("scrolltextarea()",3000); 

function scrolltextarea() 
{
  var ip = document.getElementById("wpSummary");              // neues Kapitel
  if (ip)
  {
    ip.setAttribute("maxlength", "999");                      // Reverten braucht viel Platz
    if (ip.value < "!") 
    {ip.focus()}
    else
    {
      var ip = document.getElementById("wpTextbox1");         // scrollt zum Eingabefenster
      if (ip) {ip.focus()}
    }
  }
}



window.setTimeout(function()
{
  var no, nn, nu, ip;
  ip = window.document.getElementsByTagName("TITLE").firstChild.nodeValue;
  if (ip.search(/Benutzer:Plenz /) > -1)
  {
    no = window.document.getElementById("toctitle");
    no = no.nextSibling;                                  // UL
    no = no.lastChild;                                    // letztes LI
    nu = no.firstChild.firstChild.firstChild.data;
    nn = no.cloneNode(true);
    no.parentNode.appendChild(nn);                        // Kopie einbauen
    no = nn.firstChild;                                   // A
    no.href = "http://de.wiki" + "pedia.orghttps://wikifreehand.com/de/Benu" + "tzer:Ple" + "nz/U" + "DO";
    no = no.firstChild;                                   // SPAN
    no.firstChild.data = nu * 1 + 1;                      // Zähler
    no = no.nextSibling;
    no = no.nextSibling;
    no.firstChild.data = "UDO";
  }
  if (ip.search(/Beobachtungsliste/) > -1)
  {
    no = window.document.getElementById("contentSub");
    no = no.lastChild;                                    // letztes A
    no.href = "http://en.wikipedia.orghttps://wikifreehand.com/de/Special:Watchlist";
    no.firstChild.data = "EN";
  }
}, 1000);




// var umlkorr = window.setInterval("UmlautKorr()",5000);   // Umlaute korrigieren

function UmlautKorr()
{
  var ta = document.getElementById("wpTextbox1");
  if (ta)
  {
    var tx = ta.value; 
    tx = tx.replace(/%28/ig,    "(");
    tx = tx.replace(/%29/ig,    ")");
    tx = tx.replace(/%C3%A4/ig, "ä");
    tx = tx.replace(/%C3%B6/ig, "ö");
    tx = tx.replace(/%C3%BC/ig, "ü");
    tx = tx.replace(/%C3%9F/ig, "ß");
    tx = tx.replace(/%C3%84/ig, "Ä");
    tx = tx.replace(/%C3%96/ig, "Ö");
    tx = tx.replace(/%C3%9C/ig, "Ü");
//    ta.focus();
//    var start = tx.selectionStart;
//    var range = document.selection.createRange();
//    alert(start);
//    document.getElementById("wpTextbox1").value = tx;
  }
}



var ti = document.getElementsByTagName("TITLE");
ti = ti.firstChild.nodeValue;
if (ti.search(/Beobachtungsliste/) > -1) {
  window.setTimeout(function() {paintwatch()}, 1000);
}


function paintwatch() {
  var h, h4, da, li, tx, uz, dac, uzc, ti;
  var li1 = "";
  var rot = 0;
  for (var h=0; h<document.getElementsByTagName("h4").length; h++) {
    h4 = document.getElementsByTagName("h4");
    da = h4.firstChild.data;
    if (da.substr(1, 1) == ".") {da = "0" + da}
    da = da.substr(0, 7) + da.match(/ \d\d\d\d/);
    da = datconv(da);
    li = h4.nextSibling.nextSibling.firstChild;
    if (li1 == "") {li1 = li;}
    do {
      uz = li.firstChild;
      if (! uz) {alert(h4.firstChild.data)}
      do {
        uz = uz.nextSibling;
      } while (! uz.data || uz.data.search(/\d\d:\d\d/) < 1)
      uz = uz.data.match(/\d\d:\d\d/);
      li.setAttribute("id", da + " " + uz);                          // IDs setzen
    } while ((li = li.nextSibling) && (li = li.nextSibling))
  }

  dac = readcookie("LastWatchDate");                                 // Datum   aus Cookie

  for (h=0; h<document.getElementsByTagName("li").length; h++) {
    li = document.getElementsByTagName("li");
    li.style.backgroundColor = "transparent";
    da = li.getAttribute("id");
    if (da && da > dac && da.match(/\d\d\d\d/)) {
      li.style.backgroundColor = "#F8E8D8";                          // rosa
      rot = 1;
    }
  }
  ti = document.getElementsByTagName("TITLE");
  if (rot > 0) {
    h4 = document.getElementsByTagName("h4");
    li = document.createElement("a");
    tx = document.createTextNode("OK");
    li.appendChild(tx);
    h4.appendChild(li);
    li.style.paddingLeft = "2em";
    li.style.fontWeight = "normal";
    li.style.cursor = "pointer";
    li.setAttribute("id", "pwclick");
    li.setAttribute("onclick", "paintwatch()");
    tx = ti.text;
    if (tx.indexOf("!") < 0) {ti.text = "!!! " + tx}
  }
  else {
    document.getElementsByTagName("h4").style.backgroundColor = "#DDFFCC";   // gruen
    li = document.getElementById("pwclick");
    if (li) {li.parentNode.removeChild(li)}
    tx = ti.text;
    if (tx.indexOf("!") > -1) {ti.text = tx.substr(4,99)}
  }
  if (document.getElementById("permclick")) {return}    // alles schon vorhanden

  da = new Date();
  uz = da.getTime() + 31 * 24 * 60 * 60 * 1000;
  da.setTime(uz);
  uz = da.toGMTString();
  li = document.getElementsByTagName("h4");
  li = li.nextSibling.nextSibling.firstChild;
  tx = li.getAttribute("id");
  document.cookie = "LastWatchDate=" + tx + "; expires=" + uz;

  h4 = document.getElementsByTagName("h4");
  li = document.createElement("a");
  h4.appendChild(li);
  li.setAttribute("id", "permclick");
  li.style.paddingLeft = "20em";
  li.style.fontWeight = "normal";
  li.style.cursor = "pointer";
  ur = window.location.href;
  if (ur.search(/watchperm=1/) > 0) {
    li.setAttribute("onclick", "permunwatch()");
    tx = document.createTextNode("nicht wachen");
    li.appendChild(tx);
    li = document.createElement("span");
    li.style.fontWeight = "normal";
    h4.appendChild(li);
    uz = da.getHours();
    h4 = da.getMinutes() + 30;
    if (h4 > 59) {
      h4 = h4 - 60;
      uz++;
    }
    if (uz > 23) {uz = uz - 24}
    if (h4 < 10) {h4 = "0" + h4}
    uz = " (wartet bis " + uz + ":" + h4 + ")";
    tx = document.createTextNode(uz);
    li.appendChild(tx);
    window.setTimeout("javascript:location.reload()", 1800000);
  }
  else {
    li.setAttribute("onclick", "permwatch()");
    tx = document.createTextNode("wachen");
    li.appendChild(tx);
  }
}


function datconv(d) {
  var t = d.substr(0, 2);
  var j = d.substr(8, 4);
  var m = d.substr(4, 3);
  if (m == "Jan") {m = "01";}
  if (m == "Feb") {m = "02";}
  if (m == "Mär") {m = "03";}
  if (m == "Apr") {m = "04";}
  if (m == "Mai") {m = "05";}
  if (m == "Jun") {m = "06";}
  if (m == "Jul") {m = "07";}
  if (m == "Aug") {m = "08";}
  if (m == "Sep") {m = "09";}
  if (m == "Okt") {m = "10";}
  if (m == "Nov") {m = "11";}
  if (m == "Dez") {m = "12";}
  return(j + "-" + m + "-" + t);
}


function permwatch() {
  var ur = window.location.href;
  window.location.href = ur + "&watchperm=1";
}

function permunwatch() {
  var ur = window.location.href;
  var li = ur.indexOf("watchperm") - 1;
  window.location.href = ur.substr(0, li);
}

function readcookie(su) {
  var co = "aa" + document.cookie + ";ee";
  var le = su.length;
  var an = co.indexOf(su);
// alert(co + " --> " + su + " --> " + an);
  if (an < 1) {return(-1);}
  an = an + le + 1;
  var en = co.indexOf(";", an);
  le = en - an
  en = co.substr(an, le);
  return(en);
}


/*</pre>*/