<?php /** * Displays a lesson. * * Available Variables: * * $course_id : (int) ID of the course * $course : (object) Post object of the course * $course_settings : (array) Settings specific to current course * $course_status : Course Status * $has_access : User has access to course or is enrolled. * * $courses_options : Options/Settings as configured on Course Options page * $lessons_options : Options/Settings as configured on Lessons Options page * $quizzes_options : Options/Settings as configured on Quiz Options page * * $user_id : (object) Current User ID * $logged_in : (true/false) User is logged in * $current_user : (object) Currently logged in user object * * $quizzes : (array) Quizzes Array * $post : (object) The lesson post object * $topics : (array) Array of Topics in the current lesson * $all_quizzes_completed : (true/false) User has completed all quizzes on the lesson Or, there are no quizzes. * $lesson_progression_enabled : (true/false) * $show_content : (true/false) true if lesson progression is disabled or if previous lesson is completed. * $previous_lesson_completed : (true/false) true if previous lesson is completed * $lesson_settings : Settings specific to the current lesson. * * @since 2.1.0 * * @package LearnDash\Templates\Legacy\Lesson */ if ( ! defined( 'ABSPATH' ) ) { exit; } ?> <?php if ( @$lesson_progression_enabled && ! @$previous_lesson_completed ) : ?> <span id="learndash_complete_prev_lesson"> <?php $previous_item = learndash_get_previous( $post ); if ( ( ! empty( $previous_item ) ) && ( $previous_item instanceof WP_Post ) ) { if ( $previous_item->post_type == 'sfwd-quiz' ) { echo sprintf( // translators: placeholder: Quiz URL. esc_html_x( 'Please go back and complete the previous %s.', 'placeholder: Quiz URL', 'learndash' ), '<a class="learndash-link-previous-incomplete" href="' . esc_url( learndash_get_step_permalink( $previous_item->ID, $course_id ) ) . '">' . esc_html( learndash_get_custom_label_lower( 'quiz' ) ) . '</a>' ); } elseif ( $previous_item->post_type == 'sfwd-topic' ) { echo sprintf( // translators: placeholder: Topic URL. esc_html_x( 'Please go back and complete the previous %s.', 'placeholder: Topic URL', 'learndash' ), '<a class="learndash-link-previous-incomplete" href="' . esc_url( learndash_get_step_permalink( $previous_item->ID, $course_id ) ) . '">' . esc_html( learndash_get_custom_label_lower( 'topic' ) ) . '</a>' ); } else { echo sprintf( // translators: placeholder: Lesson URL. esc_html_x( 'Please go back and complete the previous %s.', 'placeholder: Lesson URL', 'learndash' ), '<a class="learndash-link-previous-incomplete" href="' . esc_url( learndash_get_step_permalink( $previous_item->ID, $course_id ) ) . '">' . esc_html( learndash_get_custom_label_lower( 'lesson' ) ) . '</a>' ); } } else { // translators: placeholder: lesson. echo sprintf( esc_html_x( 'Please go back and complete the previous %s.', 'placeholder lesson', 'learndash' ), learndash_get_custom_label_lower( 'lesson' ) ); } ?> </span><br /> <?php add_filter( 'comments_array', 'learndash_remove_comments', 1, 2 ); ?> <?php endif; ?> <?php if ( $show_content ) : ?> <?php if ( ( isset( $materials ) ) && ( ! empty( $materials ) ) ) : ?> <div id="learndash_lesson_materials" class="learndash_lesson_materials"> <h4> <?php // translators: placeholder: Lesson. printf( esc_html_x( '%s Materials', 'placeholder: Lesson', 'learndash' ), LearnDash_Custom_Label::get_label( 'lesson' ) ); ?> </h4> <p><?php echo $materials; ?></p> </div> <?php endif; ?> <div class="learndash_content"><?php echo $content; ?></div> <?php /** * Lesson Topics */ ?> <?php if ( ! empty( $topics ) ) : ?> <div id="learndash_lesson_topics_list" class="learndash_lesson_topics_list"> <div id='learndash_topic_dots-<?php echo esc_attr( $post->ID ); ?>' class="learndash_topic_dots type-list"> <strong> <?php // translators: placeholders: Lesson, Topics. printf( esc_html_x( '%1$s %2$s', 'placeholders: Lesson, Topics', 'learndash' ), LearnDash_Custom_Label::get_label( 'lesson' ), LearnDash_Custom_Label::get_label( 'topics' ) ); ?> </strong> <ul> <?php $odd_class = ''; ?> <?php foreach ( $topics as $key => $topic ) : ?> <?php $odd_class = empty( $odd_class ) ? 'nth-of-type-odd' : ''; ?> <?php $completed_class = empty( $topic->completed ) ? 'topic-notcompleted' : 'topic-completed'; ?> <li class='<?php echo esc_attr( $odd_class ); ?>'> <span class="topic_item"> <a class='<?php echo esc_attr( $completed_class ); ?>' href='<?php echo esc_url( learndash_get_step_permalink( $topic->ID, $course_id ) ); ?>' title='<?php echo esc_html( $topic->post_title ); ?>'> <span><?php echo apply_filters( 'the_title', $topic->post_title, $topic->ID ); ?></span> </a> </span> </li> <?php endforeach; ?> </ul> </div> </div> <?php global $course_pager_results; if ( isset( $course_pager_results[ $post->ID ]['pager'] ) ) { echo SFWD_LMS::get_template( 'learndash_pager.php', array( 'pager_results' => $course_pager_results[ $post->ID ]['pager'], 'pager_context' => 'course_topics', 'href_query_arg' => 'ld-topic-page', 'href_val_prefix' => $post->ID . '-', ) ); } ?> <?php endif; ?> <?php /** * Show Quiz List */ ?> <?php if ( ! empty( $quizzes ) ) : ?> <div id="learndash_quizzes" class="learndash_quizzes"> <div id="quiz_heading"><span><?php echo LearnDash_Custom_Label::get_label( 'quizzes' ); ?></span><span class="right"><?php esc_html_e( 'Status', 'learndash' ); ?></span></div> <div id="quiz_list" class="quiz_list"> <?php foreach ( $quizzes as $quiz ) : ?> <div id="post-<?php echo esc_attr( $quiz['post']->ID ); ?>" class="<?php echo esc_attr( $quiz['sample'] ); ?>"> <div class="list-count"><?php echo esc_attr( $quiz['sno'] ); ?></div> <h4> <a class="<?php echo esc_attr( $quiz['status'] ); ?>" href="<?php echo esc_url( $quiz['permalink'] ); ?>"><?php echo apply_filters( 'the_title', $quiz['post']->post_title, $quiz['post']->ID ); ?></a> </h4> </div> <?php endforeach; ?> </div> </div> <?php endif; ?> <?php /** * Display Lesson Assignments */ ?> <?php if ( ( learndash_lesson_hasassignments( $post ) ) && ( ! empty( $user_id ) ) ) : // cspell:disable-line. ?> <?php $ret = SFWD_LMS::get_template( 'learndash_lesson_assignment_uploads_list.php', array( 'course_step_post' => $post, 'user_id' => $user_id, ) ); echo $ret; ?> <?php endif; ?> <?php /** * Display Mark Complete Button */ ?> <?php if ( $all_quizzes_completed && $logged_in && ! empty( $course_id ) ) : ?> <br /> <?php echo learndash_mark_complete( $post, array( 'form' => array( 'id' => 'sfwd-mark-complete', ), 'button' => array( 'id' => 'learndash_mark_complete_button', ), 'timer' => array( 'id' => 'learndash_timer', ), ) ); ?> <?php endif; ?> <?php endif; ?> <br /> <?php $ret = SFWD_LMS::get_template( 'learndash_course_steps_navigation.php', array( 'course_id' => $course_id, 'course_step_post' => $post, 'user_id' => $user_id, 'course_settings' => isset( $course_settings ) ? $course_settings : array(), ) ); echo $ret;