Benutzer:Zacke/monobook.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
/*
   Mentors Monobook.js – Version 1.10.1
   (kompatibel mit Mentors Monobook.css – Version 1.3 oder höher)
   von Zacke
   mit fachlicher Unterstützung von (und herzlichem Dank an) Stefan, MichaelFrey und ganz besonders ParaDox.

   Features: Zusatzliche Mentoren-Box in der sidebar, darin Links auf MP-relevante Seiten und Kategorien 
             (MP, MP/D, MP/D neuer Abschnitt, MP/N, irc-Chat, eigene Mentorenseite [optional], MP-NB, MP-Kats,
             externe DB). Halbautomatisches Einfügen der eigenen Mentorenvorlage auf der Menteeseite und Begrüßungs-
             text für die Diskussionsseite.
             Anzeige der aktuell wartenden Neulinge durch Skript von Stefan und DerHexer.

   Der Quelltext kann bis auf die eventuelle Anpassung der eigenen Mentorenvorlage und -seite (var MenVorl und
   var MenSeit – gleich ganz oben) sowie der Eintragung der entsprechenden Co-Mentoren änderungslos ins persönliche 
   monobook.js übernommen werden. Es kann parallel zu PDDs Skript verwendet werden (einfach drunter kopieren).
   In diesem Fall muss die Variable PDD (auch ganz oben) auf = 'ja' gesetzt werden. Standardmäßig ist die Anpassung
   an PDDs natürlich deaktiviert. Mein Skript funktioniert zwar auch so, sieht aber wesentlich besser aus, wenn man
   auch Mentors Monobook.css übernimmt (zu finden unter ([[Benutzer:Zacke/monobook.css]]).
   Fragen und Anregungen auf meiner Diskussionsseite.
*/

var MenVorl = 'Mentor';      // Unterseitenname der eigenen Mentorenvorlage //
var MenSeit = 'Mentor';      // Unterseitenname der eigenen Mentorenseite (wenn nicht vorhanden, dann = '')  //

var CoM1 = 'Zenit';          // Name des ersten Co-Mentors //
var CoM2 = 'Ulli Purwin';    // Name des zweiten Co-Mentors //

var PDD = 'nein';            // = 'ja', wenn PDD-Script verwendet wird,  = 'nein', wenn nicht //

// gibt das aktuelle Datum in der Form dd/mm/yy aus //
function datum() {
    var date = new Date();
    var jahr = date.getYear() - 100;
    if ( jahr < 10 ) {
        jahr = '0' + jahr;
    }
    var monat = date.getMonth() + 1;
    if ( monat < 10 ) {
        monat = '0' + monat;
    }
    var tag = date.getDate();
    if ( tag < 10 ) {
        tag = '0' + tag;
    }
    var datum = '20' + jahr + '-' + monat + '-' + tag;
    return datum;
}

// spart nur Schreibaufwand //
function $(id) {
    return document.getElementById(id);
}

// erschafft eine horizontale Linie in angegebener Breite //
function linie(width) {
    var h = document.createElement('hr');
    h.width = width + 'px'
    return h;
}

// fügt am Ende des aktuellen Bearbeitungsfeldes die eigene Mentorenvorlage ein, markiert die Seite als beobachtet //
// und gibt als Zusammenfassung 'Ich bin jetzt Dein Mentor' an                                                     //
function uebernehmen() {
    document.editform.wpTextbox1.value += '\{\{Benutzer:' + wgUserName + '/' + MenVorl + '\}\}';
    document.editform.wpWatchthis.checked = true;
    document.editform.wpMinoredit.checked = false;
    document.editform.wpSummary.value = 'Ich bin jetzt Dein Mentor';
    document.editform.wpSummary.focus();
}

// fügt an der Cursorposition im aktuellen Bearbeitungsfeld einen Begrüßungstext für die Diskussionsseite  //
// des Mentees ein, Menteename, Mentor und CoMs werden automatisch ermittelt                               //
function begruessen() {
    insertTags('== Ich bin jetzt Dein Mentor ==\n\n[[Datei:MentorenProgrammLogo-7.svg|150px|right]]\nHallo \{\{subst:PAGENAME\}\}, willkommen im [[Wikipedia:Mentorenprogramm|Mentorenprogramm]].\n\nDa Du keinen speziellen Wunschmentor angegeben hast, habe ich mir erlaubt, Dich in \'\'meine\'\' Betreuung zu übernehmen. Das heißt, ich bin jetzt Dein Ansprechpartner und derjenige, der versuchen wird, Dich auf Deinen ersten Schritten so gut wie möglich zu begleiten. Solltest Du nicht mit mir einverstanden sein, kannst Du mir gern Bescheid geben, wir werden dann schon einen passenden Mentor finden.\n\nWie Deine Betreuung ablaufen könnte, kannst Du in [[Wikipedia:Mentorenprogramm/Programm|unserer neuen Programmdarstellung]] nachlesen. Wenn es Dir einzig darum geht, \'\'einen\'\' Artikel zu schreiben und Dich danach wieder von der Wikipedia zu verabschieden, könnten wir uns die anderen Schritte auch sparen und gleich zum Schreiben übergehen. Bist Du aber an einer längeren, aktiven Beteiligung in verschiedenen Bereichen interessiert, würde ich das Durchlaufen aller Schritte empfehlen.\n\nAm Besten schreibst Du mir einfach mal grob auf, was Du in der Wikipedia vorhast und was Du Dir von der Betreuung versprichst.\n\nWenn Du Fragen hast, stehe ich Dir jederzeit auf meiner [[Benutzer Diskussion:' + wgUserName + '|Diskussionsseite]] oder auch hier zur Verfügung. Bitte signiere Deine Diskussionsbeiträge immer mit <nowiki>-- ~~~~</nowiki>. Sollte ich Dir mal zu lange eine Antwort schuldig bleiben, kannst Du auch einen meiner Co-Mentoren, [[Benutzer Diskussion:' + CoM1 + '|' + CoM1 + ']] oder [[Benutzer Diskussion:' + CoM2 + '|' + CoM2 + ']], kontaktieren oder mir eine [[Spezial:E-Mail/' + wgUserName + '|E-Mail]] schreiben.\n\n-- \~\~\~\~', '', '');
}

// erschafft einen einfachen Link für die mpBox //
function mpBoxLink(url, name) {
    var a = document.createElement('a');
    a.href = url;
    a.appendChild(document.createTextNode(name));
    return a;
}

// erschafft einen Link mit einem Aufzählungszeichen für die mpBox //
function mpBoxLiLink(url, name, click) {
    var a = document.createElement('a');
    a.href = url;
    a.appendChild(document.createTextNode(name));
 
    var l = document.createElement('li');
    l.appendChild(a);
    if ( click != null ) {
        var html = l.innerHTML.replace(/<a href="#">/, '<a href="#" onclick="' + click + '">');
        l.innerHTML = html;
    }
    return l;
}

// Zusammenbau und Einfügen der mpBox; wird verwendet wenn var PDD = 'nein' //
function mpBox() {
    var mpBoxTitle = document.createElement('p');
    mpBoxTitle.id = 'p-mpBoxTitle';
    mpBoxTitle.appendChild(mpBoxLink('/wiki/Wikipedia:Mentorenprogramm', 'Mentorenprogramm:'));

    var u1 = document.createElement('ul');
    var l1 = document.createElement('li');
    l1.appendChild(mpBoxLink('/wiki/Wikipedia_Diskussion:Mentorenprogramm', 'Disku'));
    l1.appendChild(mpBoxLink('/w/index.php?title=Wikipedia_Diskussion:Mentorenprogramm&action=edit&section=new', ' +'));
    l1.appendChild(document.createTextNode(' / '));
    l1.appendChild(mpBoxLink('/wiki/Wikipedia:Mentorenprogramm/News', 'News'));
    l1.appendChild(document.createTextNode(' / '));
    l1.appendChild(mpBoxLink('irc://irc.freenode.net/wikipedia-de-mp', 'Chat'));
    u1.appendChild(l1);
    if ( MenSeit != '') {
        u1.appendChild(mpBoxLiLink('/wiki/Benutzer:' + wgUserName + '/' + MenSeit, 'Meine Mentorenseite'));
    }
    u1.appendChild(mpBoxLiLink('#', '+ MentorVorlage', 'uebernehmen()'));
    u1.appendChild(mpBoxLiLink('#', '+ Begrüßung', 'begruessen()'));

    var u2 = document.createElement('ul');

    var l2 = document.createElement('li');
    l2.appendChild(mpBoxLink('/wiki/Wikipedia:Mentorenprogramm/Projektorganisation', 'Mentees'));
    l2.appendChild(document.createTextNode(' ( '));
    l2.appendChild(mpBoxLink('/wiki/Kategorie:Mentor_gesucht', menteecount));
    l2.appendChild(document.createTextNode(' | '));
    l2.appendChild(mpBoxLink('/wiki/Kategorie:Wunschmentor_gesucht', wmenteecount));
    l2.appendChild(document.createTextNode(' )'));
    u2.appendChild(l2);

    u2.appendChild(mpBoxLiLink('http://www.dbwiki.de/mp/', 'MP-DB'));

    var mpBox = document.createElement('p');
    mpBox.id = 'p-mpBox';
    mpBox.appendChild(u1);
    mpBox.appendChild(linie('135'));
    mpBox.appendChild(u2);

    $('column-one').insertBefore(mpBoxTitle, $('p-navigation')); 
    $('column-one').insertBefore(mpBox, $('p-navigation'));
}

// erschafft einen Link für die mit PDDs kompatible Version //
function PDDLink(url, name, click) {
    var a = document.createElement('a');
    a.href = url;
    a.appendChild(document.createTextNode(name));
 
    var p = document.createElement('p');
    p.appendChild(a);
    if ( click != null ) {
        var html = p.innerHTML.replace(/<a href="#">/, '<a href="#" onclick="' + click + '">');
        p.innerHTML = html;
    }
    return p;
}

// Mit PDDs kompatible Version; wird verwendet, wenn var PDD = 'ja' //
function mpPDD() {
    var p1 = document.createElement('p');
    p1.appendChild(mpBoxLink('/wiki/Wikipedia:Mentorenprogramm', 'MP: '));
    p1.appendChild(document.createTextNode(' '));
    p1.appendChild(mpBoxLink('/wiki/Wikipedia_Diskussion:Mentorenprogramm', 'Disk '));
    p1.appendChild(mpBoxLink('/w/index.php?title=Wikipedia_Diskussion:Mentorenprogramm&action=edit&section=new', '+ '));
    p1.appendChild(mpBoxLink('/wiki/Wikipedia:Mentorenprogramm/News', 'News '));
    p1.appendChild(mpBoxLink('irc://irc.freenode.net/wikipedia-de-mp', 'Chat '));
    if ( MenSeit != '') {
        p1.appendChild(mpBoxLink('/wiki/Benutzer:' + wgUserName + '/' + MenSeit, 'Meins '));
    }

    p1.appendChild(document.createTextNode('Kat ('));
    p1.appendChild(mpBoxLink('/wiki/Kategorie:Mentor_gesucht', menteecount));
    p1.appendChild(document.createTextNode('/'));
    p1.appendChild(mpBoxLink('/wiki/Kategorie:Wunschmentor_gesucht', wmenteecount));
    p1.appendChild(document.createTextNode(')'));
    p1.appendChild(mpBoxLink('http://www.dbwiki.de/mp/', 'DB'));

    var p2 = document.createElement('p');
    p2.appendChild((PDDLink('#', 'MENTOR+ ', 'uebernehmen()')).firstChild);
    p2.appendChild((PDDLink('#', 'HALLO+ ', 'begruessen()')).firstChild);

    $('p-quickbar').appendChild(linie('135'));
    $('p-quickbar').appendChild(p1);
    $('p-quickbar').appendChild(p2);
}

// entscheidet anhand der var PDD, was verwendet wird //
if ( PDD == 'nein' ) {
         if (window.addEventListener) window.addEventListener("load", mpBox, false);
    else if (window.attachEvent)      window.attachEvent(   "onload", mpBox);
}
if ( PDD == 'ja' ) {
         if (window.addEventListener) window.addEventListener("load", mpPDD, false);
    else if (window.attachEvent)      window.attachEvent(   "onload", mpPDD);
}

// Skript: Wartende Neulinge                  //
// Idee: Stefan, Skript: DerHexer             //
// gibt die Anzahl der wartenden Neulinge aus //
function newRequest() {
    try {
        if (window.XMLHttpRequest) {
            return new XMLHttpRequest();
        } else {
            return new ActiveXObject("MSXML2.XMLHTTP");
        }
    } catch (e) {
            return false;
    }
}
 
var req;
    if (req = newRequest()) {
    var text = "/w/api.php?format=xml&action=query&prop=categoryinfo&titles=Kategorie:Mentor gesucht";
    req.open("GET", text, false);
    req.send("");
 
    var menteecount = req.responseXML.getElementsByTagName("categoryinfo")[0].getAttributeNode("pages").nodeValue;
}

  var req;
    if (req = newRequest()) {
    var text = "/w/api.php?format=xml&action=query&prop=categoryinfo&titles=Kategorie:Wunschmentor gesucht";
    req.open("GET", text, false);
    req.send("");
    var wmenteecount = req.responseXML.getElementsByTagName("categoryinfo")[0].getAttributeNode("pages").nodeValue;
  }

// Skript: Vorlage austauschen                //
// von Ireas                                  //

importScript('Benutzer:Ireas/mentorenscript.js'); //[[Benutzer:Ireas/mentorenscript.js]]

/*
   Ende von Mentors Monobook.js
*/