MediaWiki:WMDE FR2016/Resources/CountCampaignDays.js
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.
var startDate = '{{{campaign-start-date}}}',
endDate = '{{{campaign-end-date}}}';
function getCampaignDayString() {
var daysSinceStart = getDaysSinceCampaignStart() + 1;
return daysSinceStart + '.';
}
function dateObjectFromString( dateStr ) {
var dateParts = dateStr.split( '-' );
return new Date( dateParts[ 0 ], dateParts[ 1 ] - 1, dateParts[ 2 ] );
}
function getDaysSinceCampaignStart() {
var startDay = dateObjectFromString( startDate );
return Math.floor( new Date( new Date() - startDay ) / 1000 / 60 / 60 / 24 );
}
function getDaysUntilCampaignEnds() {
var endDay = dateObjectFromString( endDate ),
dayDelta = endDay - new Date();
if ( dayDelta > 0 ) {
return Math.floor( dayDelta / 1000 / 60 / 60 / 24 );
} else {
return 0;
}
}
function getCampaignDaySentence() {
if ( getDaysUntilCampaignEnds() == 0 ) {
return 'Heute ist der letzte Tag unserer Spendenkampagne.';
} else if ( getDaysUntilCampaignEnds() < 7 ) {
return 'Dies ist die letzte Woche unserer Spendenkampagne.';
} else if ( getDaysSinceCampaignStart() > 0 ) {
return 'Heute ist der ' + getCampaignDayString() + ' Tag unserer Spendenkampagne.';
}
return 'Heute beginnt unsere Spendenkampagne.';
}
function getEnglishCampaignDaySentence() {
if ( getDaysUntilCampaignEnds() == 0 ) {
return 'Today is the final day of our donation campaign.';
} else if ( getDaysUntilCampaignEnds() < 7 ) {
return 'This is the last week of our donation campaign.';
}
return '';
}