MediaWiki:Gadget-syllabusTimetableLinks.js: Difference between revisions
From Warwick Wiki
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
while (i < weeks.length && !foundWeek) { | while (i < weeks.length && !foundWeek) { | ||
var startDate = new Date(weeks[i].start); | var startDate = new Date(weeks[i].start); | ||
var endDate = new Date(weeks[i].end + "T24:00:00Z"); | var endDate = new Date(weeks[i].end + "T24:00:00Z"); | ||
if (weeks[i].weekNumber > 0 && startDate < today && endDate >= today) { | if (weeks[i].weekNumber > 0 && startDate < today && endDate >= today) { | ||
week = weeks[i].weekNumber; | week = weeks[i].weekNumber; | ||
Line 20: | Line 18: | ||
i++; | i++; | ||
} | } | ||
$('.syllabus-timetable-links').each(function(i, obj) { | $('.syllabus-timetable-links').each(function(i, obj) { | ||
var id = $(obj).data('syllabus-id'); | var id = $(obj).data('syllabus-id'); | ||
var thisWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + year + '/roomtimetable.asp?id=' + id + '&week=' + week + '">This week</a>'; | var thisWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + year + '/roomtimetable.asp?id=' + id + '&week=' + week + '">This week</a>'; | ||
var nextWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + weeks[i+1]. | var nextWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + weeks[i+1].academicYear.replace("/", "") + '/roomtimetable.asp?id=' + id + '&week=' + weeks[i+1].weekNumber + '">Next week</a>'; | ||
$(obj).html('<b>Timetables</b><br/>' + thisWeekTT + ' ' + nextWeekTT); | $(obj).html('<b>Timetables</b><br/>' + thisWeekTT + ' ' + nextWeekTT); | ||
}); | }); | ||
}); | }); | ||
}); | }); |
Revision as of 02:31, 31 August 2025
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);
var endDate = new Date(weeks[i].end + "T24:00:00Z");
if (weeks[i].weekNumber > 0 && startDate < today && endDate >= today) {
week = weeks[i].weekNumber;
year = weeks[i].academicYear.replace("/", "");
foundWeek = true;
i--;
}
i++;
}
$('.syllabus-timetable-links').each(function(i, obj) {
var id = $(obj).data('syllabus-id');
var thisWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + year + '/roomtimetable.asp?id=' + id + '&week=' + week + '">This week</a>';
var nextWeekTT = '<a href="https://timetablingmanagement.warwick.ac.uk/SWS' + weeks[i+1].academicYear.replace("/", "") + '/roomtimetable.asp?id=' + id + '&week=' + weeks[i+1].weekNumber + '">Next week</a>';
$(obj).html('<b>Timetables</b><br/>' + thisWeekTT + ' ' + nextWeekTT);
});
});
});