imported>Jacques Ducloy |
imported>Jacques Ducloy |
Ligne 1 : |
Ligne 1 : |
− | //<source lang="javascript">
| |
| | | |
− | /* Import more specific scripts if necessary */
| |
| | | |
− | if (wgAction == "edit" || wgAction == "submit" || wgPageName == "Special:Upload") //scripts specific to editing pages
| + | /** |
− | {
| + | * Boîtes déroulantes |
− | importScript("MediaWiki:Common.js/edit.js")
| |
− | }
| |
− | else if (wgPageName == "Special:Watchlist") //watchlist scripts
| |
− | {
| |
− | importScript("MediaWiki:Common.js/watchlist.js")
| |
− | }
| |
− | | |
− | | |
− | /** Sysop Javascript *******************************************************
| |
− | *
| |
− | * Description: Allows for sysop-specific Javascript at [[MediaWiki:Sysop.js]].
| |
− | */
| |
− | function sysopFunctions() {
| |
− | if ( wgUserGroups && !window.disableSysopJS ) {
| |
− | for ( var g = 0; g < wgUserGroups.length; ++g ) {
| |
− | if ( wgUserGroups[g] == "sysop" ) {
| |
− | importScript( "MediaWiki:Sysop.js" );
| |
− | break;
| |
− | }
| |
− | }
| |
− | }
| |
− | }
| |
− | | |
− | addOnloadHook( sysopFunctions );
| |
− | | |
− | | |
− | /** WikiMiniAtlas *******************************************************
| |
− | *
| |
− | * Description: WikiMiniAtlas is a popup click and drag world map.
| |
− | * This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
| |
− | * The script itself is located on meta because it is used by many projects.
| |
− | * See [[Meta:WikiMiniAtlas]] for more information.
| |
− | * Maintainers: [[User:Dschwen]]
| |
− | */
| |
− | | |
− | if (wgServer == "https://secure.wikimedia.org") {
| |
− | var metaBase = "https://secure.wikimedia.org/wikipedia/meta";
| |
− | } else {
| |
− | var metaBase = "http://meta.wikimedia.org";
| |
− | }
| |
− | importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400")
| |
− | | |
− | | |
− | /** Mobile Redirect Helper ************************************************
| |
− | *
| |
− | * Redirects to the mobile-optimized gateway at en.m.wikimedia.org
| |
− | * for viewers on iPhone, iPod Touch, Palm Pre, and Android devices.
| |
− | *
| |
− | * You can turn off the redirect by setting the cookie "stopMobileRedirect=true"
| |
− | *
| |
− | * This code cannot be imported, because the JS only loads after all other files
| |
− | * and this was causing major issues for users with mobile devices. Must be loaded
| |
− | * *before* the images and etc of the page on all mobile devices.
| |
| * | | * |
− | * Maintainer: [[User:Brion VIBBER]], [[User:hcatlin]] | + | * Pour [[Modèle:Méta palette de navigation]] |
| */ | | */ |
− | if (/(Android|iPhone|iPod|webOS)/.test(navigator.userAgent)) {
| |
− |
| |
− | var wgMainPageName = 'Main_Page';
| |
− |
| |
− | var stopMobileRedirectCookieExists = function() {
| |
− | return (document.cookie.indexOf("stopMobileRedirect=true") >= 0);
| |
− | }
| |
− |
| |
− | var mobileSiteLink = function() {
| |
− | if (wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'Search') {
| |
− | var pageLink = '?search=' + encodeURIComponent(document.getElementById('searchText').value);
| |
− | } else if (wgPageName == wgMainPageName) {
| |
− | var pageLink = '::Home'; // Special case
| |
− | } else {
| |
− | var pageLink = encodeURIComponent(wgPageName).replace('%2F','/').replace('%3A',':');
| |
− | }
| |
− | return 'http://' + wgContentLanguage + '.m.wikipedia.org/wiki/' + pageLink + "?wasRedirected=true"
| |
− | }
| |
− |
| |
− | if (!stopMobileRedirectCookieExists()) {
| |
− | document.location = mobileSiteLink();
| |
− | }
| |
− | }
| |
− |
| |
| | | |
− | /* Scripts specific to Internet Explorer */
| + | var Palette_Enrouler = '[masquer]'; |
| + | var Palette_Derouler = '[afficher]'; |
| | | |
− | if (navigator.appName == "Microsoft Internet Explorer")
| + | var Palette_max = 1; |
− | {
| |
− | /** Internet Explorer bug fix **************************************************
| |
− | *
| |
− | * Description: Fixes IE horizontal scrollbar bug
| |
− | * Maintainers: [[User:Tom-]]?
| |
− | */
| |
− |
| |
− | var oldWidth;
| |
− | var docEl = document.documentElement;
| |
− |
| |
− | function fixIEScroll()
| |
− | {
| |
− | if (!oldWidth || docEl.clientWidth > oldWidth)
| |
− | doFixIEScroll();
| |
− | else
| |
− | setTimeout(doFixIEScroll, 1);
| |
− |
| |
− | oldWidth = docEl.clientWidth;
| |
− | }
| |
− |
| |
− | function doFixIEScroll() {
| |
− | docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
| |
− | }
| |
− |
| |
− | document.attachEvent("onreadystatechange", fixIEScroll);
| |
− | document.attachEvent("onresize", fixIEScroll);
| |
− |
| |
− |
| |
− | /**
| |
− | * Remove need for CSS hacks regarding MSIE and IPA.
| |
− | */
| |
− | if (document.createStyleSheet) {
| |
− | document.createStyleSheet().addRule('.IPA', 'font-family: "Doulos SIL", "Charis SIL", Gentium, "DejaVu Sans", Code2000, "TITUS Cyberbit Basic", "Arial Unicode MS", "Lucida Sans Unicode", "Chrysanthi Unicode";');
| |
− | }
| |
| | | |
− | // In print IE (7?) does not like line-height
| + | function Palette_toggle( $table ) { |
− | appendCSS( '@media print { sup, sub, p, .documentDescription { line-height: normal; }}');
| + | $table.find( 'tr:not(:first)' ).toggleClass( 'navboxHidden' ); |
− | | |
− | // IE overflow bug
| |
− | appendCSS('div.overflowbugx { overflow-x: scroll !important; overflow-y: hidden !important; } div.overflowbugy { overflow-y: scroll !important; overflow-x: hidden !important; }');
| |
− |
| |
− | //Import scripts specific to Internet Explorer 6
| |
− | if (navigator.appVersion.substr(22, 1) == "6") {
| |
− | importScript("MediaWiki:Common.js/IE60Fixes.js")
| |
− | }
| |
| } | | } |
| | | |
| + | function Palette( element ) { |
| + | if ( !element ) { |
| + | element = document; |
| + | } |
| + | var $tables = $( element ).find( 'table.collapsible' ); |
| + | var groups = {}; |
| | | |
− | /* Test if an element has a certain class **************************************
| + | $tables.each( function( _, table ) { |
− | *
| + | var group = table.getAttribute('data-autocollapse-group') || '__default__'; |
− | * Description: Uses regular expressions and caching for better performance.
| + | groups[group] = ( groups[group] || 0 ) + 1; |
− | * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
| + | } ); |
− | */
| |
| | | |
− | var hasClass = (function () {
| + | $tables.each( function( _, table ) { |
− | var reCache = {};
| + | var $table = $( table ); |
− | return function (element, className) {
| |
− | return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
| |
− | };
| |
− | })();
| |
| | | |
| + | var group = table.getAttribute('data-autocollapse-group') || '__default__'; |
| + | var autoCollapse = groups[group] > Palette_max; |
| + | var collapsed = $table.hasClass( 'collapsed' ) || ( autoCollapse && $table.hasClass( 'autocollapse' ) ); |
| | | |
− | /** Interwiki links to featured articles ***************************************
| + | $table.find( 'tr:first th:first' ).prepend( |
− | *
| + | $( '<span class="navboxToggle">\u00a0</span>' ).append( |
− | * Description: Highlights interwiki links to featured articles (or
| + | $( '<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>' ).click( function() { |
− | * equivalents) by changing the bullet before the interwiki link
| + | var $this = $( this ); |
− | * into a star.
| + | if ( $this.text() === Palette_Enrouler ) { |
− | * Maintainers: [[User:R. Koot]]
| + | $this.text( Palette_Derouler ); |
− | */
| + | } else { |
− | | + | $this.text( Palette_Enrouler ); |
− | function LinkFA() | + | } |
− | {
| + | Palette_toggle( $table ); |
− | if ( document.getElementById( "p-lang" ) ) {
| + | return false; |
− | var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
| + | } ) |
− | | + | ) |
− | for ( var i = 0; i < InterwikiLinks.length; i++ ) {
| + | ); |
− | if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) {
| + | if ( collapsed ) { |
− | InterwikiLinks[i].className += " FA"
| + | Palette_toggle( $table ); |
− | InterwikiLinks[i].title = "This is a featured article in another language.";
| + | } |
− | }
| + | } ); |
− | }
| |
− | }
| |
| } | | } |
| + | $( function() { |
| + | Palette(); |
| + | } ); |
| | | |
− | addOnloadHook( LinkFA );
| |
| | | |
− | | + | /** |
− | /** Collapsible tables ********************************************************* | + | * Pour [[Modèle:Boîte déroulante]] |
− | *
| |
− | * Description: Allows tables to be collapsed, showing only the header. See
| |
− | * [[Wikipedia:NavFrame]]. | |
− | * Maintainers: [[User:R. Koot]]
| |
| */ | | */ |
| | | |
− | var autoCollapse = 2; | + | var BoiteDeroulante_Enrouler = '[masquer]'; |
− | var collapseCaption = "hide"; | + | var BoiteDeroulante_Derouler = '[afficher]'; |
− | var expandCaption = "show"; | + | var BoiteDeroulante_max = 0; |
− | | + | var BoiteDeroulante_index = -1; |
− | function collapseTable( tableIndex )
| |
− | {
| |
− | var Button = document.getElementById( "collapseButton" + tableIndex );
| |
− | var Table = document.getElementById( "collapsibleTable" + tableIndex );
| |
− | | |
− | if ( !Table || !Button ) {
| |
− | return false;
| |
− | }
| |
| | | |
− | var Rows = Table.rows;
| + | function BoiteDeroulante_toggle(indexBoiteDeroulante){ |
| + | var a, m; |
| + | var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante); |
| + | var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante); |
| + | var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante); |
| + | if (!NavFrame || !NavToggle || !CaptionContainer) { |
| + | return; |
| + | } |
| + | var caption = []; |
| + | var CaptionSpans = CaptionContainer.getElementsByTagName('span'); |
| + | caption[0] = CaptionSpans[0].innerHTML; |
| + | caption[1] = CaptionSpans[1].innerHTML; |
| | | |
− | if ( Button.firstChild.data == collapseCaption ) {
| + | var Contents = NavFrame.getElementsByTagName('div'); |
− | for ( var i = 1; i < Rows.length; i++ ) {
| + | if ( NavToggle.innerHTML === caption[1] ) { |
− | Rows[i].style.display = "none";
| + | NavToggle.innerHTML = caption[0]; |
− | }
| + | for ( a=0, m=Contents.length; a<m; a++ ) { |
− | Button.firstChild.data = expandCaption;
| + | if ( $( Contents[a] ).hasClass( 'NavContent' ) ) { |
− | } else {
| + | Contents[a].style.display = 'none'; |
− | for ( var i = 1; i < Rows.length; i++ ) {
| + | return; |
− | Rows[i].style.display = Rows[0].style.display;
| + | } |
− | }
| + | } |
− | Button.firstChild.data = collapseCaption;
| + | } else { |
− | }
| + | NavToggle.innerHTML = caption[1]; |
| + | for ( a=0, m=Contents.length; a<m; a++ ) { |
| + | if ( $(Contents[a]).hasClass("NavContent") ) { |
| + | Contents[a].style.display = 'block'; |
| + | return; |
| + | } |
| + | } |
| + | } |
| } | | } |
| | | |
− | function createCollapseButtons() | + | function BoiteDeroulante(Element){ |
− | { | + | if (!Element) { |
− | var tableIndex = 0;
| + | Element = document; |
− | var NavigationBoxes = new Object();
| + | } |
− | var Tables = document.getElementsByTagName( "table" );
| + | var i, l, Enrouler, Derouler, CaptionContainer, NavToggle, NavToggleText, NavFrame; |
− | | + | var NavFrameCount = -1; |
− | for ( var i = 0; i < Tables.length; i++ ) {
| + | var NavFrames = Element.getElementsByTagName("div"); |
− | if ( hasClass( Tables[i], "collapsible" ) ) {
| + | for ( i=0, l=NavFrames.length; i<l; i++ ){ |
− | | + | if ( $( NavFrames[i] ).hasClass( 'NavFrame' ) ){ |
− | /* only add button and increment count if there is a header row to work with */
| + | NavFrame = NavFrames[i]; |
− | var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
| + | NavFrameCount++; |
− | if (!HeaderRow) continue;
| + | BoiteDeroulante_index++; |
− | var Header = HeaderRow.getElementsByTagName( "th" )[0];
| |
− | if (!Header) continue;
| |
− | | |
− | NavigationBoxes[ tableIndex ] = Tables[i];
| |
− | Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
| |
| | | |
− | var Button = document.createElement( "span" );
| + | if (NavFrame.title && NavFrame.title.indexOf("/") !== -1) { |
− | var ButtonLink = document.createElement( "a" );
| + | Enrouler = NavFrame.title.HTMLize().split("/")[1]; |
− | var ButtonText = document.createTextNode( collapseCaption );
| + | Derouler = NavFrame.title.HTMLize().split("/")[0]; |
| + | } else { |
| + | Enrouler = BoiteDeroulante_Enrouler; |
| + | Derouler = BoiteDeroulante_Derouler; |
| + | } |
| + | NavFrame.title=''; |
| + | CaptionContainer = document.createElement('span'); |
| + | CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index; |
| + | CaptionContainer.style.display = "none"; |
| + | CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>'; |
| + | NavFrame.appendChild(CaptionContainer); |
| | | |
− | Button.className = "collapseButton"; //Styles are declared in Common.css
| + | NavToggle = document.createElement("a"); |
| + | NavToggle.className = 'NavToggle'; |
| + | NavToggle.id = 'NavToggle' + BoiteDeroulante_index; |
| + | NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');'; |
| + | NavToggleText = document.createTextNode(Enrouler); |
| + | NavToggle.appendChild(NavToggleText); |
| | | |
− | ButtonLink.style.color = Header.style.color;
| + | NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); |
− | ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
| + | NavFrame.id = 'NavFrame' + BoiteDeroulante_index; |
− | ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
| + | if (BoiteDeroulante_max <= NavFrameCount) { |
− | ButtonLink.appendChild( ButtonText );
| + | BoiteDeroulante_toggle(BoiteDeroulante_index); |
| + | } |
| + | } |
| + | } |
| | | |
− | Button.appendChild( document.createTextNode( "[" ) );
| |
− | Button.appendChild( ButtonLink );
| |
− | Button.appendChild( document.createTextNode( "]" ) );
| |
− |
| |
− | Header.insertBefore( Button, Header.childNodes[0] );
| |
− | tableIndex++;
| |
− | }
| |
− | }
| |
− |
| |
− | for ( var i = 0; i < tableIndex; i++ ) {
| |
− | if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
| |
− | collapseTable( i );
| |
− | }
| |
− | else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
| |
− | var element = NavigationBoxes[i];
| |
− | while (element = element.parentNode) {
| |
− | if ( hasClass( element, "outercollapse" ) ) {
| |
− | collapseTable ( i );
| |
− | break;
| |
− | }
| |
− | }
| |
− | }
| |
− | }
| |
| } | | } |
| | | |
− | addOnloadHook( createCollapseButtons );
| + | mw.hook( 'wikipage.content' ).add( function() { |
− | | + | BoiteDeroulante(); |
− | | + | } ); |
− | /** Dynamic Navigation Bars (experimental) *************************************
| |
− | *
| |
− | * Description: See [[Wikipedia:NavFrame]].
| |
− | * Maintainers: UNMAINTAINED
| |
− | */
| |
− | | |
− | // set up the words in your language
| |
− | var NavigationBarHide = '[' + collapseCaption + ']';
| |
− | var NavigationBarShow = '[' + expandCaption + ']';
| |
− | | |
− | // shows and hides content and picture (if available) of navigation bars
| |
− | // Parameters:
| |
− | // indexNavigationBar: the index of navigation bar to be toggled
| |
− | function toggleNavigationBar(indexNavigationBar)
| |
− | {
| |
− | var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
| |
− | var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
| |
− | | |
− | if (!NavFrame || !NavToggle) {
| |
− | return false;
| |
− | }
| |
− | | |
− | // if shown now
| |
− | if (NavToggle.firstChild.data == NavigationBarHide) {
| |
− | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
− | if ( hasClass( NavChild, 'NavPic' ) ) {
| |
− | NavChild.style.display = 'none';
| |
− | }
| |
− | if ( hasClass( NavChild, 'NavContent') ) {
| |
− | NavChild.style.display = 'none';
| |
− | }
| |
− | }
| |
− | NavToggle.firstChild.data = NavigationBarShow;
| |
− | | |
− | // if hidden now
| |
− | } else if (NavToggle.firstChild.data == NavigationBarShow) {
| |
− | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
− | if (hasClass(NavChild, 'NavPic')) {
| |
− | NavChild.style.display = 'block';
| |
− | }
| |
− | if (hasClass(NavChild, 'NavContent')) {
| |
− | NavChild.style.display = 'block';
| |
− | }
| |
− | }
| |
− | NavToggle.firstChild.data = NavigationBarHide;
| |
− | }
| |
− | }
| |
− | | |
− | // adds show/hide-button to navigation bars
| |
− | function createNavigationBarToggleButton()
| |
− | {
| |
− | var indexNavigationBar = 0;
| |
− | // iterate over all < div >-elements
| |
− | var divs = document.getElementsByTagName("div");
| |
− | for (var i = 0; NavFrame = divs[i]; i++) {
| |
− | // if found a navigation bar
| |
− | if (hasClass(NavFrame, "NavFrame")) {
| |
− | | |
− | indexNavigationBar++;
| |
− | var NavToggle = document.createElement("a");
| |
− | NavToggle.className = 'NavToggle';
| |
− | NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
| |
− | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
| |
− | | |
− | var isCollapsed = hasClass( NavFrame, "collapsed" );
| |
− | /*
| |
− | * Check if any children are already hidden. This loop is here for backwards compatibility:
| |
− | * the old way of making NavFrames start out collapsed was to manually add style="display:none"
| |
− | * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
| |
− | * the content visible without JavaScript support), the new recommended way is to add the class
| |
− | * "collapsed" to the NavFrame itself, just like with collapsible tables.
| |
− | */
| |
− | for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
| |
− | if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
| |
− | if ( NavChild.style.display == 'none' ) {
| |
− | isCollapsed = true;
| |
− | }
| |
− | }
| |
− | }
| |
− | if (isCollapsed) {
| |
− | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
− | if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
| |
− | NavChild.style.display = 'none';
| |
− | }
| |
− | }
| |
− | }
| |
− | var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
| |
− | NavToggle.appendChild(NavToggleText);
| |
− | | |
− | // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
| |
− | for(var j=0; j < NavFrame.childNodes.length; j++) {
| |
− | if (hasClass(NavFrame.childNodes[j], "NavHead")) {
| |
− | NavFrame.childNodes[j].appendChild(NavToggle);
| |
− | }
| |
− | }
| |
− | NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
| |
− | }
| |
− | }
| |
− | }
| |
− | | |
− | addOnloadHook( createNavigationBarToggleButton );
| |
− | | |
− | | |
− | /** Main Page layout fixes *********************************************************
| |
− | *
| |
− | * Description: Adds an additional link to the complete list of languages available.
| |
− | * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
| |
− | */
| |
− | | |
− | if (wgPageName == 'Main_Page' || wgPageName == 'Talk:Main_Page')
| |
− | addOnloadHook(function () {
| |
− | addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/List_of_Wikipedias',
| |
− | 'Complete list', 'interwiki-completelist', 'Complete list of Wikipedias')
| |
− | var nstab = document.getElementById('ca-nstab-main')
| |
− | if (nstab && wgUserLanguage=='en')
| |
− | nstab.firstChild.firstChild.nodeValue = 'Main Page'
| |
− | }
| |
− | )
| |
− | | |
− | | |
− | /** Table sorting fixes ************************************************
| |
− | *
| |
− | * Description: Disables code in table sorting routine to set classes on even/odd rows
| |
− | * Maintainers: [[User:Random832]]
| |
− | */
| |
− | | |
− | ts_alternate_row_colors = false;
| |
− | | |
− | | |
− | /***** uploadwizard_newusers ********
| |
− | * Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]]
| |
− | *
| |
− | * Maintainers: [[User:Krimpet]]
| |
− | ****/
| |
− | function uploadwizard_newusers() {
| |
− | if (wgNamespaceNumber == 4 && wgTitle == "Upload" && wgAction == "view") {
| |
− | var oldDiv = document.getElementById("autoconfirmedusers"),
| |
− | newDiv = document.getElementById("newusers");
| |
− | if (oldDiv && newDiv) {
| |
− | if (typeof wgUserGroups == "object" && wgUserGroups) {
| |
− | for (i = 0; i < wgUserGroups.length; i++) {
| |
− | if (wgUserGroups[i] == "autoconfirmed") {
| |
− | oldDiv.style.display = "block";
| |
− | newDiv.style.display = "none";
| |
− | return;
| |
− | }
| |
− | }
| |
− | }
| |
− | oldDiv.style.display = "none";
| |
− | newDiv.style.display = "block";
| |
− | return;
| |
− | }
| |
− | }
| |
− | }
| |
− | addOnloadHook(uploadwizard_newusers);
| |
− | | |
− | | |
− | /** IPv6 AAAA connectivity testing **/
| |
− | | |
− | var __ipv6wwwtest_factor = 100;
| |
− | var __ipv6wwwtest_done = 0;
| |
− | if ((wgServer != "https://secure.wikimedia.org") && (Math.floor(Math.random()*__ipv6wwwtest_factor)==42)) {
| |
− | importScript("MediaWiki:Common.js/IPv6.js");
| |
− | }
| |
− | | |
− | /** Magic editintros ****************************************************
| |
− | *
| |
− | * Description: Adds editintros on disambiguation pages and BLP pages.
| |
− | * Maintainers: [[User:RockMFR]]
| |
− | */
| |
− | | |
− | function addEditIntro(name)
| |
− | {
| |
− | var el = document.getElementById('ca-edit');
| |
− | if (!el)
| |
− | return;
| |
− | el = el.getElementsByTagName('a')[0];
| |
− | if (el)
| |
− | el.href += '&editintro=' + name;
| |
− | }
| |
− | | |
− | | |
− | if (wgNamespaceNumber == 0) {
| |
− | addOnloadHook(function(){
| |
− | if (document.getElementById('disambigbox'))
| |
− | addEditIntro('Template:Disambig_editintro');
| |
− | });
| |
− | | |
− | addOnloadHook(function(){
| |
− | var cats = document.getElementById('mw-normal-catlinks');
| |
− | if (!cats)
| |
− | return;
| |
− | cats = cats.getElementsByTagName('a');
| |
− | for (var i = 0; i < cats.length; i++) {
| |
− | if (cats[i].title == 'Category:Living people' || cats[i].title == 'Category:Possibly living people') {
| |
− | addEditIntro('Template:BLP_editintro');
| |
− | break;
| |
− | }
| |
− | }
| |
− | });
| |
− | }
| |
− | | |
− | /**
| |
− | * Modifie Special:Search pour pouvoir utiliser différents moteurs de recherche,
| |
− | * disponibles dans une boîte déroulante.
| |
− | * Auteurs : Jakob Voss, Guillaume, importé depuis la Wiki allemande
| |
− | * <pre><nowiki>
| |
− | */
| |
− | | |
− | function externalSearchEngines() { | |
− | if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
| |
− | if (wgPageName != "Spécial:Recherche") return;
| |
− | | |
− | var mainNode = document.getElementById("powersearch");
| |
− | if (!mainNode) mainNode = document.getElementById("search");
| |
− | if (!mainNode) return;
| |
− | | |
− | var beforeNode = document.getElementById("mw-search-top-table");
| |
− | if (!beforeNode) return;
| |
− | beforeNode = beforeNode.nextSibling;
| |
− | if (!beforeNode) return;
| |
− |
| |
− | var firstEngine = "mediawiki";
| |
− |
| |
− | var choices = document.createElement("div");
| |
− | choices.setAttribute("id","searchengineChoices");
| |
− | choices.style.textAlign = "center";
| |
− |
| |
− | var lsearchbox = document.getElementById("searchText");
| |
− | var initValue = lsearchbox.value;
| |
− |
| |
− | var space = "";
| |
− | | |
− | for (var id in searchEngines) {
| |
− | var engine = searchEngines[id];
| |
− | if(engine.ShortName)
| |
− | {
| |
− | if (space) choices.appendChild(space);
| |
− | space = document.createTextNode(" ");
| |
− |
| |
− | var attr = {
| |
− | type: "radio",
| |
− | name: "searchengineselect",
| |
− | value: id,
| |
− | onFocus: "changeSearchEngine(this.value)",
| |
− | id: "searchengineRadio-"+id
| |
− | };
| |
− |
| |
− | var html = "<input";
| |
− | for (var a in attr) html += " " + a + "='" + attr[a] + "'";
| |
− | html += " />";
| |
− | var span = document.createElement("span");
| |
− | span.innerHTML = html;
| |
− |
| |
− | choices.appendChild( span );
| |
− | var label
| |
− | if (engine.Template.indexOf('http') == 0) {
| |
− | label = document.createElement("a");
| |
− | label.href = engine.Template.replace("{searchTerms}", initValue).replace("{language}", "fr");
| |
− | } else {
| |
− | label = document.createElement("label");
| |
− | }
| |
− |
| |
− | label.appendChild( document.createTextNode( engine.ShortName ) );
| |
− | choices.appendChild( label );
| |
− | }
| |
− | }
| |
− | mainNode.insertBefore(choices, beforeNode);
| |
− |
| |
− | var input = document.createElement("input");
| |
− | input.id = "searchengineextraparam";
| |
− | input.type = "hidden";
| |
− |
| |
− | mainNode.insertBefore(input, beforeNode);
| |
− | | |
− | changeSearchEngine(firstEngine, initValue);
| |
− | }
| |
− | | |
− | function changeSearchEngine(selectedId, searchTerms) {
| |
− | | |
− | var currentId = document.getElementById("searchengineChoices").currentChoice;
| |
− | if (selectedId == currentId) return;
| |
− |
| |
− | document.getElementById("searchengineChoices").currentChoice = selectedId;
| |
− | var radio = document.getElementById('searchengineRadio-' + selectedId);
| |
− | radio.checked = "checked";
| |
− |
| |
− | var engine = searchEngines[selectedId];
| |
− | var p = engine.Template.indexOf('?');
| |
− | var params = engine.Template.substr(p+1);
| |
− |
| |
− | var form;
| |
− | if (document.forms["search"]) {
| |
− | form = document.forms["search"];
| |
− | } else {
| |
− | form = document.getElementById("powersearch");
| |
− | }
| |
− | form.setAttribute("action", engine.Template.substr(0,p));
| |
− |
| |
− | var l = ("" + params).split("&");
| |
− | for (var idx = 0;idx < l.length;idx++) {
| |
− | var p = l[idx].split("=");
| |
− | var pValue = p[1];
| |
− |
| |
− | if (pValue == "{language}") {
| |
− | } else if (pValue == "{searchTerms}") {
| |
− | var input;
| |
− | input = document.getElementById("searchText");
| |
− |
| |
− | input.name = p[0];
| |
− | } else {
| |
− | var input = document.getElementById("searchengineextraparam");
| |
− |
| |
− | input.name = p[0];
| |
− | input.value = pValue;
| |
− | }
| |
− | }
| |
− | }
| |
− | | |
− | if (wgPageName == "Spécial:Recherche") {
| |
− | var searchEngines = {
| |
− | mediawiki: {
| |
− | ShortName: "Recherche interne",
| |
− | Template: "/udl-r21-mstr.fr/index.php?search={searchTerms}"
| |
− | },
| |
− | wicriInpl: {
| |
− | ShortName: "Wicri (Inpl) via Google",
| |
− | Template: "http://www.google.fr/search?as_sitesearch=ticri.univ-lorraine.fr&hl={language}&q={searchTerms}"
| |
− | },
| |
− | exalead: {
| |
− | ShortName: "Exalead",
| |
− | Template: "http://www.exalead.com/search/wikipedia/results/?q={searchTerms}&language=fr"
| |
− | },
| |
− | google: {
| |
− | ShortName: "Google",
| |
− | Template: "http://www.google.fr/search?as_sitesearch=fr.wikipedia.org&hl={language}&q={searchTerms}"
| |
− | },
| |
− | wikiwix: {
| |
− | ShortName: "Wikiwix",
| |
− | Template: "http://fr.wikiwix.com/index.php?action={searchTerms}&lang={language}"
| |
− | },
| |
− |
| |
− | wlive: {
| |
− | ShortName: "Windows Live",
| |
− | Template: "http://search.live.com/results.aspx?q={searchTerms}&q1=site:http://fr.wikipedia.org"
| |
− | },
| |
− | yahoo: {
| |
− | ShortName: "Yahoo!",
| |
− | Template: "http://fr.search.yahoo.com/search?p={searchTerms}&vs=fr.wikipedia.org"
| |
− | },
| |
− | globalwpsearch: {
| |
− | ShortName: "Global WP",
| |
− | Template: "http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?timeout=120&search={searchTerms}"
| |
− | }
| |
− | };
| |
− | addOnloadHook(externalSearchEngines);
| |
− | }
| |
− | | |
− | | |
− | //</source>
| |