Benutzer:Fomafix/addLogsLink.js

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

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 () {
	// Variables that should be defined in your monobook
	var pagelogtext = mw.config.get( 'pagelogtext', 'Page:Log' );
	var userlogtext1 = mw.config.get( 'userlogtext1', 'User:Log:1' );
	var userlogtext2 = mw.config.get( 'userlogtext2', 'User:Log:2' );

	var addusercontriblink = mw.config.get( 'addusercontriblink', true );
	mw.messages.set( 'contributions', mw.config.get( 'usercontribtext', 'User:Contribs' ) );
	var userdeledittext = mw.config.get( 'userdeledittext', 'User:DelEdits' );
	var userstatstext = mw.config.get( 'userstatstext', 'User:Stats' );
	var usergallerytext = mw.config.get( 'usergallerytext', 'User:Gallery' );
	var userstimmrechttext = mw.config.get( 'userstimmrechttext', 'User:Stimmrecht' );

	var adduserarticlelink = mw.config.get( 'adduserarticlelink', true );
	var userarticletext = mw.config.get( 'userarticletext', 'User:Articles' );

	var addbrowselink = mw.config.get( 'addbrowselink', true );
	var browseuserprefix = mw.config.get( 'browseuserprefix', true );
	var browsetext = mw.config.get( 'browsetext', 'Browse' );

	var addbrowsedellink = mw.config.get( 'addbrowsedellink', false );
	var browsedeltext = mw.config.get( 'browsedeltext', 'BrowseDel' );

	var addiusagelink = mw.config.get( 'addiusagelink', false );
	var imgusagetext = mw.config.get( 'imgusagetext', 'IMG:C-Usage' );

	var adminflag = mw.config.get( 'adminflag', false );

	var userstatstype = mw.config.get( 'userstatstype', 'tparis' );
	var userarticletype = mw.config.get( 'userarticletype', 'x' );


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

	var wikiLanguageType = mw.config.get( 'wgContentLanguage' );
	if ( mw.config.get( 'wgDBname' ) === 'commonswiki' )
		wikiLanguageType = 'commons';

	var nsprefixuser = mw.config.get( 'wgFormattedNamespaces' )[2];

	var url, uservisited = mw.config.get( 'wgRelevantUserName' );

	// 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.exists( 'wgRelevantUserName' ) ) {
		url = mw.util.getUrl( 'Special:Log/' + uservisited );
		mw.util.addPortletLink( tabs, url, userlogtext1, 'pt-u1logs' );
		url = mw.util.getUrl( 'Special:Log/', { 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 = mw.msg( 'contributions' );
			else {
				url = mw.util.getUrl( 'Special:Contributions/' + uservisited );
				mw.util.addPortletLink( tabs, url, mw.msg( 'contributions' ), 't-contributions' );
			}

			if ( adminflag ) {
				// Link auf Deleted Edits
				url = mw.util.getUrl( 'Special:DeletedContributions', { limit: 500, target: uservisited } );
				mw.util.addPortletLink( tabs, url, userdeledittext, 't-userdeledits' );
			}

			// Link auf Userstatistik
			switch ( userstatstype ) {
			case 'kate':
				url = '//toolserver.org/~river/cgi-bin/count_edits?' +
					$.param( {
						user: uservisited,
						dbname: mw.config.get( 'wgDBname' ) + '_p'
					} );
				break;
			case 'interiot':
				url = '//toolserver.org/~interiot/cgi-bin/count_edits?' +
					$.param( {
						user: uservisited,
						dbname: mw.config.get( 'wgDBname' ) + '_p'
					} );
				break;
			case 'yaec':
				url = '//toolserver.org/~vvv/yaec.php?' +
					$.param( {
						user: uservisited,
						wiki: mw.config.get( 'wgDBname' ) + '_p'
					} );
				break;
			case 'misza':
				url = '//toolserver.org/~misza13/cgi-bin/count.py?' +
					$.param( {
						user: uservisited,
						project: mw.config.get( 'wgDBname' ) + '_p',
						edits: 'on',
						logs: 'on'
					} );
				break;
			//case 'soxred':
			//	url = '//toolserver.org/~soxred93/pcount/index.php?' +
			//		$.param( {
			//			name: uservisited,
			//			uselang: mw.config.get( 'wgUserLanguage' ),
			//			lang: wikiLanguageType,
			//			wiki: wikiLanguageType === 'commons' ? 'wikimedia' : 'wikipedia'
			//		} );
			//	break;
			case 'soxredquick':
				url = '//toolserver.org/~soxred93/simplecount/index.php?' +
					$.param( {
						name: uservisited,
						uselang: mw.config.get( 'wgUserLanguage' ),
						lang: wikiLanguageType,
						wiki: wikiLanguageType === 'commons' ? 'wikimedia' : 'wikipedia'
					} );
				break;
			case 'tparis':
				url = '//toolserver.org/~tparis/pcount/index.php?' +
					$.param( {
						name: uservisited,
						uselang: mw.config.get( 'wgUserLanguage' ),
						lang: wikiLanguageType,
						wiki: wikiLanguageType === 'commons' ? 'wikimedia' : 'wikipedia'
					} );
				break;
			//case 'x':
			default:
				url = '//tools.wmflabs.org/xtools/pages/index.php?' +
					$.param( {
						name: uservisited,
						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?' +
				$.param( {
					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 = '//tools.wmflabs.org/stimmberechtigung/?' +
					$.param( { user: uservisited } );
				mw.util.addPortletLink( tabs, url, userstimmrechttext, 't-stimmrecht' );
			}
		}

		// Link auf User-Neuanlagen
		if ( adduserarticlelink ) {
			switch ( userarticletype ) {
			case 'escaladix':
				url = '//toolserver.org/~escaladix/cgi-bin/farticles.tcl?' +
					$.param( {
						pseudo: uservisited,
						lang: wikiLanguageType
					} );
				break;
			//case 'soxred':
			//	url = '//toolserver.org/~soxred93/pages/index.php?' +
			//		$.param( {
			//			name: uservisited,
			//			lang: wikiLanguageType,
			//			wiki: 'wikipedia',
			//			namespace: 0,
			//			redirects: 'noredirects',
			//			getall: 1
			//		} );
			//	break;
			//case 'tparis':
			default:
				url = '//toolserver.org/~tparis/pages/index.php?' +
					$.param( {
						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' ||
		mw.config.get( 'wgRelevantPageName' ) !== mw.config.get( 'wgPageName' ) ) {
		url = mw.util.getUrl( 'Special:Log/', {
			page: mw.config.get( 'wgRelevantPageName', mw.config.get( 'wgPageName' ) )
		} );
		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?' +
			$.param( {
				i: mw.config.get( 'wgTitle' ),
				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 = mw.util.getUrl( 'Special:PrefixIndex', {
				prefix: uservisited + '/',
				namespace: mw.config.get( 'wgNamespaceNumber' )
			} );
		else
			url = mw.util.getUrl( 'Special:AllPages/' + mw.config.get( 'wgPageName' ) );
		mw.util.addPortletLink( tabs, url, browsetext, 'pt-browse' );
	}

	// show the browse-del button (conditional)
	if ( addbrowsedellink && adminflag &&
		mw.config.get( 'wgCanonicalNamespace' ) !== 'Special' ) {
		url = mw.util.getUrl( 'Special:Undelete/', {
			prefix: mw.config.get( 'wgRelevantPageName', mw.config.get( 'wgPageName' ) )
		} );
		mw.util.addPortletLink( tabs, url, browsedeltext, 'pt-browsedel' );
	}

} );
// </nowiki>