course.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?PHP
  2. include "../pcdl/html_head.php";
  3. ?>
  4. <body>
  5. <?php
  6. require_once("../pcdl/head_bar.php");
  7. ?>
  8. <style>
  9. #main_video_win iframe{
  10. width:100%;
  11. height:100%;
  12. }
  13. </style>
  14. <?php
  15. //
  16. require_once "../path.php";
  17. require_once "../public/_pdo.php";
  18. require_once '../ucenter/function.php';
  19. require_once '../public/function.php';
  20. global $PDO;
  21. PDO_Connect("sqlite:"._FILE_DB_COURSE_);
  22. $query = "select * from course where id = '{$_GET["id"]}' limit 0,1";
  23. $Fetch = PDO_FetchAll($query);
  24. if(count($Fetch)==0)
  25. {
  26. echo "无法找到此课程。可能该课程已经被拥有者删除。";
  27. exit;
  28. }
  29. $course_info = $Fetch[0];
  30. echo "<div id='course_head_bar' style='background-color:var(--tool-bg-color1);padding:1em 10px 10px 10px;'>";
  31. echo "<div class='index_inner '>";
  32. echo "<div style='font-size:140%'>";
  33. echo "<a href='../uhome/course.php?userid={$course_info["teacher"]}'>";
  34. echo ucenter_getA($course_info["teacher"]);
  35. echo "</a>";
  36. echo " > ";
  37. echo $course_info["title"];
  38. echo "</div>";
  39. echo '<div class="summary" style="padding-bottom:5px;">'.$course_info["subtitle"].'</div>';
  40. echo '<div class="summary" style=""><button>关注</button><button>报名</button><button>分享</button></div>';
  41. echo "</div>";
  42. echo '</div>';
  43. echo "<div class='index_inner'>";
  44. echo '<div class="card" style="margin:1em;">';
  45. echo '<div class="title">';
  46. echo '简介';
  47. echo '</div>';
  48. echo '<div class="detail">';
  49. echo $course_info["summary"];
  50. echo '</div>';
  51. echo '<div class="title">';
  52. echo '参考资料';
  53. echo '</div>';
  54. echo '<div class="detail">';
  55. echo $course_info["attachment"];
  56. echo '</div>';
  57. echo '</div>';
  58. echo "<div id='lesson_list'>";
  59. echo "</div>";
  60. ?>
  61. </div>
  62. <script src="../public/js/marked.js"></script>
  63. <script>
  64. $("#main_video_win").height($("#main_video_win").width()*9/16);
  65. $.get("../course/lesson_list.php",
  66. {
  67. id:"<?php echo $_GET["id"]; ?>"
  68. },
  69. function(data,status){
  70. let arrLesson = JSON.parse(data);
  71. let html="";
  72. for(const lesson of arrLesson){
  73. html+= '<div class="card" style="display:flex;margin:1em;padding:10px;">';
  74. html+= '<div style="flex:7;">';
  75. html+= '<div class="pd-10">';
  76. html+= '<div class="title" style="padding-bottom:5px;font-size:100%;font-weight:600;"><a href="../course/lesson.php?id='+lesson["id"]+'">'+lesson["title"]+'</a></div>';
  77. html += '<div style="overflow-y: scroll;max-height: 20em;">';
  78. let summary = "";
  79. try{
  80. summary = marked(lesson["summary"]);
  81. }
  82. catch{
  83. }
  84. html+= '<div class="summary" style="padding-bottom:5px;">'+summary+'</div>';
  85. let live = "";
  86. try{
  87. live = marked(lesson["live"]);
  88. }
  89. catch{
  90. }
  91. html+= '<div class="summary" style="padding-bottom:5px;">'+live+'</div>';
  92. let replay = "";
  93. try{
  94. replay = marked(lesson["replay"]);
  95. }
  96. catch{
  97. }
  98. html+= '<div class="summary" style="padding-bottom:5px;">'+replay+'</div>';
  99. let attachment = "";
  100. try{
  101. attachment = marked(lesson["attachment"]);
  102. }
  103. catch{
  104. }
  105. html+= '<div class="summary" style="padding-bottom:5px;">'+attachment+'</div>';
  106. html+= '</div>';
  107. html+= '</div>';
  108. html+= '</div>';
  109. html+= '<div style="flex:3;max-width:15em;">';
  110. let d = new Date();
  111. d.setTime(lesson["date"]);
  112. let strData = d.toLocaleDateString();
  113. let strTime = d.toLocaleTimeString();
  114. html+= '<div >开始日期:'+strData +'</div>';
  115. html+= '<div >开始时间:'+strTime +'</div>';
  116. let dt = lesson["duration"]/60;
  117. let sdt = "";
  118. if(dt>59){
  119. sdt += Math.floor(dt/60)+"小时";
  120. }
  121. let m = (dt % 60);
  122. if(m>0){
  123. sdt +=(dt % 60)+"分钟";
  124. }
  125. html+= "<div >持续时间:"+sdt+"</div>";
  126. let now = new Date();
  127. let lesson_time="";
  128. if(now<lesson["date"]){
  129. lesson_time = "尚未开始";
  130. }
  131. else if(now>lesson["date"] && now<(lesson["date"]+dt*1000)){
  132. lesson_time = "正在进行";
  133. }
  134. else{
  135. lesson_time = "已经结束";
  136. }
  137. html+= '<div ><span class="lesson_status">'+lesson_time+'</span></div>';
  138. html+= '</div>';
  139. html+= '</div>';
  140. }
  141. $("#lesson_list").html(html);
  142. });
  143. </script>
  144. <?php
  145. include "../pcdl/html_foot.php";
  146. ?>