MediaWiki:Gadget-syllabusTimetableLinks.js

From Warwick Wiki
Revision as of 02:25, 31 August 2025 by AlfieG (talk | contribs)

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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.hook('wikipage.content').add(function(){
	const today = new Date();
    var week;
    var year;
    $.getJSON( "https://warwick-wiki.containers.uwcs.co.uk/wiki/MediaWiki:Tabula-weeks.json?action=raw", function( data ) {
		const weeks = data.weeks;
		var i = 0;
		var foundWeek = false;
		while (i < weeks.length && !foundWeek) {
			var startDate = new Date(weeks[i].start);
			console.log(startDate);
			var endDate = new Date(weeks[i].end + "T24:00:00Z");
			console.log(endDate);
			if (weeks[i].weekNumber > 0 && startDate < today && endDate >= today) {
				week = weeks[i].weekNumber;
				year = weeks[i].academicYear.replace("/", "");
				foundWeek = true;
			}
			i++;
		}
		console.log('Week ' + week + ', year ' + year);
		$('.syllabus-timetable-links').each(function(i, obj) {
			var id = $(obj).data('syllabus-id');
			var thisWeek = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + year + '/roomtimetable.asp?id=' + id + '&week=' + week + '">This week</a>';
			$(obj).html(thisWeek);
		});
    });
});