Zum Inhalt springen

Benutzer:Euphoriceyes/Navigation

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. März 2009 um 23:55 Uhr durch Euphoriceyes (Diskussion | Beiträge) (auf dewiki angepasst). Sie kann sich erheblich von der aktuellen Version unterscheiden.

//

// Benutzerseiten-Navigation
// Ursprünglich von [[Benutzer:Joschua]], danach [[Benutzer:V.R.S.]]
// mittlerweile eigene Version und teilweise erweitert ([[Benutzer:Euphoriceyes]])

addOnloadHook(function (){
// Konfiobjekt
	var upn = {
	// Wiki-Adresse meist /wiki/ mancherorts /wiki/index.php/
	WikiAddr :		'/wiki/',

	// verschiedene Seitennamen im Projekt, Spracheinstellungen
	UserPageName :		'Benutzer',
	LogName :		'Spezial:Logbuch',
	PrefixindexName :	'Spezial:Präfixindex',
	ContributionsName :	'Spezial:Beiträge',
	MailName :		'Spezial:E-Mail',
	RedirectText :		'Weitergeleitet von ',

	// Beschriftung
	// Siehe weiter unten, falls ein Link nicht angezeigt werden soll.
	LangFor :		'Für',
	LangTalk :		'Diskussion',
	LangTalkNewSection :	'<small>(+)</small>',
	LangMail :		'@',
	LangVal :		'Bewertung',
	LangContributions :	'Beiträge',
	LangUserSubPages :	'Benutzerseiten',
	LangLogBlock :		'Sperr-',
	LangLogRights :		'Rechte',
	LangLog :		'Logbücher',
	LangEditcount :		'Editcount',
	LangEditcountMisza :	'Misza',
	LangEditcountDaB :	'DaB.',

	// technisches
	CurrentUser :		wgTitle.split("/")[0], // Benutzernamen feststellen
	Target :		document.getElementById('contentSub'), // Hierhin wird der Text geparst
	// Diese Funktion erstellt die Links
	Link : 			function(href, name, spacer){
					return '<a href="' + href  + '">' + name + '</a>' + (spacer ? spacer : '');
				}
	}

// Ausführung
	if(wgCanonicalNamespace === 'User_talk' || wgCanonicalNamespace === 'User') { // Benutzer(diskussions|)seite?
		// Originaltext (vom Wiki oder anderen Skripten generiert) zurücksetzen, Redirects nicht
		if(upn.Target.hasChildNodes()) { // Fehlermeldung vermeiden
			upn.Redirect = new RegExp('^[\(]' + upn.RedirectText);
			if (upn.Target.firstChild.nodeType === 3 && upn.Redirect.test(upn.Target.firstChild.data)) {
				upn.Target.innerHTML += ' | ';
			} else {
			upn.Target.innerHTML = '';
			}
		}

		// Hier werden die Links in die Seite geschrieben
		// 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.

		// Für 
		upn.Target.innerHTML += upn.LangFor + ' ';
		// Link auf die Benutzerseite
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'User:' + upn.CurrentUser, upn.CurrentUser, ' | ');
		// Link auf die Diskussionsseite
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'User_Talk:' + upn.CurrentUser, upn.LangTalk, ' ');
			// Link auf die Diskussionsseite (Zum einstellen eines neuen Absatzes))
			upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'User_Talk:' + upn.CurrentUser + '?action=edit&section=new', upn.LangTalkNewSection, ' | ');
			// Link auf die E-Mail-Kontaktseite (Nicht alle Benutzer haben diese Funktion eingeschaltet)
			upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Emailuser/' + upn.CurrentUser, upn.LangMail, ' | ');
		// Link auf die Bewertungsseite
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'User:' + upn.CurrentUser + '/Bewertung', upn.LangVal, ' | ');
		// Link auf die Beitragsseite
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Contributions/' + upn.CurrentUser, upn.LangContributions, ' | ');
		// Suche nach Seiten im Benutzernamensraum
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Prefixindex?namespace=2&from=' + upn.CurrentUser, upn.LangUserSubPages, ' | ');
		// Block- und Rechtelog
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Log?type=block&user=&page=Benutzer:' + upn.CurrentUser, upn.LangLogBlock, '/');
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Log?type=rights&user=&page=Benutzer:' + upn.CurrentUser, upn.LangLogRights, 'log | ');
		// Benutzerlogs
		upn.Target.innerHTML += upn.Link(upn.WikiAddr + 'Special:Log?user=' + upn.CurrentUser, upn.LangLog, ' | ');
		// zwei Editcounts
		upn.Target.innerHTML += upn.LangEditcount + ' (';
			// Link auf den Beitragszähler (Misza)
			upn.Target.innerHTML += upn.Link('http://toolserver.org/~misza13/cgi-bin/count.py?user=' + upn.CurrentUser + '&project=dewiki_p&edits=on&logs=on', upn.LangEditcountMisza, '|');
			// Beitragszähler die Zweite (DaB.)
			upn.Target.innerHTML += upn.Link('http://stable.toolserver.org/editcount/result?username=' + upn.CurrentUser + '&projectname=dewiki&showgraphs=2d', upn.LangEditcountDaB, ')');
	}
});

//