예제 #1
0
파일: Paper.php 프로젝트: krisrita/udo
 function getUserPaperDuration($uid, $courseId)
 {
     $tblUserSection = new DB_Haodu_UserSection();
     $list = $tblUserSection->fetchAll("section_id", "where uid={$uid} and course_id={$courseId}");
     if (!$list) {
         return 0;
     }
     $sectionIds = $tblUserSection->columnRow($list, "section_id");
     $tblPractiseAnswerHistory = new DB_Haodu_PractiseAnswerHistory();
     $practiseList = $tblPractiseAnswerHistory->fetchAll("practise_id", "where uid={$uid} and section_id in (" . implode(",", $sectionIds) . ")");
     if (!$practiseList) {
         return 0;
     }
     $practiseIds = $tblPractiseAnswerHistory->columnRow($practiseList, "practise_id");
     $tblCoursePractise = new DB_Haodu_CoursePractise();
     $videoList = $tblCoursePractise->fetchAll("video_id", "where practise_id in (" . implode(",", $practiseIds) . ")");
     if (!$videoList) {
         return 0;
     }
     $videoIds = $tblCoursePractise->columnRow($videoList, "video_id");
     $tblUserVideo = new DB_Haodu_UserVideo();
     $videoList = $tblUserVideo->fetchAll("video_id", "where uid={$uid} and video_id in (" . implode(",", $videoIds) . ")");
     if (!$videoList) {
         return 0;
     }
     $videoIds = $tblCoursePractise->columnRow($videoList, "video_id");
     $tblVideo = new DB_Haodu_CourseVideo();
     $video = $tblVideo->scalar("sum(duration) as total_duration", "where id in (" . implode(',', $videoIds) . ")");
     return (int) $video['total_duration'];
 }
예제 #2
0
파일: Course.php 프로젝트: krisrita/udo
 /**
  * 临时::课程的学习时长
  * 数据导入时没有对一些统计数据加处理.所以这里做了一个重新统计.
  */
 public function getCourseDuration($courseId)
 {
     $tblSection = new DB_Haodu_CourseSection();
     $list = $tblSection->fetchAll("video_id", "where course_id = {$courseId} and parent_id > 0");
     if (!$list) {
         return 0;
     }
     $videoIds = array();
     foreach ($list as $section) {
         $videoIds[] = $section['video_id'];
     }
     $tblVideo = new DB_Haodu_CourseVideo();
     $sum = $tblVideo->scalar("sum(duration) as course_duration", "where id in (" . implode(',', $videoIds) . ")");
     return $sum['course_duration'];
 }