MediaWiki:Centralnotice-template-KiwixES2015
<script> /* Determine if banner should be shown based on:
* A) if user hasn't seen banners too many times * * Parameters (names should be self-explanatory) * views-cookie-name * max-views * * View counter cookie expires after being untouched for 365 days * * Result is stored in mw.centralNotice.bannerData.hideResult as usual */
mw.loader.using(['mediawiki.util']).then(function() {
var viewCount = parseInt($.cookie('centralnotice_bannercount_kiwixES2015')) || 0; var maxViews = parseInt('2') || 10000;
var hideBanner = true; var hideReason = null;
if ( mw.util.getParamValue('force') ) { hideBanner = false; } else if ( viewCount >= maxViews ) { hideBanner = true; hideReason = 'viewLimit'; } else { hideBanner = false; viewCount += 1; $.cookie('centralnotice_bannercount_kiwixES2015', viewCount, { expires: 365, path: '/' }); }
// Store the results mw.centralNotice.bannerData.hideResult = hideBanner; mw.centralNotice.bannerData.hideReason = hideReason; mw.centralNotice.bannerData.viewCount = viewCount;
});
mediaWiki.centralNotice.bannerData.alterImpressionData = function( impressionData ) {
// Data for Special:RecordImpression // Returning true from this function indicates the banner was shown if (mediaWiki.centralNotice.bannerData.hideReason) { impressionData.reason = mediaWiki.centralNotice.bannerData.hideReason; } if (mediaWiki.centralNotice.bannerData.viewCount) { impressionData.banner_count = mediaWiki.centralNotice.bannerData.viewCount; } return !mediaWiki.centralNotice.bannerData.hideResult;
};
$(document).ready(function() {
if (!mw.centralNotice.bannerData.hideResult) { $('#{{{banner}}}').show(); }
}); </script>