Example #1
0
 public function getVideoPlaylist($level, $lesson, $gender)
 {
     if (!\PTA\Validate::gender($gender)) {
         $gender = $this->getPreferredGender();
     }
     //		return \PTA\App::getVideoPlayList($level, $lesson, $gender, $this->getPref('video:pseudoStreaming'));
     return \PTA\App::getVideoPlayList($level, $lesson, $gender, true);
 }
Example #2
0
$app->get('/level/:level/:lesson/video(/:gender)', function ($level, $lesson, $gender = null) use($app, $user) {
    if (!$user->isLessonAvailable($level, $lesson)) {
        $app->redirect('/level/' . $user->getLevel());
    }
    //    $catCodes = $user->getProductCategory();
    //    if(in_array(\PTA\App::$Cat_Academy_Code, $catCodes) == false){
    //        if(in_array(\PTA\App::$Cat_Engage_Code, $catCodes) == true){
    //            $app->redirect(\PTA\App::$membership_path);
    //        }
    //    }
    $lessonData = \PTA\App::getLesson($level, $lesson);
    $default_gender = $user->getPreferredGender();
    if ($gender === null) {
        $gender = $default_gender;
    }
    if (!\PTA\Validate::gender($gender)) {
        $app->redirect("/level/{$level}/{$lesson}/video");
    }
    $chapters = \PTA\App::getVideoChapters($level, $lesson, $gender);
    if ($chapters === null) {
        $app->redirect('/level/' . $user->getLevel());
    }
    # Get the preceding and following lessons for back/next style buttons
    $prev_lesson = $user->getPreviousLesson($level, $lesson);
    $next_lesson = $user->getNextLesson($level, $lesson);
    if ($prev_lesson !== null) {
        $prev_lesson = '/level/' . $prev_lesson[0] . '/' . $prev_lesson[1] . '/video/' . $gender;
    }
    if ($next_lesson !== null) {
        $next_lesson = '/level/' . $next_lesson[0] . '/' . $next_lesson[1] . '/video/' . $gender;
    }
Example #3
0
    public function getAverageScores($level, $offset = 0)
    {
        if (!Validate::level($level, __METHOD__)) {
            return null;
        }
        $sql = <<<SQL
\t\t\tSELECT lesson_id, AVG(score) AS mean_score
\t\t\tFROM test_result
\t\t\tWHERE user_id = :user_id AND level_id = :level
\t\t\tGROUP BY level_id, lesson_id
SQL;
        $stmt = PdoFactory::getInstance()->prepare($sql);
        $stmt->bindValue(':user_id', $this->id, PDO::PARAM_INT);
        $stmt->bindValue(':level', $level, PDO::PARAM_INT);
        $stmt->execute();
        $resultset = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $scores = [];
        $next_index = 1;
        foreach ($resultset as $row) {
            $index = $row['lesson_id'];
            for ($i = $next_index; $i <= $index; $i++) {
                $scores[$i + $offset] = null;
            }
            $next_index = $index + 1;
            $scores[$index + $offset] = (double) sprintf('%0.2f', $row['mean_score']);
        }
        return $scores;
    }