Zum Inhalt springen

Benutzer:Joschua/upn.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Januar 2007 um 05:33 Uhr durch Joschua (Diskussion | Beiträge). 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
 // '''Test''' (Kopieren auf eigene gefahr...)
 function upnInit(){
   // Wiki-Adresse meist /wiki/ mancherorts /wiki/index.php/
   var upnWikiAddr = '/wiki/';
  
   // Wiki Datenbankname (Für den Beitragszähler)
   var upnWikiDB = 'dewiki_p';
  
   // Einstellungen Benutzerseite
   // 1. Name der Benutzerseite in der eingestellten Sprache (Siehe Adresszeile des Browsers)
   // 2. Regulärer Ausdruck zum erkennen ob eine solche Seite aufgerufen wurde.
   var upnUserName = 'Benutzer';
   var upnIsUserPage = new RegExp('^' + upnWikiAddr + upnUserName + '(_[A-Za-z]*)?:', 'g').test(window.location.pathname);
 
   // Benutzer Log
   // 1. Name der Logbuch-Seite in der eingestellten Sprache (Siehe Adresszeile des Browsers)
   // 2. Regulärer Ausdruck zum erkennen ob eine solche Seite aufgerufen wurde.
   var upnLogName = "Spezial:Logbuch";
   var upnIsLogPage = new RegExp('.*title=' + upnLogName  + '.*user=.+').test(window.location.search);
 
   // Benutzer Suche (Benutzerbeiträge im Benutzernamensraum)
   // 1. Name der Such-Seite in der eingestellten Sprache (Siehe Adresszeile des Browsers)
   // 2. Regulärer Ausdruck zum erkennen ob eine solche Seite aufgerufen wurde.
   var upnAllPagesName = "Spezial:Alle_Seiten";
   var upnIsAllPagesPage = new RegExp('.*title=' + upnAllPagesName + '.*from=.+').test(window.location.search);
 
   // Benutzerbeiträge
   // 1. Name der Benutzerbeitrags-Seite in der eingestellten Sprache  (Siehe Adresszeile des Browsers)
   // 2. Regulärer Ausdruck zum erkennen ob eine solche Seite aufgerufen wurde.
   var upnContributionsName = "Spezial:Beitr%C3%A4ge";
   var upnIsContributionsPage = new RegExp('^' + upnWikiAddr + upnContributionsName + '/.+').test(window.location.pathname);
 
   // E-Mail
   // 1. Name der E-Mail Seite in der eingestellten Sprache  (Siehe Adresszeile des Browsers)
   // 2. Regulärer Ausdruck zum erkennen ob eine solche Seite aufgerufen wurde.
   var upnMailName = 'Spezial:E-Mail';
   var upnIsMailPage = new RegExp('^' + upnWikiAddr + upnMailName + '/.+').test(window.location.pathname);
 
   // Sprache
   // Soll ein Link anders lauten, kann die Bezeichnung hier geändert werden. 
   // Siehe weiter Unten, falls ein Link nicht angezeigt werden soll.
   var upnLangFor = 'Für ';
   var upnLangTalk = 'Diskussion';
   var upnLangTalkNewSection = ' <small>(neu)</small>';
   var upnLangContributions = 'Beitr&auml;ge';
   var upnLangUserSubPages = 'Benutzerseiten';
   var upnLangLogBlock = 'Blockadenlogbuch';
   var upnLangLog = 'Logb&uuml;cher';
   var upnLangEditcount = "Editcount";
   var upnLangMail = 'E-Mail';
   var upnLangTrust = 'Vertrauen';
 
   // Prüfe ob ich mich auf einer Benutzerseite befinde.
   if(upnIsUserPage || upnIsContributionsPage || upnIsLogPage || upnIsMailPage || upnIsAllPagesPage) {
     // Hierhin wird der Text gepaarst
     var upnTarget = document.getElementById("contentSub");
 
     // Benutzernamen aus der Adresszeile des Browsers auslesen.
     if(upnIsUserPage) {
       // Ich befinde mich auf einer Benutzerseite
       var upnCurrentUser = window.location.pathname.replace(new RegExp('.*' + upnUserName + '[^:]*:([^\/]+).*'), '$1');
     } else if(upnIsContributionsPage) {
       // Ich befinde mich auf der Beiträge-Seite.
       var upnCurrentUser = window.location.pathname.replace(new RegExp('.*\/([^\/]+)$'), '$1');
     } else if(upnIsMailPage) {
       // Ich befinde mich auf der E-Mail Seite.
       var upnCurrentUser = window.location.pathname.replace(new RegExp('.*\/([^\/]+)$'), '$1');
     } else if(upnIsLogPage) {
       // Ich befinde mich auf einer Logbuch-Seite
       var upnCurrentUser = window.location.search.replace(new RegExp('.*user=([^&]+).*', 'g'), '$1');
     } else if(upnIsAllPagesPage) {
       // Ich befinde mich auf Suchseite: Alle Seiten
       var upnCurrentUser = window.location.search.replace(new RegExp('.*from=([^&]+).*', 'g'), '$1');
    }
 
     // Originaltext (vom Wiki oder anderen Scripten generiert) zurücksetzen
     if(upnIsContributionsPage || upnIsLogPage || upnIsMailPage) {
       upnTarget.innerHTML = upnLangFor + upnLink(upnWikiAddr + upnUserName + ':' + upnCurrentUser, upnCurrentUser, ' | ');
     } else {
       upnTarget.innerHTML = '';
     }
 
     // Beginn die Daten in die Seite einzufüllen
     // Falls einer der folgenden Links nicht angezeigt werden soll,  kann die Betreffende
     // Zeile mittels zwei Slashes // auskommentiert werden. Am schluss der Zeilen kann
     // allenfalls das Trennzeichen zwischen den Links geändert werden.
 
     // Eröffnende Klammer
     upnTarget.innerHTML += '(';
 
     // Link auf die Diskussionsseite
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'User_Talk:' + upnCurrentUser, upnLangTalk, ' ');
     // Link auf die Diskussionsseite (Zum einstellen eines neuen Absatzes))
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'User_Talk:' + upnCurrentUser + '?action=edit&section=new', upnLangTalkNewSection, ' | ');
     // Link auf die Beitragsseite
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'Special:Contributions/' + upnCurrentUser, upnLangContributions, ' | ');
     // Suche nach Seiten im Benutzer namensraum
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'Special:Allpages?namespace=2&from=' + upnCurrentUser, upnLangUserSubPages, ' | ');
     // Blockadenlogbuch
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'Special:Log?type=block&user=' + upnCurrentUser, upnLangLogBlock, ' | ');
     // Benutzer Logs
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'Special:Log?user=' + upnCurrentUser, upnLangLog, ' | ');
     // Link auf den Beitragszähler
     upnTarget.innerHTML += upnLink('http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + upnCurrentUser + '&dbname=' + upnWikiDB, upnLangEditcount, ' | ');
     // Link auf die E-Mail Kontaktseite (Nicht alle Benutzer haben diese Funktion eingeschaltet)
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'Special:Emailuser/' + upnCurrentUser, upnLangMail, ' | ');
     // Link auf die Vertrauensseite
     upnTarget.innerHTML += upnLink(upnWikiAddr + 'User:' + upnCurrentUser + '/Vertrauen', upnLangTrust, '');
 
     // Schliessende Klammer
     upnTarget.innerHTML += ')';
   }
 }
 
 // Diese funktion erstellt die Links
 function upnLink(href, name, spacer) {
   return '<a href="' + href  + '">' + name + '</a>' + (spacer ? spacer : '');
 }
 
 
 aOnloadFunctions[aOnloadFunctions.length] = upnInit;