MediaWiki:CentralNotice/Resources/SeenCount.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
<script>
/* MediaWiki:CentralNotice/Resources/SeenCount.js
 * Don't do any fancy hiding logic, but track the number of banners seen
 * This number might be used later in the banner code
 * e.g. to decide which 'sub-banner' to show
 * and is also passed in utm_key
 */

(function(mw) {

    var cookieCount = parseInt($.cookie('{{{cookie-name}}}')) || 0;

    if(!mw.centralNotice.bannerData.hideResult) {
        cookieCount += 1;
    }

    $.cookie('{{{cookie-name}}}', cookieCount, { expires: 365, path: '/' });
    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>