comment-card.php
4 days ago
comment-form.php
4 days ago
comment-list.php
4 days ago
comment-replies.php
4 days ago
comments.php
4 days ago
content.php
4 days ago
exercise-files.php
4 days ago
footer.php
4 days ago
nav-item.php
4 days ago
overview.php
4 days ago
footer.php
93 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Tutor learning area footer. |
| 4 | * |
| 5 | * @package Tutor\Templates |
| 6 | * @subpackage LearningArea |
| 7 | * @author Themeum <support@themeum.com> |
| 8 | * @link https://themeum.com |
| 9 | * @since 4.0.0 |
| 10 | */ |
| 11 | |
| 12 | defined( 'ABSPATH' ) || exit; |
| 13 | |
| 14 | use TUTOR\Icon; |
| 15 | use Tutor\Components\Button; |
| 16 | use Tutor\Components\Constants\Color; |
| 17 | use Tutor\Components\Constants\Size; |
| 18 | use Tutor\Components\Constants\Variant; |
| 19 | use Tutor\Components\SvgIcon; |
| 20 | |
| 21 | global $tutor_course_id, |
| 22 | $tutor_current_post, |
| 23 | $tutor_is_enrolled, |
| 24 | $tutor_is_public_course; |
| 25 | |
| 26 | $contents = tutor_utils()->get_course_prev_next_contents_by_id( $tutor_current_post->ID ); |
| 27 | $previous_id = $contents->previous_id; |
| 28 | $next_id = $contents->next_id; |
| 29 | |
| 30 | $prev_is_preview = get_post_meta( $previous_id, '_is_preview', true ); |
| 31 | $next_is_preview = get_post_meta( $next_id, '_is_preview', true ); |
| 32 | |
| 33 | $prev_is_locked = ! ( $tutor_is_enrolled || $prev_is_preview || $tutor_is_public_course ); |
| 34 | $next_is_locked = ! ( $tutor_is_enrolled || $next_is_preview || $tutor_is_public_course ); |
| 35 | |
| 36 | $prev_link = $prev_is_locked || ! $previous_id ? '#' : get_the_permalink( $previous_id ); |
| 37 | $next_link = $next_is_locked || ! $next_id ? '#' : get_the_permalink( $next_id ); |
| 38 | |
| 39 | $is_completed_lesson = tutor_utils()->is_completed_lesson(); |
| 40 | |
| 41 | ?> |
| 42 | <div class="tutor-learning-area-footer" data-lesson> |
| 43 | <?php |
| 44 | Button::make() |
| 45 | ->tag( 'a' ) |
| 46 | ->variant( Variant::GHOST ) |
| 47 | ->size( Size::SMALL ) |
| 48 | ->label( __( 'Previous', 'tutor' ) ) |
| 49 | ->icon( Icon::CHEVRON_LEFT_2 ) |
| 50 | ->flip_rtl() |
| 51 | ->attr( 'href', esc_url( $prev_link ) ) |
| 52 | ->attr( 'style', 'visibility:' . ( $previous_id ? 'visible' : 'hidden' ) ) |
| 53 | ->disabled( $prev_is_locked ) |
| 54 | ->render(); |
| 55 | |
| 56 | if ( $tutor_is_enrolled ) { |
| 57 | ob_start(); |
| 58 | ?> |
| 59 | <form method="post" class="tutor-mb-none" x-data="{ isLoading: false }"> |
| 60 | <?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce, false ); ?> |
| 61 | <input type="hidden" value="<?php echo esc_attr( get_the_ID() ); ?>" name="lesson_id" /> |
| 62 | <input type="hidden" value="tutor_complete_lesson" name="tutor_action" /> |
| 63 | <button type="submit" name="complete_lesson_btn" @click="isLoading = true" :class="{ 'tutor-btn-loading': isLoading }" class="tutor-mark-as-complete-button <?php echo esc_attr( $is_completed_lesson ? 'completed' : '' ); ?>" <?php echo esc_attr( $is_completed_lesson ? 'disabled' : '' ); ?>> |
| 64 | <span class="tutor-text-center tutor-w-full"> |
| 65 | <?php echo esc_html( $is_completed_lesson ? __( 'Completed', 'tutor' ) : __( 'Mark as Complete', 'tutor' ) ); ?> |
| 66 | </span> |
| 67 | <?php |
| 68 | if ( $is_completed_lesson ) { |
| 69 | SvgIcon::make()->name( Icon::LESSON_COMPLETED )->size( 40 )->render(); |
| 70 | } else { |
| 71 | SvgIcon::make()->name( Icon::CHECK_2 )->size( 20 )->color( Color::BRAND )->render(); |
| 72 | } |
| 73 | ?> |
| 74 | </button> |
| 75 | </form> |
| 76 | <?php |
| 77 | echo apply_filters( 'tutor_learning_area_lesson_mark_as_complete', ob_get_clean() ); // phpcs:ignore --already sanitized. |
| 78 | } |
| 79 | |
| 80 | Button::make() |
| 81 | ->tag( 'a' ) |
| 82 | ->variant( Variant::GHOST ) |
| 83 | ->size( Size::SMALL ) |
| 84 | ->label( __( 'Next', 'tutor' ) ) |
| 85 | ->icon( Icon::CHEVRON_RIGHT_2, 'right' ) |
| 86 | ->flip_rtl() |
| 87 | ->attr( 'href', esc_url( $next_link ) ) |
| 88 | ->attr( 'style', 'visibility:' . ( $next_id ? 'visible' : 'hidden' ) ) |
| 89 | ->disabled( $next_is_locked ) |
| 90 | ->render(); |
| 91 | ?> |
| 92 | </div> |
| 93 |