Benutzer:Sannaj/vector.js/Benutzerseiten-Navigation

Aus Wikibooks

//

// Benutzerseiten-Navigation
// Wikibooks-Edition. Quellscript bei [[w:Benutzer:V.R.S./navi.js]]
// Ursprünglich von [[w:Benutzer:Joschua]], wird jetzt von [[w:Benutzer:V.R.S.]] gewartet.
// Achtung: Die Wikibooksedition wird meißt nicht aktualiesert
// Noch nicht Wikibooksgetestet!!
// Informationen: [[w:Benutzer:Joschua/Userpage_Navigation]]
// Fragen: [[w:Benutzer_Diskussion:V.R.S.]]
// aktuelle Version: [[w:Benutzer:V.R.S./upn.js]]

$(function (){
	var navi = { // Speicherobjekt
		path :		wgArticlePath.replace('$1', ''), // so eine Schnapsidee...
		target :	document.getElementById('contentSub'), // Hier kommt der Text rein
		user :		wgTitle.split("/")[0] // Benutzername aus Seitennamen auslesen
	}
	var date = new Date();
	function createNavi () {
		var nav = Array.prototype.slice.apply(arguments);
		function navLink(href, text){
			var navProto = document.createElement('a');
			navProto.setAttribute('href', href);
			navProto.appendChild(document.createTextNode(text));
			return navProto;
		}
		
		if ( // Weiterleitungshinweis nicht entfernen, alles andere schon
			navi.target.hasChildNodes() // Kindknoten vorhanden?
			&& navi.target.innerHTML.indexOf('(Weitergeleitet von ') >= 0 // Weiterleitung?
		)    navi.target.innerHTML =
			navi.target.innerHTML.match(/Weitergeleitet von <a .*?<\/a>/)[0] + ' | ';
		else navi.target.innerHTML = '';
		
		for (var i = 0; i < nav.length; i++) {
			if (nav[i].constructor === String) {
				navi.target.appendChild(document.createTextNode(nav[i]));
			} else {
				navi.target.appendChild(navLink(nav[i][0], nav[i][1]));
			}
		}
	}
	if (wgCanonicalNamespace === 'User_talk' || wgCanonicalNamespace === 'User')
		createNavi(
			'Für ',		[navi.path + 'Benutzer:' + navi.user, navi.user], // aktueller Benutzer
			' | ',		[navi.path + 'Benutzer Diskussion:' + navi.user, 'Diskussion'],
			' ',		[navi.path + 'Benutzer Diskussion:' + navi.user + '?action=edit&section=new', '(+)'], // Neuer Diskussionsabschnitt
			' | ',		[navi.path + 'Spezial:E-Mail/' + navi.user, '@'],
			' | ',		[navi.path + 'Benutzer:' + navi.user + '/Bewertung', 'Bewertung'],
			' | ',		[navi.path + 'Spezial:Beiträge/' + navi.user, 'Beiträge'],
			' | ',		[navi.path + 'Spezial:Präfixindex/Benutzer:' + navi.user, 'Benutzerseiten'],
			' (',		[wgScript + '?search=suchbegriffe+intitle:"' + navi.user + '"&ns2=1&ns3=1&fulltext=Volltext', 'Suche'],
			') | ',		[navi.path + 'Spezial:Log?type=block&user=&page=Benutzer:' + navi.user, 'Sperrlog'],
			' | ',		[navi.path + 'Spezial:Log?type=rights&user=&page=Benutzer:' + navi.user, 'Rechte'],
			' | ',		[navi.path + 'Spezial:Logbuch/' + navi.user, 'Logbücher'],
			' | Editcount: ',['http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + navi.user + '&dbname=dewiki_p', 'Int'], // der klassische Editcount (Interiot)
			'/',		['http://stable.toolserver.org/editcount/result?username=' + navi.user + '&projectname=dewiki&showgraphs=2d', 'DaB.'] // DaB.s Editcount ist hübscher, hat mehr Statistik, ein funktionierendes Opt-In und läuft auf einem stabileren Server
		);
	else if (wgCanonicalNamespace === '' || wgCanonicalNamespace === 'Talk') 
		createNavi(
			'',		[navi.path + 'Spezial:Linkliste/' + wgTitle, 'Linkliste'],
			' | ',		[navi.path + 'Spezial:Änderungen_an_verlinkten_Seiten/' + wgTitle, 'verlinkte Änderungen'],
			' | ',		[wgScript + '?title=Spezial:Logbuch&page=' + wgTitle, 'Logs'],
			' | ',		['http://www.google.de/search?q=%22' + wgTitle + '%22', 'Google'],
			' | ',		['http://cc.affenkrieger.de/?' + wgTitle, 'URV-Test'], // ?wgTitle macht nix außer den Link unbesucht zu halten
			' | ',		['http://wikipedia.ramselehof.de/wikiblame.php?lang=de&project=wikipedia&article=' + wgTitle, 'WikiBlame'],
			' | ',		['http://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=de&page=' + wgTitle, 'Autorenstatistik'],
			' | ',		['http://stats.grok.se/de/' + date.getFullYear() + (date.getMonth() < 10 ? '0' : '') + date.getMonth() + '/' + wgTitle, 'Besucherstatistik']
		);
});
//