Tampermonkey
Tampermonkey
// @author bachvkhoa
// @name QLDT supporter by bachvkhoa
// @version 1.9.4
// @include *
// @run-at document-start
// @require http://code.jquery.com/jquery-2.1.0.min.js
// @updateURL
https://github.com/28dec/qldt_prepare_schedule/raw/master/tampermonkey.user.js
// @license MIT
// ==/UserScript==
function createArray(length) {
var arr = new Array(length || 0),
i = length;
if (arguments.length > 1) {
var args = Array.prototype.slice.call(arguments, 1);
while(i--) arr[length-1 - i] = createArray.apply(this, args);
}
return arr;
}
document.addEventListener ("DOMContentLoaded", function(){
console.log("Hello ^^,")
if(document.getElementById("ctl00_ContentPlaceHolder1_ctl00_txtCaptcha")){
console.log("from Bách văn Khoa's <3 with love","C A P T C H A
B Y P A S S E D");
document.getElementById("ctl00_ContentPlaceHolder1_ctl00_txtCaptcha").value =
document.getElementById("ctl00_ContentPlaceHolder1_ctl00_lblCapcha").textContent;
$('#ctl00_ContentPlaceHolder1_ctl00_btnXacNhan').click();
}
var rows = 6; //here's your number of rows and columns
var cols = 70;
var tables = [];
var m1 = new Map();
var m2 = new Map();
var course_list = new Map();
var tkb_div = $('<div id="tkb_div"></div>')
var table_data = createArray(3, rows * cols);
var SERVED = "v";
var AVAILABLE = " ";
var DUPLICATED = "x";
case "BA":
case "TUE":
day_of_week.push(1);
break;
case "TƯ":
case "WED":
day_of_week.push(2);
break;
case "NĂM":
case "THU":
day_of_week.push(3);
break;
case "SÁU":
case "FRI":
day_of_week.push(4);
break;
case "BẢY":
case "SAT":
day_of_week.push(5);
break;
case "CN":
case "SUN":
day_of_week.push(6);
break;
default:
alert("Error 139: Không hiểu môn học ngày thứ mấy! ->
" + data)
}
})
course.eq(12).find('div.top-fline').map(function(){
start_time.push(parseInt(parseInt($(this).text())/2))
})
course.eq(13).find('div.top-fline').map(function(){i
duration_time.push(parseInt($(this).text()))
})
if(weeks.length != day_of_week.length){
alert("Hệ thống đang bị lỗi môn này!");
} else {
var tmp1 = [];
var tmp2 = [];
for(i = 0; i < weeks.length; i++){
var crr_dow = day_of_week[i];
var crr_st = start_time[i];
var crr_dt = duration_time[i];
var crr_aw = weeks[i]; // array week
for(var j = 0; j < crr_aw.length; j++){
var crr_w = crr_aw[j]-1; //array start count from 0
if(crr_w < 10){
tmp1.push(crr_dow+crr_w*7+crr_st*70);
if(crr_dt == 4){
tmp1.push(crr_dow+crr_w*7+(crr_st+1)*70);
}
} else {
crr_w -= 10;
tmp2.push(crr_dow+crr_w*7+crr_st*70);
if(crr_dt == 4){
tmp2.push(crr_dow+crr_w*7+(crr_st+1)*70);
}
}
}
}
tmp1 = tmp1.filter(function(item, index){
return tmp1.indexOf(item) === index;
})
tmp2 = tmp2.filter(function(item, index){
return tmp2.indexOf(item) === index;
})
m1.set(subject_code, tmp1);
m2.set(subject_code, tmp2);
if(m1.get(subject_code) != undefined){
var tmp_219 = m1.get(subject_code);
for(i = 0; i < tmp_219.length; i++){
if($
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).text() == SERVED){
// da co mon tu truoc
$
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).css("background-
color", "#FF0000"); //red
$
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).html(DUPLICATED);
} else {
$
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).css("background-
color", "#00FF00"); // green
// $
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).prop('value',
subject_code); // green
$
("#tkb_preview_table1").find('td.bvk_table_cell').eq(tmp_219[i]).html(SERVED);
}
table_data[1][tmp_219[i]].set(subject_code,
subject_name + " - " + subject_group + " - " + subject_tth + " - " +
subject_teacher)
course_list.set(subject_code, subject_name + " - " +
subject_group + " - " + subject_tth + " - " + subject_teacher)
}
tmp_219 = m2.get(subject_code);
for(i = 0; i < tmp_219.length; i++){
if($
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).text() == SERVED){
// da co mon tu truoc
$
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).css("background-
color", "#FF0000"); //red
$
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).html(DUPLICATED);
} else {
$
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).css("background-
color", "#00FF00"); //green
// $
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).prop('value',
subject_code); //green
$
("#tkb_preview_table2").find('td.bvk_table_cell').eq(tmp_219[i]).html(SERVED);
}
table_data[2][tmp_219[i]].set(subject_code,
subject_name + " - " + subject_group + " - " + subject_tth + " - " +
subject_teacher)
course_list.set(subject_code, subject_name + " - " +
subject_group + " - " + subject_tth + " - " + subject_teacher)
}
}
}
$("#pnlDSMonhocDK").find('span.course_list_element').map(function(){
$(this).remove()
})
for([key, value] of course_list){
$("#pnlDSMonhocDK").append("<span
class='course_list_element'>"+value+"<br></span>")
}
});
});
function extractCourseSchedule(course) {
var weeks = [];
course.eq(16).find('div.top-fline').map(function () {
var tmp_151 = [];
console.log($(this).text());
for (var i = 0; i < $(this).text().length; i++) {
if ($(this).text()[i] != "-") {
if (i < 9) {
tmp_151.push(parseInt($(this).text()[i]));
} else if (i < 19) {
tmp_151.push(parseInt("1" + $(this).text()[i]));
} else {
tmp_151.push(parseInt("2" + $(this).text()[i]));
}
}
}
weeks.push(tmp_151);
});
return weeks;
}
function extractCourseScheduleFormatDateRange(course) {
var weeks = [];
course.eq(16).find('div.top-fline').map(function () {
var scheduleWeeks = $(this).find('label').attr('id');
console.log(scheduleWeeks);
var tmp_151 = [];
for (var i = 0; i < scheduleWeeks.length; i++) {
if (scheduleWeeks[i] != "-") {
if (i < 9) {
tmp_151.push(parseInt(scheduleWeeks[i]));
} else if (i < 19) {
tmp_151.push(parseInt("1" + scheduleWeeks[i]));
} else {
tmp_151.push(parseInt("2" + scheduleWeeks[i]));
}
}
}
weeks.push(tmp_151);
});
return weeks;
}