Benutzer:Joschua/Userpage Navigation/js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

//

// Benutzerseiten-Navigation
// Ursprünglich von [[Benutzer:Joschua]], wird jetzt von [[Benutzer:V.R.S.]] gewartet
// Informationen: [[Benutzer:Joschua/Userpage_Navigation]]
// Fragen: [[Benutzer_Diskussion:V.R.S.]]
// aktuelle Version: [[Benutzer:V.R.S./upn.js]]
// todo: vielleicht auch auf Spezialseiten?

(wgCanonicalNamespace === 'User_talk' || wgCanonicalNamespace === 'User') // nur auf Benutzer(diskussions)seiten
&& addOnloadHook(function (){
	var upn = { // Speicherobjekt
		wikiAddr :	wgArticlePath.replace('$1', ''), // ist hier /wiki/
		target :	document.getElementById('contentSub'), // Hier kommt der Text rein
		user :		mw.config.get('wgTitle').split("/")[0] // Benutzername aus Seitennamen auslesen
	}
	var nav = [ // Navi
		'Für ',	[upn.wikiAddr + 'Benutzer:' + upn.user, upn.user], // aktueller Benutzer
		' | ', [upn.wikiAddr + 'Benutzer Diskussion:' + upn.user, 'Diskussion'],
		' ', [upn.wikiAddr + 'Benutzer Diskussion:' + upn.user + '?action=edit&section=new', '(+)'], // Neuer Diskussionsabschnitt
		' | ', [upn.wikiAddr + 'Spezial:E-Mail/' + upn.user, '@'],
		' | ', [upn.wikiAddr + 'Benutzer:' + upn.user + '/Bewertung', 'Bewertung'],
		' | ', [upn.wikiAddr + 'Spezial:Beiträge/' + upn.user, 'Beiträge'],
		' | ', [upn.wikiAddr + 'Spezial:Präfixindex/Benutzer:' + upn.user, 'Benutzerseiten'],
		' | ', [upn.wikiAddr + 'Spezial:Log?type=block&user=&page=Benutzer:' + upn.user, 'Sperrlog'],
		' | ', [upn.wikiAddr + 'Spezial:Log?type=rights&user=&page=Benutzer:' + upn.user, 'Rechte'],
		' | ', [upn.wikiAddr + 'Spezial:Logbuch/' + upn.user, 'Logbücher'],
		// der klassische Editcount (Interiot)
		' | Editcount: ', ['http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + upn.user + '&dbname=dewiki_p', 'Int'],
		// DaB.s Editcount ist hübscher, hat mehr Statistik, ein funktionierendes Opt-In und läuft auf einem stabileren Server
                // '/', ['http://stable.toolserver.org/editcount/result?username=' + upn.user + '&projectname=dewiki&showgraphs=2d', 'DaB.']
		// DaB.s Editcount nicht mehr verfügbar, geändert auf Simplcount von Soxred (schneller Counter mit Basisinfos)
		'/', ['http://toolserver.org/~soxred93/simplecount/index.php?lang=de&wiki=wikipedia&name=' + upn.user , 'Sox/Q']
	];

	if ( // Weiterleitungshinweis nicht entfernen, alles andere schon
		upn.target.hasChildNodes() // Kindknoten vorhanden?
		&& upn.target.innerHTML.indexOf('(Weitergeleitet von ') >= 0 // Weiterleitung?
	)    upn.target.innerHTML =
		upn.target.innerHTML.match(/Weitergeleitet von <a .*?<\/a>/)[0] + ' | ';
	else upn.target.innerHTML = '';

	// Navileiste erstellen
	function navLinkConstructor(href, text){
		var navProto = document.createElement('a');
		navProto.setAttribute('href', href);
		navProto.appendChild(document.createTextNode(text));
		return navProto;
	}
	for (var i = 0; i < nav.length; i++) {
		if (nav[i].constructor === String){
			upn.target.appendChild(document.createTextNode(nav[i]));
		} else {
			upn.target.appendChild(navLinkConstructor(nav[i][0], nav[i][1]));
		}
	}
});

//