MediaWiki:Gadget-OngletGoogle.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/* {{Projet:JavaScript/Script|OngletGoogle}} */

/*
 * Onglet Google
 *
 * Rajoute un onglet vers Google portant sur le titre de la page
 *
 * Auteur : Dake, Hégésippe, Phe, Darkdadaah, JackPotte
 * Mise à jour mediawiki 1.19 : Lgd
 * Dernière révision : 25 aout 2018
 */

if ( mw.config.get( 'wgNamespaceNumber' ) >= 0 ) {

    mw.loader.using( [ 'mediawiki.util', 'user' ], function () {
        $( function ( $ ) {
            'use strict';

            function GoogleQuoteSearch() {
                var result = mw.config.get( 'wgPageName' ).replaceAll( '_', ' ' );
                // on ajoute des guillemets, à condition que le titre ne semble pas contenir une partie de désambiguïsation
                if ( !/ \(.+\)$/.test( result ) ) {
                    result = '"' + result + '"';
                }
                return result;
            }

            var quotedSearch = GoogleQuoteSearch();
            var escapedSearch = encodeURIComponent( quotedSearch ).replaceAll( '%20', '+' );

            var settings = {
                wiki: true,
                google: true,
                images: false,
                livres: false,
            };

            if ( typeof OngletGoogle_settings !== 'undefined' ) {
                Object.assign( settings, OngletGoogle_settings );
            }

            if ( settings.wiki ) {
                mw.util.addPortletLink( 'p-cactions', 'https://www.google.fr/search?num=20&safe=off&q=site%3A' + mw.config.get( 'wgServerName' ) + '+' + escapedSearch, 'Wiki sur Google', 'ca-wiki-sur-google' );
            }

            if ( settings.google ) {
                mw.util.addPortletLink( 'p-cactions', 'https://www.google.fr/search?num=20&safe=off&q=' + escapedSearch, 'Google', 'ca-google' );
            }

            if ( settings.images ) {
                mw.util.addPortletLink( 'p-cactions', 'https://www.google.fr/search?safe=off&tbm=isch&q=' + escapedSearch, 'Google images', 'ca-google-images' );
            }

            if ( settings.livres ) {
                mw.util.addPortletLink( 'p-cactions', 'https://www.google.fr/search?num=20&safe=off&tbm=bks&q=' + escapedSearch, 'Google livres', 'ca-google-livres' );
            }

        } );
    } );
}