Zum Inhalt springen

Benutzer:Fomafix/addLogsLink.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. Februar 2012 um 16:45 Uhr durch Fomafix (Diskussion | Beiträge) (Tab zur Einrückung verwendet (mw:Manual:Coding conventions), contribstub eingespart, da nur einmal verwendet. switch mit Default-Pfaden verwendet.). 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
/*
 * addLogsLink
 *
 * adds a 'logs for this page' link to the navigation bar
 * if the page is a user's page, talk page or subpage, the link will go to logs for the user instead
 *
 * übernommen 1.6.2006 von [http://en.wikipedia.org/w/index.php?title=User:Thebainer/monobook.js&oldid=50539457]
 * siehe auch [[:en:Wikipedia:WikiProject User scripts/Scripts/Logs link]]
 *
 * [[:en:User:Thebainer]]      : Originalversion
 * [[Benutzer:PDD]] 01.06.2006 : Adaptierung für de.wikipedia, Zusatzlog für User:
 * [[Benutzer:PDD]] 02.06.2006 : optional Benutzerbeiträge für User:
 * [[Benutzer:PDD]] 10.07.2006 : für User: zusätzlich noch Stats und Stimmrechtcheck
 * [[Benutzer:PDD]] 23.08.2006 : Browse-Button
 * [[Benutzer:PDD]] 25.08.2006 : angepasst für commons
 * [[Benutzer:PDD]] 28.09.2006 : wg-Variablen statt RegExps
 * [[Benutzer:PDD]] 18.10.2006 : optional: Browsen im Userspace via Prefixindex
 * [[Benutzer:PDD]] 15.01.2007 : umgestellt auf addPortletLink aus wikibits.js
 * [[Benutzer:PDD]] 05.03.2007 : plus Link auf Toolserver-Tool für erstellte Artikel
 * [[Benutzer:PDD]] 16.04.2007 : plus Link auf Toolserver-Tool für gelöschte Edits
 * [[Benutzer:PDD]] 08.05.2007 : Stimmrecht/Schiedsgericht
 * [[Benutzer:PDD]] 18.07.2007 : interner Parameter für verschiedene Editcounter
 * [[Benutzer:PDD]] 08.08.2007 : User:Gallery eingefügt
 * [[Benutzer:PDD]] 06.12.2007 : DaB.-Usercounter statt Interiot-Usercounter (besser wäre: beide)
 * [[Benutzer:PDD]] 04.01.2008 : Yet another edit counter (Interiot wieder Default)
 * [[Benutzer:PDD]] 03.09.2009 : Yet another edit counter (Soxred, now Default)
 * [[Benutzer:PDD]] 02.01.2010 : BrowseDel-Button
 */

// <nowiki>

$( function () {
	// alert (for old monobooks)
	if ( minimalVersion(72) < 72 ) return;

	// Variables that should be defined in your monobook
	if ( typeof pagelogtext === 'undefined' )
		var pagelogtext = "Page:Log";
	if ( typeof userlogtext1 === 'undefined' )
		var userlogtext1 = "User:Log:1";
	if ( typeof userlogtext2 === 'undefined' )
		var userlogtext2 = "User:Log:2";

	if ( typeof addusercontriblink === 'undefined' )
		var addusercontriblink = true;
	if ( typeof usercontribtext === 'undefined' )
		var usercontribtext = "User:Contribs";
	if ( typeof userdeledittext === 'undefined' )
		var userdeledittext = "User:DelEdits";
	if ( typeof userstatstext === 'undefined' )
		var userstatstext = "User:Stats";
	if ( typeof usergallerytext === 'undefined' )
		var usergallerytext = "User:Gallery";
	if ( typeof userstimmrechttext === 'undefined' )
		var userstimmrechttext = "User:Stimmrecht";

	if ( typeof adduserarticlelink === 'undefined' )
		var adduserarticlelink = true;
	if ( typeof userarticletext === 'undefined' )
		var userarticletext = "User:Articles";

	if ( typeof addbrowselink === 'undefined' )
		var addbrowselink = true;
	if ( typeof browseuserprefix === 'undefined' )
		var browseuserprefix = true;
	if ( typeof browsetext === 'undefined' )
		var browsetext = "Browse";

	if ( typeof addbrowsedellink === 'undefined' )
		var addbrowsedellink = false;
	if ( typeof browsedeltext === 'undefined' )
		var browsedeltext = "BrowseDel";

	if ( typeof addiusagelink === 'undefined' )
		var addiusagelink = false;
	if ( typeof imgusagetext === 'undefined' )
		var imgusagetext = "IMG:C-Usage";

	if ( typeof adminflag === 'undefined' )
		var adminflag = false;

	if ( typeof userstatstype === 'undefined' )
		var userstatstype = "tparis";
	if ( typeof userarticletype === 'undefined' )
		var userarticletype = "tparis";


	// -----------------------------------------------------------------------------
	// Language support
	// -----------------------------------------------------------------------------

	var wikiLanguageType = mw.config.get( 'wgContentLanguage' );
	if ( mw.config.get( 'wgServer' ) === "//commons.wikimedia.org" )
		wikiLanguageType = 'commons';

	var urlstub = mw.util.wikiScript() + "?title=Special:";
	var nsprefixuser = mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )[2] );

	var logstub = urlstub + "Log";
	var allpstub = urlstub + "AllPages";
	var prefistub = urlstub + "PrefixIndex";
	var undelstub = urlstub + "Undelete";
	var url, uservisited;

	var stimmrechtversion = "stimmberechtigung.php";
	// var stimmrechtversion = "sbnew.php";
	// var stimmrechtversion = "sb3.php";

	// get page title
	var ptitle = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) );
	var sptitle = mw.util.wikiUrlencode( mw.config.get( 'wgTitle' ) );

	// if this is userspace: get the user
	if ( mw.config.get( 'wgNamespaceNumber' ) === 2
	  || mw.config.get( 'wgNamespaceNumber' ) === 3 ) {
		// thankfully, usernames may not contain '/'
		uservisited = sptitle.split( '/' )[0];
	}

	// get tabs portlet
	var tabs = "p-tb";

	// if this is a user, show the logs for the user (in addition to the page log)
	if ( mw.config.get( 'wgNamespaceNumber' ) === 2
	  || mw.config.get( 'wgNamespaceNumber' ) === 3 ) {
		url = logstub + "&user=" + uservisited;
		mw.util.addPortletLink( tabs, url, userlogtext1, "pt-u1logs" );
		url = logstub + "&page=" + nsprefixuser + ":" + uservisited;
		mw.util.addPortletLink( tabs, url, userlogtext2, "pt-u2logs" );
		if ( addusercontriblink ) {

			// Link auf Contribs
			if ( document.getElementById( "t-contributions" ) )
				document.getElementById( "t-contributions" ).getElementsByTagName( "a" )[0].innerHTML = usercontribtext;
			else {
				url = mw.util.wikiGetlink( "Special:Contributions/" ) + uservisited;
				mw.util.addPortletLink( tabs, url, usercontribtext, "t-contributions" );
			}

			if ( adminflag ) {
				// Link auf Deleted Edits
				url = urlstub + "DeletedContributions&limit=500&target=" + uservisited;
				mw.util.addPortletLink( tabs, url, userdeledittext, "t-userdeledits" );
			}

			// defaulting removed tools to new ones
			if ( userstatstype === "wannabe_kate"
			  || userstatstype === "dab"
			  || userstatstype === "soxredp"
			  || userstatstype === "soxred" ) {
				userstatstype = "tparis";
			}
			if ( userarticletype === "soxred" ) {
				userarticletype = "tparis";
			}

			// Link auf Userstatistik
			switch ( userstatstype ) {
			case "kate":
				url = "//toolserver.org/~river/cgi-bin/count_edits?user=" + uservisited
				    + "&dbname=" + mw.config.get( 'wgDBname' ) + "_p";
				break;
			case "interiot":
				url = "//toolserver.org/~interiot/cgi-bin/count_edits?user=" + uservisited
				    + "&dbname=" + mw.config.get( 'wgDBname' ) + "_p";
				break;
			case "yaec":
				url = "//toolserver.org/~vvv/yaec.php?user=" + uservisited
				    + "&wiki=" + mw.config.get( 'wgDBname' ) + "_p";
				break;
			case "misza":
				url = "//toolserver.org/~misza13/cgi-bin/count.py?user=" + uservisited
				    + "&project=" + mw.config.get( 'wgDBname' ) + "_p&edits=on&logs=on";
				break;
			case "soxred":
				url = "//toolserver.org/~soxred93/pcount/index.php?name=" + uservisited + "&uselang=" + mw.config.get( 'wgUserLanguage' )
				    + "&lang=" + wikiLanguageType + "&wiki=" + ( wikiLanguageType === 'commons' ? "wikimedia" : "wikipedia" );
				break;
			case "soxredquick":
				url = "//toolserver.org/~soxred93/simplecount/index.php?name=" + uservisited + "&uselang=" + mw.config.get( 'wgUserLanguage' )
				    + "&lang=" + wikiLanguageType + "&wiki=" + ( wikiLanguageType === 'commons' ? "wikimedia" : "wikipedia" );
				break;
			case "tparis":
			default:
				url = "//toolserver.org/~tparis/pcount/index.php?name=" + uservisited + "&uselang=" + mw.config.get( 'wgUserLanguage' )
				    + "&lang=" + wikiLanguageType + "&wiki=" + ( wikiLanguageType === 'commons' ? "wikimedia" : "wikipedia" );
				break;
			}
			mw.util.addPortletLink( tabs, url, userstatstext, "t-userstats" );

			// Link auf Bildergalerie
			url = "//toolserver.org/~daniel/WikiSense/Gallery.php?wikilang=" + wikiLanguageType + "&wikifam=.wikipedia.org"
			    + "&format=html&img_user_text=" + uservisited + "&order=-img_timestamp";
			mw.util.addPortletLink( tabs, url, usergallerytext, "t-usergallery" );

			// no idea whether the "stimmberechtigung" tool works for databases other than dewiki_p
			if ( mw.config.get( 'wgDBname' ) === 'dewiki' ) {
				url = "//toolserver.org/~guandalug/tools/" + stimmrechtversion + "?user=" + uservisited +
				"&day=" + Tag + "&mon=" + Monat + "&year=" + Jahr +
				"&hour=" + jetzt.getHours() + "&min=" + jetzt.getMinutes();
				mw.util.addPortletLink( tabs, url, userstimmrechttext, "t-stimmrecht" );
/*
				url = "//toolserver.org/~guandalug/tools/" + stimmrechtversion + "?user=" + uservisited +
				"&day=8&mon=11&year=2009&hour=0&min=0";
				mw.util.addPortletLink( tabs, url, "User:SG-Stimmrecht", "t-stimmrecht-sg" );
*/
			}
		}

		// Link auf User-Neuanlagen
		if ( adduserarticlelink ) {
			switch ( userarticletype ) {
			case "escaladix":
				url = "//toolserver.org/~escaladix/cgi-bin/farticles.tcl?pseudo=" + uservisited
				    + "&lang=" + wikiLanguageType;
				break;
			case "soxred":
				url = "//toolserver.org/~soxred93/pages/index.php?name=" + uservisited
				    + "&lang=" + wikiLanguageType + "&wiki=wikipedia&namespace=0&redirects=noredirects&getall=1";
				break;
			case "tparis":
			default:
				url = "//toolserver.org/~tparis/pages/index.php?name=" + uservisited 
				    + "&lang=" + wikiLanguageType + "&wiki=wikipedia&namespace=0&redirects=noredirects&getall=1";
				break;
			}
			mw.util.addPortletLink( tabs, url, userarticletext, "t-userarticles" );
		}

	}

	// show the page log (always)
	if ( mw.config.get( 'wgCanonicalNamespace' ) !== "Special" ) {
		url = logstub + "&page=" + ptitle;
		mw.util.addPortletLink( tabs, url, pagelogtext, "pt-logs" );
	}

	// if this is a media file, show usage stats
	if ( addiusagelink
	  && mw.config.get( 'wgCanonicalNamespace' ) === "File" ) {
		url = "//toolserver.org/~daniel/WikiSense/CheckUsage.php?i=" + sptitle + "&w=_100000#end";
		mw.util.addPortletLink( tabs, url, imgusagetext, "pt-imgusage" );
	}

	// show the browse button (conditional)
	if ( addbrowselink
	  && mw.config.get( 'wgCanonicalNamespace' ) !== "Special" ) {
		if ( browseuserprefix
		  && ( mw.config.get( 'wgNamespaceNumber' ) === 2
		    || mw.config.get( 'wgNamespaceNumber' ) === 3 ) )
			url = prefistub + "&prefix=" + uservisited + "/&namespace=" + mw.config.get( 'wgNamespaceNumber' );
		else
			url = allpstub + "&from=" + sptitle + "&namespace=" + mw.config.get( 'wgNamespaceNumber' );
		mw.util.addPortletLink( tabs, url, browsetext, "pt-browse" );
	}

	// show the browse-del button (conditional)
	if ( addbrowsedellink
	  && adminflag
	  && mw.config.get( 'wgCanonicalNamespace' ) !== "Special" ) {
		url = undelstub + "&prefix=" + ptitle;
		mw.util.addPortletLink( tabs, url, browsedeltext, "pt-browsedel" );
	}

} );
// </nowiki>