Beispiel #1
0
$app->get('/level/:level/:lesson/exercise', function ($level, $lesson) use($app, $user) {
    if (!$user->isLessonAvailable($level, $lesson)) {
        $app->redirect('/level/' . $user->getLevel());
    }
    $lessonData = \PTA\App::getLesson($level, $lesson);
    # 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] . '/exercise';
    }
    if ($next_lesson !== null) {
        $next_lesson = '/level/' . $next_lesson[0] . '/' . $next_lesson[1] . '/exercise';
    }
    $bgImage = $user->getBackgroundImage();
    $app->render('lesson-exercise.twig', ['pjax' => array_key_exists('X-PJAX', getallheaders()), 'bgImage' => $bgImage, 'lesson' => $lesson, 'level' => $level, 'movie' => "//ptaexercise.s3.amazonaws.com/flash/{$level}/{$lesson}/movie.swf", 'neturl' => \PTA\App::getNetConnectionUrl(), 'next_lesson' => $next_lesson, 'prev_lesson' => $prev_lesson, 'title_ar' => $lessonData['title_ar'], 'title_en' => $lessonData['title_en'], 'url' => \PTA\App::getExerciseURL($level, $lesson), 'user_id' => $user->getUserId()]);
});
$app->get('/level/:level/:lesson/review', function ($level, $lesson) use($app, $user) {
    if (!$user->isLessonAvailable($level, $lesson)) {
        $app->redirect('/level/' . $user->getLevel());
    }
    $app->render('lesson-review.twig', ['level' => $level, 'lesson' => $lesson, 'movie' => "//ptaexercise.s3.amazonaws.com/flash/{$level}/Content_review/{$lesson}/movie.swf"]);
});
# Display exam for given level/lesson tuple
$app->get('/level/:level/:lesson/exam', function ($level, $lesson) use($app, $user) {
    if (!$user->isLessonAvailable($level, $lesson)) {
        $app->redirect('/level/' . $user->getLevel());
    }
    $lessonData = \PTA\App::getLesson($level, $lesson);
    $bgImage = $user->getBackgroundImage();
    # Get the preceding and following lessons for back/next style buttons