course.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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="">';
  41. echo '<button>'.$_local->gui->watch.'</button>';
  42. echo '<button>'.$_local->gui->sign_up.'</button>';
  43. echo '<button>'.$_local->gui->share.'</button></div>';
  44. echo "</div>";
  45. echo '</div>';
  46. echo "<div class='index_inner'>";
  47. echo '<div class="card" style="margin:1em;padding:10px;">';
  48. echo '<div class="title">';
  49. echo $_local->gui->introduction;
  50. echo '</div>';
  51. echo '<div id="course_summary" class="detail">';
  52. echo '</div>';
  53. echo '<div class="title">';
  54. echo $_local->gui->attachment;
  55. echo '</div>';
  56. echo '<div id="course_attachment" class="detail">';
  57. echo '</div>';
  58. echo '</div>';
  59. echo "<div id='lesson_list'>";
  60. echo "</div>";
  61. ?>
  62. </div>
  63. <script>
  64. $("#main_video_win").height($("#main_video_win").width()*9/16);
  65. $.get("../course/course_get.php",
  66. {
  67. id:"<?php echo $_GET["id"]; ?>"
  68. },
  69. function(data,status){
  70. let arrLesson = JSON.parse(data);
  71. if(arrLesson && arrLesson.length>0){
  72. let summary = "";
  73. try{
  74. summary = marked(arrLesson[0]["summary"]);
  75. }
  76. catch(e){
  77. }
  78. $("#course_summary").html(summary);
  79. let attachment = "";
  80. try{
  81. attachment = marked(arrLesson[0]["attachment"]);
  82. }
  83. catch(e){
  84. }
  85. $("#course_attachment").html(attachment);
  86. }
  87. });
  88. $.get("../course/lesson_list.php",
  89. {
  90. id:"<?php echo $_GET["id"]; ?>"
  91. },
  92. function(data,status){
  93. let arrLesson = JSON.parse(data);
  94. let html="";
  95. for(const lesson of arrLesson){
  96. html+= '<div class="card" style="display:flex;margin:1em;padding:10px;">';
  97. html+= '<div style="flex:7;">';
  98. html+= '<div class="pd-10">';
  99. html+= '<div class="title" style="padding-bottom:5px;font-size:200%;font-weight:600;"><a href="../course/lesson.php?id='+lesson["id"]+'" style="color:var(--main-color);">'+lesson["title"]+'</a></div>';
  100. html += '<div style="overflow-y: scroll;max-height: 20em;">';
  101. let summary = "";
  102. try{
  103. summary = marked(lesson["summary"]);
  104. }
  105. catch{
  106. }
  107. html+= '<div class="summary" style="padding-bottom:5px;">'+summary+'</div>';
  108. let live = "";
  109. try{
  110. //live = marked(lesson["live"]);
  111. }
  112. catch{
  113. }
  114. html+= '<div class="summary" style="padding-bottom:5px;">'+live+'</div>';
  115. let replay = "";
  116. try{
  117. //replay = marked(lesson["replay"]);
  118. }
  119. catch{
  120. }
  121. html+= '<div class="summary" style="padding-bottom:5px;">'+replay+'</div>';
  122. let attachment = "";
  123. try{
  124. attachment = marked(lesson["attachment"]);
  125. }
  126. catch{
  127. }
  128. html+= '<div class="summary" style="padding-bottom:5px;">'+attachment+'</div>';
  129. html+= '</div>';
  130. html+= '</div>';
  131. html+= '</div>';
  132. html+= '<div style="flex:3;max-width:15em;">';
  133. let d = new Date();
  134. d.setTime(lesson["date"]);
  135. let strData = d.toLocaleDateString();
  136. let strTime = d.toLocaleTimeString();
  137. html+= '<div >'+gLocal.gui.date+':'+strData +'</div>';
  138. html+= '<div >'+gLocal.gui.time+':'+strTime +'</div>';
  139. let dt = lesson["duration"]/60;
  140. let sdt = "";
  141. if(dt>59){
  142. sdt += Math.floor(dt/60)+"小时";
  143. }
  144. let m = (dt % 60);
  145. if(m>0){
  146. sdt +=(dt % 60)+"分钟";
  147. }
  148. html+= "<div >"+gLocal.gui.duration+":"+sdt+"</div>";
  149. let now = new Date();
  150. let lesson_time="";
  151. if(now<lesson["date"]){
  152. lesson_time = gLocal.gui.not_started;
  153. }
  154. else if(now>lesson["date"] && now<(lesson["date"]+dt*1000)){
  155. lesson_time = gLocal.gui.in_progress;
  156. }
  157. else{
  158. lesson_time = gLocal.gui.already_over;
  159. }
  160. html+= '<div ><span class="lesson_status">'+lesson_time+'</span></div>';
  161. html+= '</div>';
  162. html+= '</div>';
  163. }
  164. $("#lesson_list").html(html);
  165. });
  166. </script>
  167. <?php
  168. include "../pcdl/html_foot.php";
  169. ?>