User:He7d3r/Tools.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/*jshint browser: true, camelcase: true, curly: true, eqeqeq: true, immed: true, latedef: true, newcap: true, noarg: true, noempty: true, nonew: true, quotmark: true, undef: true, unused: true, strict: true, laxbreak: true, trailing: true, maxlen: 120, evil: true, onevar: true */
/*global jQuery, mediaWiki */
( function ( mw, $ ) {
'use strict';

mw.log( 'Started global.js.' );
mw.loader.using( [ 'mediawiki.util', 'mediawiki.cookie' ], function(){

var enableMyScripts = mw.cookie.get( 'enable-my-scripts' ) !== 'false',
	// enableLocalScripts,
/*
	// Modul: revisionjumper.js Ermöglicht das Springen in Diffs und Permalinks
	// getoldid = true,
	disabledisplayonpermalink = true,
	disabledisplayondiff = true,
	displayonhistory = true,
	displayonview = false,
*/
	isEditOrSubmit = $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ]) !== -1;
	// isPtWb = $.inArray( mw.config.get( 'wgSiteName' ), [ 'Wikilivros', 'WikiLocal' ]) !== -1;

$( function () {
    var	$portlet,
	label = {
		'true': 'Disable my scripts',
		'false': 'Enable my scripts'
	},
	cookieOptions = {
		expires: 86400, // 1 day
		path: '/'
	};
	if ( $('#ca-toggle-js').length ) {
		return;
	}
	$portlet = $( mw.util.addPortletLink(
		'p-tb',
		'#',
		label[ enableMyScripts ],
		'ca-toggle-js',
		'Turn my scripts on or off and reload the page'
	) );
	$portlet.click( function (e) {
		// prevent '#' from appearing in URL bar
		e.preventDefault();
		if ( enableMyScripts ) {
			mw.cookie.set( 'enable-my-scripts', 'false', cookieOptions );
		} else {
			mw.cookie.set( 'enable-my-scripts', null, cookieOptions );
		}
		// Reloads the document (from the cache)
		document.location.reload( false );
	} );
} );
if ( enableMyScripts ) {
/* Begin user scripts */

var wget = function ( wikilink ) {
	var host,
	// '[[proj:lang:Ns:Page.js]]' --> 'proj:lang:Ns:Page.js'
	link = wikilink.replace( /^\[\[|\]\]$/g, '' ),
	// 'proj:lang:Ns:Page.js' --> [ 'proj', 'lang', 'Ns', 'Page.js' ]
	parts = link.split( ':' ),
	ctype = link.substr(-4) === '.css' ? 'text/css' : 'text/javascript',
	page = parts.slice(-2).join( ':' ),
	proj = {
		// language projects
		w: 'wikipedia',
		b: 'wikibooks',
		s: 'wikisource',
		wikt: 'wiktionary',
		v: 'wikiversity',
		voy: 'wikivoyage',
		q: 'wikiquote',
		// multilingual projects
		c: 'commons.wikimedia',
		mw: 'www.mediawiki',
		d: 'www.wikidata',
		m: 'meta.wikimedia',
		species: 'species.wikimedia'
	};
if ( /^(https?:)?\/\//.test( link ) ) {
	if ( ctype === 'text/css' ) {
		mw.loader.load( link, ctype );
	} else {
		$.ajax(
			link,
			{
				dataType:'script',
				cache:true,
				timeout: 5000
			}
		);
	}
	return;
} else if ( parts.length > 3 ) {
	// [[proj:lang:Ns:Page.js]]
	host = parts[1] + '.' + proj[ parts[0] ] + '.org';
} else if ( parts.length === 3 ) {
	// [[proj:Ns:Page.js]]
	host = proj[ parts[0] ] + '.org';
} else {
	mw.log.error( 'wget > ' + link + ' not found' );
}
mw.loader.load(
	'https://' + host + '/w/index.php?title=' +
	mw.util.wikiUrlencode( page ) + '&action=raw&ctype=' + ctype,
	ctype
);
};

/*jshint camelcase:false */
window.EditTools_initial_subset = 1;
/*jshint camelcase:true */
// Decodificação de URLs
window.urlDecoderKey = 'c'; // Accesskey
window.urlDecoderIntLinks = true; // Also decode existing [[internal links]] in selected text

// Notify about warnings and JS errors
mw.trackSubscribe( 'mw.deprecate', function ( topic, err ) {
	if ( err.indexOf( 'mw.toolbar' ) !== -1 && mw.config.get( 'wgVersion' ).indexOf( '1.32' ) !== -1 ){
		return;
	}
	mw.notify( JSON.stringify( err ), { title: topic } );
} );
mw.trackSubscribe( 'global.error', function ( topic, err ) {
	mw.notify( JSON.stringify( err, null, '\t' ), { title: topic } );
} );

/**
 * User-defined for [[w:en:User:js/urldecoder]], transforms URL into {{fullurl:...}} on 2nd click
 * @return string A valid target for an [external link] (if it matches /^(https?:\/\/|\{\{)/) or of an [[internal link]]
 */
window.urlDecoderCustom = function ( url ) {
	var	path = mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) + '?title=',
		pos = url.indexOf( path ),
		result = null;
	if ( pos !== -1 ) {
		result = url.substring( pos + path.length ).match( /^([^&]+)&?(.*)$/ );
	} else {
		path = mw.config.get( 'wgServer' ) + '/wiki/';
		pos = url.indexOf( path );
		if ( pos !== -1 ) {
			result = url.substring( pos + path.length ).match( /^([^\?]+)\??(.*)$/ );
		} else {
			return url;
		}
	}
	if ( mw.config.get( 'wgPageName' ) === result[1] ) {
		result[1] = '{{FULLPAGENAME}}';
	}
	// Note: {{fullurl:A#B|oldid=198639}} is equivalent to {{fullurl:A|oldid=198639#B}}
	return '{'+'{fullurl:' + result[1].replace( /%20|_/g, ' ' ) +
		( result[2] ? '|' + result[2] : '' ) + '}}';
};

/* Quality checker customizations */
// mw.config.set( 'qcAutoCheck', true );

/* Ajax Preview customizations */
/*window.ajaxPreviewExec = function() {
	// Code to execute after each preview update
	mw.loader.using( [
		'jquery.tablesorter',
		'jquery.makeCollapsible'
	], function(){
		$( 'table.sortable' ).tablesorter();
		$( '.mw-collapsible' ).makeCollapsible();
	} );
};*/

//<noinclude>
/*
//</noinclude>
if ( isEditOrSubmit ) {
	wget( 'https://tools-static.wmflabs.org/meta/scripts/i18n/pt.js' );
}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/TemplateScript.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/BookTools.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ExtraEditButtons.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CodingToolbar.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/DebugModeToggle.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ShortDiff.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ExtraLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AddActionLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/LanguageLinksOnCategoryMembers.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/PermalinkWhenExpandingTemplates.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/QUnit.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/WikiBlameLink.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CheckImagesWithoutAttribution.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/PrevRevisionAction.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/LinksOnJSPages.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/InterProjectLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ClearSandbox.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/UnwatchFromWatchlist.js}}
if( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' && /\/cw$/.test( mw.config.get( 'wgTitle' ) ) ){
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CrossWikiWatchlist.js}}
}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/WarningOnUnsignedComments.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/EditSandbox.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ConvertToSearchLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/FormatSaleBotRegexes.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/UserPages.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/BytesPerEditor.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AjaxRollbackLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AssessmentHelper.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/LanguageConverterDistances.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/SearchOnBadwordsList.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ConvertPrefixIndexToList.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CollapsibleChangesListOptions.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AddLinksToValidationTools.js}}
if( mw.config.get( 'wgTitle' ) !== mw.config.get( 'wgUserName' ) ){
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/TalkPageTools.js}}
}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CustomInterface.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/externISBN.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AddMediaWikiVersionLinkToRecentChanges.js}}
mw.config.set( 'server-admin-log-regex', /ptwiki|Portuguese|pt[-_](?:BR|PT)|He[l7]d[e3]r/i );
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/SalMonitor.js}}
window.buttonsForRefsIds = [
	'Q18507658', 'Q18384872', 'Q18385108', 'Q18385111', 'Q15633767', 'Q18507726', 'Q18507804',
	'Q18507818', 'Q18517565', 'Q18517603', 'Q18517614', 'Q18517606', 'Q18517618', 'Q18517621'
];
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ButtonsForRefs.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/DirectImageLinksToCommons.js}}
// {{User:He7d3r/Tools/SidebarSlider.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/jsUpdater.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/SyncMyTools.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CompareTranslations.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ChangeRedTalkPageLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/HighlightSmallDiffs.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/RevertedChanges.js}}
// {{User:He7d3r/Tools/TipsForSlangs.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/CountHiddenStructuresOnCurrentPage.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/createDiffLinks.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AbuseFilterRegressionTest.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AbuseLogStatus.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AbuseFilterStats.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AbuseFilterExecutionStats.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/AddLinksToGadgetDescriptionsInContentLanguage.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/InternalLinkSuggestions.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ImproveGadgetsDefinition.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/GlobalPreferences.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/MarkUnpatrolledContribs.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/UndoFromDiff.js}}
// mw.config.set( 'ScoredRevisionsThresholds', { low: 0.85, medium: 0.9, high: 0.95 } );
mw.config.set( 'ScoredRevisionsEnableForPatrolledRevs', true );
mw.loader.using( [ 'user.options' ], function () {
if( mw.user.options.get( 'ores-enabled' ) != 1 ) {
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ScoredRevisions.js}}
}
} );
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/ScoredCategories.js}}
{{<includeonly>subst:</includeonly>User:He7d3r/Tools/HighlightTinyText.js}}
$( function () {
	$( '#ca-tiny-text' ).click()
} );
// <noinclude>
*/
//</noinclude>

( function ( mw, $ ) {

// Show up to 500 filters by default at [[Special:AbuseFilter]]
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'AbuseFilter' ) {
	var $link = $( '.mw-abusefilter-navigation a' ).first();
	$link.attr( 'href', $link.attr( 'href' ) + '?limit=500' );
}

wget( '[[w:en:User:Js/ajaxPreview.js]]' );
wget( '[[w:en:User:Js/urldecoder.js]]' );
var myLintHints = { };
myLintHints.rooms = '*';
myLintHints.oldid = true;
myLintHints.layer = false;
mw.hook( 'lintHint.config' ).fire( myLintHints );
wget( '[[w:en:User:PerfektesChaos/js/lintHint/r.js]]' );
if(
	mw.util.getParamValue('diff') !== null ||
	mw.config.get( 'wgCanonicalSpecialPageName' ) === 'ComparePages' ||
	mw.util.getParamValue( 'action' ) === 'submit'
){
	// wget( '[[w:en:User:Cacycle/wikEdDiff.js]]' );
	wget( '[[w:de:User:Schnark/js/diff.js]]' );
}
if ( !isEditOrSubmit ){
	wget( '[[w:de:User:Schnark/js/artikel-statistik.js]]' );
}
/*if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' && ! /\/cw$/.test( mw.config.get( 'wgTitle' ) ) ) {
	wget( '[[w:en:User:Theopolisme/Scripts/ajaxWatchlist.js]]' );
}*/
// window.replyLinkPreloadPingTpl = '@[[User:##|]]: '
// wget( '[[w:en:User:Enterprisey/reply-link.js]]' );
wget( '[[w:en:User:Joeytje50/JWB.js/load.js]]' );
wget( '[[w:fr:MediaWiki:Gadget-AncreTitres.js]]' );
wget( '[[mw:MediaWiki:Gadget-UTCLiveClock.js]]' );
wget( '[[c:MediaWiki:Gadget-rightsfilter.js]]' );
if ( mw.config.get( 'wgNamespaceNumber' ) >= 0 && mw.config.get( 'wgNamespaceNumber' ) % 2 === 0 ) {
	wget( '[[d:User:Yair rand/WikidataInfo.js]]' );
	wget( '[[d:User:Yair rand/checksitelinks.js]]' );
}
// mw.loader.load( 'https://translatewiki.net/w/i.php?title=MediaWiki:Gadget-HoverPopTools.css&action=raw&ctype=text/css', 'text/css' );
// mw.loader.load( 'https://translatewiki.net/w/i.php?title=MediaWiki:Gadget-HoverPopTools.js&action=raw&ctype=text/javascript', 'text/javascript' );
// wget( '[[mw:MediaWiki:Gadget-DotsSyntaxHighlighter.js]]' );

/**
 * Forces left-to-right layout and editing on RTL wikis.
 * @see https://meta.wikimedia.org/wiki/Force_ltr
 * @update-token [[File:pathoschild/forceltr.js]]
 */
// wget( 'https://tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js' );
/*try {
	localStorage.setItem( 'mw-mobile-sidebar-state', 'hidden' );
} catch( e ) {
	// [[phab:T66721]]?
}
wget( '[[m:User:Brion VIBBER/mobile-sidebar.css]]' );
wget( '[[m:User:Brion VIBBER/mobile-sidebar.js]]' );*/
// wget( '[[mw:XTools/ArticleInfo.js]]' );
if( mw.config.get( 'wgDBname' ) === 'enwiki' ){
	wget( '[[w:en:User:Lupin/recent2.js]]' );
}
if( mw.config.get( 'wgDBname' ) === 'ptwiki'
	&& mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'ContentTranslation'
){
	wget( '[[w:pt:User:Luizdl/Script de ajustes.js]]' );
}

if( mw.config.get( 'wgDBname' ) === 'wikidatawiki' ){
	wget( '[[m:User:He7d3r/Tools/LowerCaseLabels.js]]' );
	wget( '[[m:User:He7d3r/Tools/WikidataAutofill.js]]' );
	wget( '[[d:User:Joern/altLabels.js]]' );
	// wget( '[[d:User:Magnus Manske/wikidata useful.js]]' );
}

if( location.host.indexOf( 'wikipedia.org' ) !== -1 ){
	window.articleTranslatorConf = {
		'homeWiki': 'pt'
	};
	// wget( '[[w:en:User:Ebraminio/ArticleTranslator.js]]' );
	// [[w:es:User:Qwertyytrewqqwerty/DisamAssist]]
	wget( '[[w:pt:User:Lijealso/DisamAssist.css]]' );
	wget( '[[w:pt:User:Lijealso/DisamAssist.js]]' );
	if ( /[?&]RLRL(?:S|R|RD)=/.test( document.location.href ) ){
		wget( '[[w:en:User:Topbanana/RLRL SR Utility.js]]' );
	}
}

if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ||
	( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false )
) {
	wget( '[[w:en:MediaWiki:Wdsearch.js]]' );
}

if ( mw.config.get( 'wgTitle' ) === 'Krinkle/RTRC'
	&& $.inArray( mw.config.get( 'wgAction' ), [ 'view', 'edit' ] ) !== -1
) {
	// [[File:Krinkle RTRCdev.js]] (workaround for [[phab:T35355]])
	wget( '[[mw:MediaWiki:Gadget-rtrc.css]]' );
	wget( '[[mw:MediaWiki:Gadget-rtrc.js]]' );
}

}( mediaWiki, jQuery ) );
// <noinclude>
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/InterProjectIcons.js}}
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/Archiving.js}}
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/TopContrib.js}}
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/FixTypos.js}}
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/myTools.js}}
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/BlackListChecker.js}}
// [[File:User:He7d3r/Tools/LanguageConverter.js]] (workaround for [[phab:T35355]])
// FIXME: Add JS to import [[User:He7d3r/Tools/LanguageConverterForEnglish.css]]
// { {<includeonly>subst:</includeonly>User:He7d3r/Tools/LanguageConverterForEnglish.js}}
// wget( '[[b:pt:MediaWiki:Gadget-Localizar e substituir.js]]' );
// wget( '[[w:en:User:Cacycle/wikEdDiff.js]]' );
// wget( '[[w:de:MediaWiki:Gadget-revisionjumper.js]]' );
// wget( '[[c:MediaWiki:Gadget-HideFundraisingNotice.js]]' );
// wget( '[[c:MediaWiki:Gadget-contribsrange.js]]' );
//</noinclude>


/**
 * Do not follow redirects on prefix index lists
 */
if ( 'Prefixindex' === mw.config.get( 'wgCanonicalSpecialPageName' ) ) {
	$(function () {
		$('.allpagesredirect a').each(function(){
			$(this).attr('href', $(this).attr('href') + '?redirect=no');
		});
	});
}


/* End user scripts */
} else {
	$( '#ca-toggle-js' ).find( 'a' ).css( 'color', 'red' );
	mw.log.warn( 'Note: Your scripts are disabled.' );
}

/* Loader for scripts from localhost */
/*
enableLocalScripts = mw.cookie.get( 'enable-local-scripts' ) !== 'false';
$( function () {
	var label = {
		'true': 'Disable local scripts',
		'false': 'Enable local scripts'
	};
	$( mw.util.addPortletLink(
		'p-tb',
		'#',
		label[ enableLocalScripts ],
		'ca-local-scripts',
		'Turn local scripts on or off and reload the page'
	) ).click( function (e) {
		// prevent '#' from appearing in URL bar
		e.preventDefault();
		cookieOptions = {
			expires: 86400, // 1 day
			path: '/'
		}
		if ( enableLocalScripts ) {
			mw.cookie.set( 'enable-local-scripts', 'false', cookieOptions );
		} else {
			mw.cookie.set( 'enable-local-scripts', null, cookieOptions );
		}
		// Reloads the document (from the cache)
		document.location.reload( false );
	} );
} );

if ( enableLocalScripts ) {
	wget(
		'http://localhost/w/index.php?title=' +
		'User:' + mw.util.wikiUrlencode( mw.config.get( 'wgUserName' ) ) +
		'/common.js&action=raw&ctype=text/javascript'
	);
}*/

} ); // using mediawiki.util, mediawiki.cookie

}( mediaWiki, jQuery ) );