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 += "
"; html += "
" + ""+gLocal.gui.time_arrange+":" + strData + " " + strTime + "
"; html += "
" + "" + gLocal.gui.duration + ":" + strDuration + "
"; html += "
" + "" + gLocal.gui.speaker + ":"; html += "" + lesson_info.teacher_info.nickname + ""; html += ""; //html += "地区:缅甸"; html += "
"; 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 += "
"; html += ""; html += course_info.title; html += ""; html += "
"; html += "
"; html += ""; html += ""; html += "
"; $("#course_info").html(html); } } ); } function render_lesson_list(course_id, currLesson) { $.get( "../course/lesson_list.php", { id: course_id, }, function(data, status) { let arrLesson = JSON.parse(data); let html = ""; for (const lesson of arrLesson) { let currlessonStyle = ""; if (lesson.id == currLesson) { currlessonStyle = " curr_lesson"; } else { currlessonStyle = " not_curr_lesson"; } //计算课程是否已经开始 let now = new Date(); let class_lesson_time = ""; let dt = lesson["duration"] / 60; if (now < lesson["date"]) { class_lesson_time = "not_started"; } else if (now > lesson["date"] && now < lesson["date"] + dt * 1000) { class_lesson_time = "in_progress"; } else { class_lesson_time = "already_over"; } html += '
'; let d = new Date(); d.setTime(lesson["date"]); let strData = d.toLocaleDateString(); let strTime = d.toLocaleTimeString(); html += '
'; html += "
" + strData + " " + strTime + "
"; html += '"; 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 += ""; html += ""; html += ""; html += ""; } html += "
" + start_date.getHours() + ":" + start_date.getMinutes() + "" + gLocal.LogType[row.active] + ""; switch (row.active) { case "30": html += "" + row.content + ""; break; case "11": break; case "20": break; default: html += row.content; break; } html += "
"; $("#timeline_table").html(html); } ); }