| 1 |
<?php |
| 2 |
/** |
| 3 |
* Template for displaying tab nav of single course. |
| 4 |
* |
| 5 |
* This template can be overridden by copying it to yourtheme/learnpress/single-course/tabs/tabs.php. |
| 6 |
* |
| 7 |
* @author ThimPress |
| 8 |
* @package Learnpress/Templates |
| 9 |
* @version 4.0.1 |
| 10 |
*/ |
| 11 |
|
| 12 |
defined( 'ABSPATH' ) || exit(); |
| 13 |
|
| 14 |
$tabs = learn_press_get_course_tabs(); |
| 15 |
|
| 16 |
if ( empty( $tabs ) ) { |
| 17 |
return; |
| 18 |
} |
| 19 |
|
| 20 |
$active_tab = learn_press_cookie_get( 'course-tab' ); |
| 21 |
|
| 22 |
if ( ! $active_tab ) { |
| 23 |
$tab_keys = array_keys( $tabs ); |
| 24 |
$active_tab = reset( $tab_keys ); |
| 25 |
} |
| 26 |
|
| 27 |
// Show status course |
| 28 |
$lp_user = learn_press_get_current_user(); |
| 29 |
|
| 30 |
if ( $lp_user && ! $lp_user instanceof LP_User_Guest ) { |
| 31 |
$can_view_course = $lp_user->can_view_content_course( get_the_ID() ); |
| 32 |
|
| 33 |
if ( ! $can_view_course->flag ) { |
| 34 |
if ( LP_BLOCK_COURSE_FINISHED === $can_view_course->key ) { |
| 35 |
learn_press_display_message( |
| 36 |
esc_html__( 'You finished this course. This course has been blocked', 'learnpress' ), |
| 37 |
'warning' |
| 38 |
); |
| 39 |
} elseif ( LP_BLOCK_COURSE_DURATION_EXPIRE === $can_view_course->key ) { |
| 40 |
learn_press_display_message( |
| 41 |
esc_html__( 'This course has been blocked for expiration', 'learnpress' ), |
| 42 |
'warning' |
| 43 |
); |
| 44 |
} |
| 45 |
} |
| 46 |
} |
| 47 |
?> |
| 48 |
|
| 49 |
<div id="learn-press-course-tabs" class="course-tabs"> |
| 50 |
<?php foreach ( $tabs as $key => $tab ) : ?> |
| 51 |
<input type="radio" name="learn-press-course-tab-radio" id="tab-<?php echo esc_attr( $key ); ?>-input" |
| 52 |
<?php checked( $active_tab === $key ); ?> value="<?php echo esc_attr( $key ); ?>"/> |
| 53 |
<?php endforeach; ?> |
| 54 |
|
| 55 |
<ul class="learn-press-nav-tabs course-nav-tabs" data-tabs="<?php echo esc_attr( count( $tabs ) ); ?>"> |
| 56 |
<?php foreach ( $tabs as $key => $tab ) : ?> |
| 57 |
<?php |
| 58 |
$classes = array( 'course-nav course-nav-tab-' . esc_attr( $key ) ); |
| 59 |
|
| 60 |
if ( $active_tab === $key ) { |
| 61 |
$classes[] = 'active'; |
| 62 |
} |
| 63 |
?> |
| 64 |
|
| 65 |
<li class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>"> |
| 66 |
<label for="tab-<?php echo esc_attr( $key ); ?>-input"><?php echo esc_html( $tab['title'] ); ?></label> |
| 67 |
</li> |
| 68 |
<?php endforeach; ?> |
| 69 |
|
| 70 |
</ul> |
| 71 |
|
| 72 |
<div class="course-tab-panels"> |
| 73 |
<?php foreach ( $tabs as $key => $tab ) : ?> |
| 74 |
<div class="course-tab-panel-<?php echo esc_attr( $key ); ?> course-tab-panel" |
| 75 |
id="<?php echo esc_attr( $tab['id'] ); ?>"> |
| 76 |
<?php |
| 77 |
if ( isset( $tab['callback'] ) && is_callable( $tab['callback'] ) ) { |
| 78 |
call_user_func( $tab['callback'], $key, $tab ); |
| 79 |
} else { |
| 80 |
do_action( 'learn-press/course-tab-content', $key, $tab ); |
| 81 |
} |
| 82 |
?> |
| 83 |
</div> |
| 84 |
<?php endforeach; ?> |
| 85 |
</div> |
| 86 |
</div> |
| 87 |
|