Aller au contenu

Utilisateur:Zyxwvut-Bot/monobook.js

Une page de Wikipédia, l'encyclopédie libre.
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.
mw.loader.using('mediawiki.util', function () {

/*
==Monobook.js==

=== Searchreplace ===
<source lang="javascript">*/
importScript('User:EDUCA33E/searchreplace.js');

/*</source>

=== searchreplace ===
<poem>
* ****************************************** *
* EDUCA33E : 23/03/06                        *
* Fonction de remplacement automatisé        *
* à partir des pages search et Whatlinkshere *
* et Catégorie                               *
* ****************************************** *
</poem>
<source lang="javascript">*/
function ORTHOPatrol()
{
	if ( window.location.href.indexOf('Search') < 0 && window.location.href.indexOf('Special:Whatlinkshere') < 0 && window.location.href.indexOf('Cat%C3%A9gorie:') < 0 && 
window.location.href.indexOf('Image:') < 0) return;        

        var page_nom = document.getElementById( 'content' ).getElementsByTagName( 'h1' )[ 0 ];
        var page_name = page_nom.firstChild.nodeValue;

	var items, item, ulitems, i, links, user, name, talk, contribs, insertLoc, link;

	function NewLink( txt, url, plainlinks, linkColor )
	{
         	var a = document.createElement( 'a' );
		a.appendChild( document.createTextNode( txt ) );
		a.href = url;
		if ( plainlinks ) a.className = 'plainlinks';
		if ( linkColor )
		{	if ( typeof linkColor == "string" )
					a.style.color = linkColor;
			else	a.style.color = '#FF0000'; // old default behavior
		}
		return a;
	}

ulitems = document.getElementById( 'bodyContent' ).getElementsByTagName( 'ul' );
	for ( w = 0; w < ulitems.length; w++ )
	{
        items = ulitems[w].getElementsByTagName( 'li' );
	for ( i = 0; i < items.length; i++ )
	{
		item = items[ i ];		
		links = item.getElementsByTagName( 'a' );
		user = links[ 0 ]; name = user.firstChild.nodeValue;
		insertLoc = user.nextSibling; // ' newusers '

		item.insertBefore( NewLink( '  [S&R]', 'javascript:SearchPrompt();', true, 'green' ), insertLoc );

		//item.insertBefore( document.createTextNode( '  [' ), insertLoc );
		item.insertBefore( NewLink( '  [Diff]', '/w/index.php?title='+name+'&action=edit&searchreplace=diff', true, 'blue' ), insertLoc );

		item.insertBefore( NewLink( '  [Save]', '/w/index.php?title='+name+'&action=edit&searchreplace=save', true, 'red' ), insertLoc );

	}
        }
}
if ( window.addEventListener ) window.addEventListener( 'load', ORTHOPatrol, false );
else if ( window.attachEvent ) window.attachEvent( 'onload', ORTHOPatrol );

/*</source>

=== Defaultsort ===

<source lang="javascript">*/
function defaultsort() {
    var txt = document.editform.wpTextbox1;
    var sortkey = '';
    if (txt.value.match(/\{\{\s*DEFAULTSORT/)) {
        alert('There\'s already a DEFAULTSORT statement!');
        return;
    } 
    // create an array of all category links
    var catlinks = txt.value.match(/\[\[\s*[Cc]at[eé]gor(y|ie)\s*:.*\]\]/ig);
    if (!catlinks) {
        alert('There are no category links!');
        return;
    } 

    for (i=0; i< catlinks.length; i++) {
        // extract the name of the category
        var catname = catlinks[i].replace(/.+\s*:\s*([^|]*[^|\s])\s*(\|.*)?\]\]/,"$1");
        // extract the sort key 
        var match = /\|[^\]]+/.exec(catlinks[i]);
        if (match == null) {
            alert('Category '+catname+' doesn\'t include a sort key!'); 
            return;
        }
        // strip the '|' and any trailing spaces
        sk = match[0].replace(/\|(.+)/, "$1").replace(/(\S) +$/,"$1");
        if (i == 0) {
            sortkey = sk;
        } else {
            if (sortkey != sk) {
                alert('Not all sort keys are identical!\nThe sort key for category '+catname+' is different.');
                return;
            }
        }
    }
    // Now that we know that everything is OK, we can proceed with modifying the content of the editbox
    txt.value=txt.value.replace(catlinks[0], "{{DEFAULTSORT:"+sortkey+"}}\n"+catlinks[0]);
    for (i=0; i< catlinks.length; i++) {
        subst = catlinks[i].replace(/\|[^\]]+/,"");
        txt.value=txt.value.replace(catlinks[i], subst);
    }
}

addOnloadHook(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-cactions', 'javascript:defaultsort()', 'defaultsort', 'ca-defaultsort', 'Edits the category links to make use of the DEFAULTSORT keyword', '', document.getElementById('ca-purge'));
  }
});

/*</source>

});