MediaWiki:Centralnotice-template-ToUAmendmentNotice2014 mobile
<script>
/* MediaWiki:CentralNotice/Resources/BannerShowHideCountDate.js * Determine if a banner should be hidden or displayed based on the * contents of the cookie named `hide-cookie-name` and that + `-wait`. * * Showing a banner entails that a certain number of impressions have * already occured in a time period. * * hide-cookie-show-count - Number of impressions to show per period * hide-cookie-wait-count - Number of impressions to wait per period * hide-cookie-wait-delay - Number of second in period * * Provides CentralNotice alterImpressionData hook * Banner may be forced if URL parameter force = 1 * Counters may be reset if URL parameter reset = 1 * * Flow chart: https://commons.wikimedia.org/wiki/File:CentralNotice_-_wait_cookie_code_flow.png */ (function(mw) { var /** Total number of impressions seen by this user */ cookieCount = parseInt($.cookie('centralnotice_only2times_tou')) || 0,
waitData = ($.cookie('centralnotice_only2times_tou-wait') || ).split(/[|]/), /** This cycle's count of how many impressions we've waited for */ waitCount = parseInt(waitData[0]) || 0, /** Timestamp (ms) until we can show another banner */ waitUntil = parseInt(waitData[1]) || 0, /** Number of impressions seen this cycle */ waitSeenCount = parseInt(waitData[2]) || 0,
showLimit = parseInt('2') || 0, waitLimit = parseInt('0') || 0, waitDelay = parseInt('2592000') || 0,
hideBanner = true, hideReason = null;
if (location.search.match(/\breset=1/)) { // Reset counters on demand cookieCount = 0; waitCount = 0; waitUntil = 0; waitSeenCount = 0; }
var pastDate = waitUntil < new Date().getTime(), waitForHideImps = waitCount < waitLimit, waitForShowImps = waitSeenCount < showLimit; if (location.search.match(/\bforce=1/)) { hideBanner = false; } else if (!pastDate) { hideReason = 'waitdate'; waitCount += 1; } else if (pastDate && waitForHideImps) { hideReason = 'waitimps'; waitCount += 1; } else if (pastDate && !waitForHideImps && waitForShowImps) { hideBanner = false; waitSeenCount += 1; cookieCount += 1; if (waitSeenCount >= showLimit) { waitCount = 0; waitSeenCount = 0; waitUntil = new Date().getTime() + (waitDelay * 1000); } } else { hideReason = 'waiterr'; waitCount = 0; waitSeenCount = 0; waitUntil = new Date().getTime() + (waitDelay * 1000); } waitData = waitCount + '|' + waitUntil + '|' + waitSeenCount; // Finish up and store results $.cookie('centralnotice_only2times_tou', cookieCount, { expires: 365, path: '/' }); $.cookie('centralnotice_only2times_tou-wait', waitData, { expires: 365, path: '/' }); mw.centralNotice.bannerData.hideResult = hideBanner; mw.centralNotice.bannerData.hideReason = hideReason; mw.centralNotice.bannerData.cookieCount = cookieCount; })(mediaWiki); mediaWiki.centralNotice.bannerData.alterImpressionData = function( impressionData ) { // 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.cookieCount) { impressionData.banner_count = mediaWiki.centralNotice.bannerData.cookieCount; } return !mediaWiki.centralNotice.bannerData.hideResult; };
</script>
<style type="text/css">
- centralNotice.collapsed #{{{banner}}} {
display: none;
}
- {{{banner}}} {
position: relative; overflow: hidden; background: url(//upload.wikimedia.org/wikipedia/commons/0/0d/Gray-gradient1.png) bottom repeat-x; background-color:#FFFFFF; border: solid 1px #aaaaaa; height:66px;
}
- {{{banner}}} a.cn-full-banner-click {
display:block; height:100%; width:100%; cursor: pointer;
}
- {{{banner}}}-logo {
position: absolute; top: 8px; left: 15px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Wikimedia_logo_text_RGB.svg/50px-Wikimedia_logo_text_RGB.svg.png); height: 50px; width: 50px; background-repeat: no-repeat;
}
- {{{banner}}} #black-text {
font-size: 0.8em; color: black; padding: 1em 25px 0.4em 25px; line-height: 1.3em; text-align: center; font-weight:bold;
}
- {{{banner}}} div#cn-toggle-box {
position: absolute; z-index: 98; top: 2px; right: 6px;
}
- {{{banner}}} div#cn-translation-link {
position:absolute; z-index:50; bottom: 2px; right: 6px; font-size: 0.7em;
}
- {{{banner}}} #calltoaction {
padding-top: 5px; color: #0645ad;
}
- cn-translation-link a:link,
- cn-translation-link a:visited,
- cn-translation-link a:hover {
color: black;
}
- cn-toggle-box a {
display:block; padding-left:25px; padding-bottom:25px; }
</style>
<script> $(document).ready(function() {
if (!mw.centralNotice.bannerData.hideResult) { $('#{{{banner}}}').show(); }
}); </script>