diff options
Diffstat (limited to 'Madagascar/frwp/Philibert_Tsiranana_files/index.php')
-rw-r--r-- | Madagascar/frwp/Philibert_Tsiranana_files/index.php | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Madagascar/frwp/Philibert_Tsiranana_files/index.php b/Madagascar/frwp/Philibert_Tsiranana_files/index.php new file mode 100644 index 0000000..59eaf5e --- /dev/null +++ b/Madagascar/frwp/Philibert_Tsiranana_files/index.php @@ -0,0 +1,112 @@ +function insertBanner(bannerJson) { + jQuery('div#centralNotice').prepend( bannerJson.banner ); +} +function toggleNotice() { + var notice = document.getElementById('centralNotice'); + if (!wgNoticeToggleState) { + notice.className = notice.className.replace('collapsed', 'expanded'); + toggleNoticeCookie('0'); + } else { + notice.className = notice.className.replace('expanded', 'collapsed'); + toggleNoticeCookie('1'); + } + wgNoticeToggleState = !wgNoticeToggleState; +} +function toggleNoticeStyle(elems, display) { + if(elems) + for(var i=0;i<elems.length;i++) + elems[i].style.display = display; +} +function toggleNoticeCookie(state) { + var e = new Date(); + e.setTime( e.getTime() + (7*24*60*60*1000) ); // one week + var work='hidesnmessage='+state+'; expires=' + e.toGMTString() + '; path=/'; + document.cookie = work; +} +var wgNoticeToggleState = (document.cookie.indexOf('hidesnmessage=1')==-1); + +( function( $ ) { + $.ajaxSetup({ cache: true }); + $.centralNotice = { + 'data': { + 'getVars': {} + }, + 'fn': { + 'loadBanner': function( bannerName ) { + // Get the requested banner + var bannerPageQuery = $.param( { + 'banner': bannerName, 'userlang': wgUserLanguage, + 'db': wgDBname, 'sitename': wgSiteName, 'country': Geo.country } ); + var bannerPage = '?title=Special:BannerLoader&' + bannerPageQuery; + var bannerScript = '<script type="text/javascript" src="http://meta.wikimedia.org/w/index.php' + bannerPage + '"></script>'; + $( '#siteNotice' ).prepend( '<div id="centralNotice" class="' + + ( wgNoticeToggleState ? 'expanded' : 'collapsed' ) + + '">'+bannerScript+'</div>' ); + }, + 'loadBannerList': function( geoOverride ) { + if ( geoOverride ) { + var geoLocation = geoOverride; // override the geo info + } else { + var geoLocation = Geo.country; // pull the geo info + } + var bannerListQuery = $.param( { 'language': wgContentLanguage, 'project': wgNoticeProject, 'country': geoLocation } ); + var bannerListURL = wgScript + '?title=' + encodeURIComponent('Spécial:BannerListLoader') + '&cache=/cn.js&' + bannerListQuery; + var request = $.ajax( { + url: bannerListURL, + dataType: 'json', + success: $.centralNotice.fn.chooseBanner + } ); + }, + 'chooseBanner': function( bannerList ) { + // Convert the json object to a true array + bannerList = Array.prototype.slice.call( bannerList ); + + // Make sure there are some banners to choose from + if ( bannerList.length == 0 ) return false; + + var groomedBannerList = []; + + for( var i = 0; i < bannerList.length; i++ ) { + // Only include this banner if it's intended for the current user + if( ( wgUserName && bannerList[i].display_account ) || + ( !wgUserName && bannerList[i].display_anon == 1 ) ) + { + // add the banner to our list once per weight + for( var j=0; j < bannerList[i].weight; j++ ) { + groomedBannerList.push( bannerList[i] ); + } + } + } + + // Return if there's nothing left after the grooming + if( groomedBannerList.length == 0 ) return false; + + // Load a random banner from our groomed list + $.centralNotice.fn.loadBanner( + groomedBannerList[ + Math.floor( Math.random() * groomedBannerList.length ) + ].name + ); + }, + 'getQueryStringVariables': function() { + document.location.search.replace( /\??(?:([^=]+)=([^&]*)&?)/g, function () { + function decode( s ) { + return decodeURIComponent( s.split( "+" ).join( " " ) ); + } + $.centralNotice.data.getVars[decode( arguments[1] )] = decode( arguments[2] ); + } ); + } + } + } + $( document ).ready( function () { + // Initialize the query string vars + $.centralNotice.fn.getQueryStringVariables(); + if( $.centralNotice.data.getVars['banner'] ) { + // if we're forcing one banner + $.centralNotice.fn.loadBanner( $.centralNotice.data.getVars['banner'] ); + } else { + // Look for banners ready to go NOW + $.centralNotice.fn.loadBannerList( $.centralNotice.data.getVars['country'] ); + } + } ); //document ready +} )( jQuery );
\ No newline at end of file |