Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Madagascar/frwp/Ranavalona_II_files/index_003.php
diff options
context:
space:
mode:
Diffstat (limited to 'Madagascar/frwp/Ranavalona_II_files/index_003.php')
-rw-r--r--Madagascar/frwp/Ranavalona_II_files/index_003.php112
1 files changed, 112 insertions, 0 deletions
diff --git a/Madagascar/frwp/Ranavalona_II_files/index_003.php b/Madagascar/frwp/Ranavalona_II_files/index_003.php
new file mode 100644
index 0000000..59eaf5e
--- /dev/null
+++ b/Madagascar/frwp/Ranavalona_II_files/index_003.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