MediaWiki:Gadget-toolserver-integration.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
/*
  Integration vieler externer Hilfsfunktionen vor allem des Toolservers in die Oberfläche der Wikipedia
  mittels zusätzlicher Karteireiter an geeigneten Stellen abhängig vom Kontext der gerade dargestellten
  Seite (Artikel, Bildseite, Benutzerseite, Kategorie...).
  
  Zur Konfiguration siehe [[Wikipedia:Helferlein/Toolserver-Integration/Konfiguration]]
*/
var tab_fist = 'FIST';
var tab_fist_tooltip = null;
var tab_commonshelper = 'Commonshelper';
var tab_commonshelper_tooltip = null;
var tab_navicheck = 'NaviLinkCheck';
var tab_navicheck_tooltip = null;
var tab_userpages = 'UserPages';
var tab_userpages_tooltip = null;
var tab_catscan = 'CatScan';
var tab_catscan_tooltip = null;
var tab_catgraph_article = 'vCat';
var tab_catgraph_article_tooltip = null;
var tab_catgraph_super = 'vCat-Super';
var tab_catgraph_super_tooltip = null;
var tab_catgraph_sub = 'vCat-Sub';
var tab_catgraph_sub_tooltip = null;
var tab_about = 'About this menu';
var tab_about_tooltip = null;
var abouttext = 'This message is displayed, because you activated the gadget Toolserver-Helferlein in the preferences. You can now configure this gadget. For example you may activate deepcat or moremenu.';
var aboutask = 'Create configuration?';
var aboutask2 = 'Edit configuration?';

ts_guess_wiktionary_page = null;
ts_guess_wiktionary_page_lowercase = false;
ts_syntaxhighlight = false;
ts_cleandiff = false;
ts_wikidata = false;
ts_deepcat = false;
ts_wikeddiff = false;
ts_moremenu = false;
ts_xtools = false;
ts_statistik = false;
ts_pagehiststat = false;
ts_history = false;
ts_about = true;

sprache = mw.config.get( 'wgUserLanguage' ).split( '-', 2 )[0];
if ( ',de,nds,als,bar,yi,ksh,pdc,pfl,pdt,vmf,sli,wym,gsw,lb,'.indexOf( ',' + sprache + ',' ) >= 0 ) {
	tab_fist = 'Bildsuche';
	tab_fist_tooltip = 'Suche nach Bildern für den Artikel';
	tab_autoreviewer = 'Fehlersuche';
	tab_autoreviewer_tooltip = 'Artikelverbesserungen finden';
	tab_commonshelper = 'Commonshelper';
	tab_commonshelper_tooltip = 'Bilder nach Commons verschieben';
	tab_navicheck = 'NaviLinkCheck';
	tab_navicheck_tooltip = 'Ist die Navi-Liste überall verlinkt?';
	tab_userpages = 'Globale Benutzerseiten';
	tab_userpages_tooltip = 'Letzte Änderung der Benutzer- und Diskussionsseiten in allen Wikis';
	tab_catgraph_article = 'Kategorienbaum';
	tab_catgraph_article_tooltip = 'Visuelle Darstellung des Kategorienbaumes';
	tab_catgraph_super = 'Überkategorienbaum';
	tab_catgraph_super_tooltip = 'Visuelle Darstellung der Überkategorien';
	tab_catgraph_sub = 'Unterkategorienbaum';
	tab_catgraph_sub_tooltip = 'Visuelle Darstellung der Unterkategorien';
	tab_about = 'Über dieses Menü';
	tab_about_tooltip = 'Toolserverhelferlein konfigurieren';
	abouttext = 'Du siehst diese Meldung, weil Du das Toolserver-Helferlein aktiviert hast, von dem es nun eine neue Version gibt. Du kannst das Helferlein jetzt persönlich konfigurieren, um zusätzliche Funktionen zu aktivieren: Beispielsweise DeepCat oder zusätzliche Menüeinträge mit Informationen zu Benutzern oder Seiten.';
	aboutask = 'Jetzt Konfiguration erstellen?';
	aboutask2 = 'Vorhandene Konfiguration bearbeiten?';
}

$( function() {
	var wikiUrlencodeTitle = mw.util.wikiUrlencode( mw.config.get( 'wgTitle' ) );
	var wikiUrlencodePageName = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) );
	var wikiUrlencodeUserName = mw.util.wikiUrlencode( mw.config.get( 'wgUserName' ) );
	var wikiUrlencodeRelevantUserName = mw.util.wikiUrlencode( mw.config.get( 'wgRelevantUserName' ) );

	switch ( mw.config.get( 'wgAction' ) ) {
		case 'view':
		case 'edit':
		case 'submit':
		case 'history':
		case 'purge':
		case 'rollback':
			break;
		default:
			return;
	}

	// versuche persönliche Einstellungen zu laden
	aboutUrl = 'javascript:if ( window.confirm("' + abouttext + '\\n\\n';
	jQuery.getScript( 'https://de.wikipedia.org/w/index.php?title=Special:MyPage/toolserverhelferleinconfig.js&action=raw&ctype=text/javascript' )
		.done( function( script, textStatus ) {
		    executePersonalPreferences();
	  	} )
	  	.fail( function( jqxhr, settings, exception ) {
			mw.util.addPortletLink( 
				'p-cactions',
				aboutUrl + aboutask + '") ) window.open("https://de.wikipedia.org/wiki/Wikipedia:Helferlein/Toolserver-Integration/Konfiguration", "_self")',
				tab_about,
				'ca-about',
				tab_about_tooltip
			);
		} ); 

	switch( mw.config.get( 'wgNamespaceNumber' ) ) {
		case -1:
			cnPgNm = mw.config.get( 'wgCanonicalSpecialPageName' );
			if ( cnPgNm === 'Contributions' ) {
			    mw.util.addPortletLink(
			    	'p-cactions',
			    	'https://meta.toolforge.org/userpages/' + wikiUrlencodeRelevantUserName, tab_userpages,
			    	'ca-userpages',
			    	tab_userpages_tooltip
			    );
			} else if ( wikiUrlencodeUserName === wikiUrlencodeRelevantUserName || cnPgNm === 'Watchlist' ) {
			    mw.util.addPortletLink(
			    	'p-cactions',
			    	'https://meta.toolforge.org/userpages/' + wikiUrlencodeUserName, tab_userpages,
			    	'ca-userpages',
			    	tab_userpages_tooltip
			    );
			}
			break;
		case 0:
			mw.util.addPortletLink(
				'p-cactions',
				'https://fist.toolforge.org/fist.php?doit=1&language=de&project=wikipedia&data=' + wikiUrlencodePageName + '&datatype=articles&params[catdepth]=0&params[random]=50&params[ll_max]=5&params[free_only]=1&params[commons_max]=5&params[commonsense]=on' + '&params[flickr_max]=5&params[flickr_new_name_from_article]=1&params[wts_max]=5&params[gimp_max]=5&params[esp_max]=5&params[esp_skip_flickr]=1&params[forarticles]=all&params[lessthan_images]=3&params[jpeg]=1&params[png]=1&params[gif]=1&params[svg]=1&params[min_width]=80&params[min_height]=80&sources[languagelinks]=1&sources[commons]=1&sources[flickr]=1&sources[wts]=1&sources[gimp]=1&sources[everystockphoto]=1',
				tab_fist,
				'ca-fist',
				tab_fist_tooltip
			);
			mw.util.addPortletLink(
				'p-cactions',
				'https://vcat.toolforge.org/render?wiki=dewiki&links=graph&ns=0&title=' + wikiUrlencodeTitle +'&format=' + ( ( ( !!document.createElementNS && !!document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ).createSVGRect) === true ) ? 'svg' : 'png' ),
				tab_catgraph_article,
				'ca-catgraph_article',
				tab_catgraph_article_tooltip
			);
			break;
		case 2:
		case 3:
			if ( mw.config.exists( 'wgRelevantUserName' ) ) {
				mw.util.addPortletLink(
					'p-cactions',
					'https://meta.toolforge.org/userpages/' + wikiUrlencodeRelevantUserName, tab_userpages,
					'ca-userpages',
					tab_userpages_tooltip
				);
			}
			break;
		case 6:
			mw.util.addPortletLink('p-cactions',
				'https://commonshelper.toolforge.org/?interface=' + mw.config.get( 'wgUserLanguage' ) + '&language=de&image=' + wikiUrlencodeTitle + '&project=wikipedia&username=' + wikiUrlencodeUserName + '&commonsense=1&doit=Get+text',
				tab_commonshelper,
				'ca-commonshelper',
				tab_commonshelper_tooltip
			);
			mw.util.addPortletLink(
				'p-cactions',
				'https://vcat.toolforge.org/render?wiki='+ ( mw.config.get( 'wgArticleId') === 0 ? 'commonswiki' : 'dewiki' ) +'&links=graph&ns=6&title=' + wikiUrlencodeTitle + '&format=' + ( ( ( !!document.createElementNS && !!document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ).createSVGRect ) === true ) ? 'svg' : 'png' ),
				tab_catgraph_article,
				'ca-catgraph_article',
				tab_catgraph_article_tooltip
			);
			break;
		case 10:
			if ( wikiUrlencodePageName.substr( 0, 25 ) === 'Vorlage:Navigationsleiste' ) {
				mw.util.addPortletLink(
					'p-cactions',
					'https://templatetransclusioncheck.toolforge.org/?lang=de&name=' + wikiUrlencodePageName,
					tab_navicheck,
					'ca-navicheck',
					tab_navicheck_tooltip
				);
			}
			break;
		case 14:
			var dapeteFormat = "png";
			if ( !!document.createElementNS && !!document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ).createSVGRect ) {
				dapeteFormat = "svg";
			}
			mw.util.addPortletLink(
				'p-cactions',
				'https://petscan.wmflabs.org/?language=de&project=wikipedia&interface_language=' + mw.config.get( 'wgUserLanguage' ) + '&categories=' + wikiUrlencodeTitle,
				tab_catscan,
				'ca-catscan',
				tab_catscan_tooltip
			);
			mw.util.addPortletLink(
				'p-cactions',
				'https://vcat.toolforge.org/render?wiki=dewiki&rel=category&links=wiki&category=' + wikiUrlencodeTitle + '&format=' + dapeteFormat,
				tab_catgraph_super,
				'ca-catgraph_super',
				tab_catgraph_super_tooltip
			);
			mw.util.addPortletLink(
				'p-cactions',
				'https://vcat.toolforge.org/render?wiki=dewiki&rel=subcategory&links=wiki&category=' + wikiUrlencodeTitle + '&format=' + dapeteFormat,
				tab_catgraph_sub,
				'ca-catgraph_sub',
				tab_catgraph_sub_tooltip
			);
			break;
		default:
			// nothing
	}

	function executePersonalPreferences() {
		if ( ts_about ) {
			mw.util.addPortletLink(
				'p-cactions',
				aboutUrl + aboutask2 + '") ) window.open("https://de.wikipedia.org/wiki/Wikipedia:Helferlein/Toolserver-Integration/Konfiguration", "_self")',
				tab_about,
				'ca-about',
				tab_about_tooltip
			);
		}
		if ( ts_syntaxhighlight ) {
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/syntaxhighlight.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_cleandiff ) {
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=Benutzer:TMg/cleanDiff.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_wikidata ) {
			mw.loader.load( 'https://www.wikidata.org/w/index.php?title=User:Yair rand/WikidataInfo.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_deepcat ) {
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=User:Christoph Fischer (WMDE)/Gadgets/DeepCat.js&action=raw&ctype=text/javascript' );
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=User:Christoph Fischer (WMDE)/Gadgets/DeepCat.css&action=raw&ctype=text/css' , 'text/css' );
		}
		if ( ts_wikeddiff ) {
			mw.loader.load( 'https://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_moremenu ) {
			mw.loader.load( 'https://en.wikipedia.org/w/index.php?title=User:MusikAnimal/MoreMenu.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_xtools ) {
			mw.loader.load( 'https://meta.wikimedia.org/w/index.php?title=User:Hedonil/XTools/XTools.js&action=raw&ctype=text/javascript' );
		} 
		if ( ts_statistik ) {
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/artikel-statistik.js&action=raw&ctype=text/javascript' ); // [[Benutzer:Schnark/js/artikel-statistik.js]]
		}
		if ( ts_history ) {
			mw.loader.load( 'https://de.wikipedia.org/w/index.php?title=Benutzer:APPER/WikiHistory.js&action=raw&ctype=text/javascript' );
		}
		if ( ts_pagehiststat ) {
			mw.util.addPortletLink(
				'p-cactions',
				'https://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=de.wikipedia&page=' + wikiUrlencodePageName,
				'PageHistStat'
			);
		}
		if ( ts_guess_wiktionary_page !== null ) {
			apv = 'p-wikibase-otherprojects';
			if ( document.getElementById( apv ) === null ) {
				apv = 'p-tb';
			}
			seite = mw.config.get( 'wgPageName' );
			if ( mw.config.get( 'wgNamespaceNumber' ) !== 0 ) {
				seite = seite.substring( seite.indexOf(':' ) + 1 );
			}
			i = seite.indexOf('/');
			if ( i > 0 ) {
				seite = seite.substring( 0, i );
			}
			i = seite.indexOf( '_(' );
			if ( i > 0 ) {
				seite = seite.substring( 0, i );
			}
			i = seite.indexOf( ',' );
			if ( i > 0 ) {
				seite = seite.substring( 0, i );
			}
			wikts = ts_guess_wiktionary_page && ts_guess_wiktionary_page.split ? ts_guess_wiktionary_page.split( ',' ) : [];
			for ( i = 0; i < wikts.length; i++ ) {
				mw.util.addPortletLink(
					apv,
					'https://' + wikts[i] + '.wiktionary.org/wiki/' + seite,
					'Wiktionary (' + wikts[i] + ')'
				);
				if ( ts_guess_wiktionary_page_lowercase ) {
					mw.util.addPortletLink(
						apv,
						'https://' + wikts[i] + '.wiktionary.org/wiki/' + seite.toLowerCase(),
						'Wiktionary (' + wikts[i] + ', lc)'
					);
				}
			}
		}
	}
} );