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); }
$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; }
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; }