var renderer = new marked.Renderer();
renderer.code = function(code, language) {
if (language == "mermaid") return '
' + code + "
";
else return "
" + code + "
";
};
function lesson_show(id) {
$.get(
"../course/lesson_get.php", {
id: id,
},
function(data, status) {
let arrLesson = JSON.parse(data);
let html = "";
for (const lesson of arrLesson) {
html += '
';
html += '
';
html += '
';
html +=
'
' +
lesson["title"] +
"
";
html += '
';
let summary = "";
try {
summary = marked(lesson["summary"], { renderer: renderer });
} catch {}
html += '
' + summary + "
";
let live = "";
try {
live = marked(lesson["live"], { renderer: renderer });
} catch {}
html += '
' + live + "
";
let replay = "";
try {
replay = marked(lesson["replay"], { renderer: renderer });
} catch {}
html += '
' + replay + "
";
let attachment = "";
try {
attachment = note_init(lesson["attachment"]);
} catch {}
html += '
' + attachment + "
";
html += "
";
html += "
";
html += "
";
html += '
';
let d = new Date();
d.setTime(lesson["date"]);
let strData = d.toLocaleDateString();
let strTime = d.toLocaleTimeString();
html += "
" + gLocal.gui.date + ":" + strData + "
";
html += "
" + gLocal.gui.time + ":" + strTime + "
";
let dt = lesson["duration"] / 60;
let sdt = "";
if (dt > 59) {
sdt += Math.floor(dt / 60) + gLocal.gui.h;
}
let m = dt % 60;
if (m > 0) {
sdt += (dt % 60) + gLocal.gui.mins;
}
html += "
" + gLocal.gui.duration + ":" + sdt + "
";
let now = new Date();
let lesson_time = "";
if (now < lesson["date"]) {
lesson_time = gLocal.gui.not_started;
} else if (now > lesson["date"] && now < lesson["date"] + dt * 1000) {
lesson_time = gLocal.gui.in_progress;
} else {
lesson_time = gLocal.gui.already_over;
}
html += '
' + lesson_time + "
";
html += "
";
html += "
";
}
$("#lesson_list").html(html);
note_refresh_new();
mermaid.initialize();
}
);
}
function lesson_load(lesson_id) {
$.get(
"../course/lesson_get.php", {
id: lesson_id,
},
function(data, status) {
let html = "";
let lesson_info = JSON.parse(data);
if (lesson_info) {
//head
html += "
";
html += "
";
html += "
" + lesson_info.title + "
";
html += "
" + lesson_info.subtitle + "
";
html += "
";
html += "
";
//end of head
let d = new Date();
d.setTime(lesson_info.date);
let strData = d.toLocaleDateString();
let strTime = d.toLocaleTimeString();
let dt = lesson_info["duration"] / 60;
let strDuration = "";
if (dt > 59) {
strDuration += Math.floor(dt / 60) + gLocal.gui.h;
}
let m = dt % 60;
if (m > 0) {
strDuration += (dt % 60) + gLocal.gui.mins;
}
html += "
";
// end of course_info_head_2
//live
if (lesson_info.live && lesson_info.live.length > 0) {
html += "
";
html += "
" + gLocal.gui.notice_live + "
";
try {
html += marked(lesson_info.live);
} catch (e) {
html += e.message;
}
html += "
";
}
//end of live
//replay
if (lesson_info.replay && lesson_info.replay.length > 0) {
html += "
";
html += "
" + gLocal.gui.record_replay + "
";
try {
html += marked(lesson_info.replay);
} catch (e) {
html += e.message;
}
html += "
";
}
//end of replay
//attachment
if (lesson_info.attachment && lesson_info.attachment.length > 0) {
html += "
";
html += "
" + gLocal.gui.attachment + "
";
try {
html += "
";
html += note_init(lesson_info.attachment);
html += "
";
} catch (e) {
html += e.message;
}
html += "
";
}
//end of attachment
//content
if (lesson_info.summary && lesson_info.summary.length > 0) {
html += "
";
html += "
" + gLocal.gui.detaile + "
";
try {
html += marked(lesson_info.summary);
} catch (e) {
html += e.message;
}
html += "
";
}
//end of attachment
$("#lesson_info").html(html);
$("#page_title").text(lesson_info.title);
note_refresh_new();
render_course_info(lesson_info.course_id);
render_lesson_list(lesson_info.course_id, lesson_info.id);
}
}
);
}
function render_course_info(course_id) {
$.get(
"../course/course_get.php", {
id: course_id,
},
function(data, status) {
let html = "";
let course_info = JSON.parse(data);
if (course_info) {
let html = "";
html += "
";
}
$("#lesson_list").html(html);
}
);
}
function lesson_get_timeline_settime(start, div) {
let lessonTime;
if (start) {
lessonTime = new Date(parseInt(start));
} else {
lessonTime = new Date();
}
let month = lessonTime.getMonth() + 1;
month = month > 9 ? month : "0" + month;
let d = lessonTime.getDate();
d = d > 9 ? d : "0" + d;
let data = lessonTime.getFullYear() + "-" + month + "-" + d;
let strData = "";
let H = lessonTime.getHours();
H = H > 9 ? H : "0" + H;
let M = lessonTime.getMinutes();
M = M > 9 ? M : "0" + M;
let strTime = "";
$("#form_" + div).html(strData + strTime);
}
function lesson_get_timeline_submit() {
let start_date = new Date();
let start_data = $("#start_date").val().split("-");
let start_time = $("#start_time").val().split(":");
start_date.setFullYear(start_data[0], parseInt(start_data[1]) - 1, start_data[2]);
start_date.setHours(start_time[0], start_time[1]);
let end_date = new Date();
let end_data = $("#end_date").val().split("-");
let end_time = $("#end_time").val().split(":");
end_date.setFullYear(end_data[0], parseInt(end_data[1]) - 1, end_data[2]);
end_date.setHours(end_time[0], end_time[1], 0, 0);
location.assign("../course/lesson_get_timeline.php?start=" + start_date.getTime() + "&end=" + end_date.getTime());
}
function lesson_get_timeline_json(start, end) {
$.get(
"../ucenter/active_log_get.php", {
start: start,
end: end,
},
function(data) {
$("#timeline_json").val(data);
let json = JSON.parse(data);
let html = "
";
for (const row of json) {
html += "
";
let start_date = new Date(parseInt(row.time));
html += "
";
switch (row.active) {
case "30":
html += "" + row.content + "";
break;
case "11":
break;
case "20":
break;
default:
html += row.content;
break;
}
html += "