Difference between revisions of "MediaWiki:Common.js"

From Freephile Wiki
Jump to navigation Jump to search
(Remove WikEd and Remove 'import HTML' link from sidebar)
(cleanup the Matomo code)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load.*/  
 
/* Any JavaScript here will be loaded for all users on every page load.*/  
 +
 +
/** Matomo **/
 +
  var _paq = window._paq || [];
 +
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
 +
  _paq.push(['trackPageView']);
 +
  _paq.push(['enableLinkTracking']);
 +
  (function() {
 +
    var u="//wiki.freephile.org/analytics/";
 +
    _paq.push(['setTrackerUrl', u+'matomo.php']);
 +
    _paq.push(['setSiteId', '1']);
 +
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
 +
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
 +
  })();
 +
/** End Matomo **/
  
 
/**
 
/**

Latest revision as of 11:41, 27 May 2020

/* Any JavaScript here will be loaded for all users on every page load.*/ 

/** Matomo **/
  var _paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//wiki.freephile.org/analytics/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
/** End Matomo **/

/**
 * wikEd.js is a Gadget implemented at MediaWiki:Gadget-wikEd.js and in Special:Preferences

// install [[:Wikipedia:User:Cacycle/wikEd]] in-browser text editor
(function ()
{
	var script = document.createElement('script');
	script.src = '//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&action=raw&ctype=text/javascript';
	script.async = true;
	document.getElementsByTagName('head')[0].appendChild(script);
 }
) ();
*/

/*To add <script src="https://use.fontawesome.com/14c71d3de0.js"></script>
   we use load instead of the deprecated importScriptURI */
mw.loader.load('//use.fontawesome.com/14c71d3de0.js');

/** 
 * Cusomize the sidebar for the Html2Wiki extension
 * @see https://www.mediawiki.org/wiki/Manual:Interface/Sidebar
 * added by Greg Rundlett <info@eQuality-Tech.com>
 */
function isObject( obj ) {
        return typeof obj == 'object' && obj !== null;
}
 
function isArray( obj ) {
        return isObject( obj ) && obj.constructor.toString().indexOf( 'Array' ) != -1;
}
 
Array.prototype.Contains = function( element, strict ) {
        for( var i in this ) {
                if( this[i] == element && !strict || this[i] === element ) {
                        return true;
                }
        }
        return false;
};
 
function ModifySidebar( action, section, name, link ) {
        try {
                var target;
                switch ( section ) {
                        case 'languages':
                                target = 'p-lang';
                                break;
                        case 'toolbox':
                                target = 'p-tb';
                                break;
                        case 'navigation':
                                target = 'p-navigation';
                                break;
                        default:
                                target = 'p-' + section;
                                break;
                }
 
                if ( action == 'add' ) {
                        var node = document.getElementById( target )
                                                           .getElementsByTagName( 'div' )[0]
                                                           .getElementsByTagName( 'ul' )[0];
 
                        var aNode = document.createElement( 'a' );
                        var liNode = document.createElement( 'li' );
 
                        aNode.appendChild( document.createTextNode( name ) );
                        aNode.setAttribute( 'href', link );
                        liNode.appendChild( aNode );
                        liNode.className = 'plainlinks';
                        node.appendChild( liNode );
                }
 
                if ( action == 'remove' ) {
                        var list = document.getElementById( target )
                                                           .getElementsByTagName( 'div' )[0]
                                                           .getElementsByTagName( 'ul' )[0];
 
                        var listelements = list.getElementsByTagName( 'li' );
 
                        for ( var i = 0; i < listelements.length; i++ ) {
                                if (
                                        listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
                                        listelements[i].getElementsByTagName( 'a' )[0].href == link
                                )
                                {
                                        list.removeChild( listelements[i] );
                                }
                        }
                }
 
        } catch( e ) {
                // let's just ignore what's happened
                return;
        }
}
/** 
jQuery( document ).ready( function( $ ) {
        // adds [[Special:Html2Wiki]] to toolbox
        ModifySidebar( 'add', 'toolbox', 'Import HTML', '/wiki/Special:Html2Wiki' );
} );
*/


// import the SubPages 'gadget' for all users. non-optional
/** See https://www.mediawiki.org/wiki/Extension:Gadgets/Scripts/SubPages.js **/
$( function () {
	var NSWithoutSubpages = [ -1, 6, 8, 12, 13, 14, 15, 104, 105 ];
	if ( NSWithoutSubpages.indexOf( mw.config.get( 'wgNamespaceNumber' ) ) === -1 ) {
		var subpagesLink = mw.util.getUrl( 'Special:PrefixIndex/' + mw.config.get( 'wgPageName' ) + '/' );
		mw.util.addPortletLink( 'p-tb', subpagesLink, 'Subpages', 't-subpages', 'Subpages of this page' );
	}
} );