PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.6.2
Tutor LMS – eLearning and online course solution v3.6.2
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / loop / course-price.php
tutor / templates / loop Last commit date
add-to-cart-edd.php 1 year ago add-to-cart-tutor.php 1 year ago add-to-cart-woocommerce.php 1 year ago course-author.php 3 years ago course-continue.php 2 years ago course-in-cart.php 1 year ago course-price-edd.php 1 year ago course-price-tutor.php 1 year ago course-price-woocommerce.php 1 year ago course-price.php 1 year ago course.php 1 year ago end_content_wrap.php 3 years ago enrolled-course-progress.php 3 years ago footer.php 1 year ago header.php 3 years ago loop-after-content.php 3 years ago loop-before-content.php 3 years ago loop-end.php 3 years ago loop-start.php 3 years ago meta.php 3 years ago rating.php 3 years ago start_content_wrap.php 3 years ago thumbnail.php 3 years ago title.php 3 years ago
course-price.php
94 lines
1 <?php
2 /**
3 * Course loop price
4 *
5 * @package Tutor\Templates
6 * @subpackage CourseLoopPart
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 1.4.3
10 */
11
12 ?>
13 <?php
14 $course_id = get_the_ID();
15 $password_protected = post_password_required( $course_id );
16 $monetization = tutor_utils()->get_option( 'monetize_by' );
17 /**
18 * If Monetization is PMPRO then ignore ajax enrolment
19 * to avoid Paid course enrollment without payment.
20 *
21 * Note: There is no mapping between Tutor Course and PMPRO
22 * That is way there is no way to determine whether course if free
23 * or paid
24 *
25 * @since v2.1.2
26 */
27 $button_class = 'pmpro' === $monetization || $password_protected ? ' ' : ' tutor-course-list-enroll';
28 if ( ! is_user_logged_in() ) {
29 $button_class = apply_filters( 'tutor_enroll_required_login_class', 'tutor-open-login-modal' );
30 }
31
32 $enroll_now_attrs = apply_filters( 'tutor_enroll_now_link_attrs', array(), $course_id );
33 $attrs_string = '';
34 foreach ( $enroll_now_attrs as $key => $value ) {
35 $attrs_string .= sprintf( '%s="%s" ', esc_attr( $key ), esc_attr( $value ) );
36 }
37
38 $enroll_btn = '<div class="tutor-course-list-btn">' . apply_filters( 'tutor_course_restrict_new_entry', '<a href="' . get_the_permalink() . '" class="tutor-btn tutor-btn-outline-primary tutor-btn-md tutor-btn-block ' . $button_class . ' " data-course-id="' . $course_id . '" ' . trim( $attrs_string ) . '>' . __( 'Enroll Course', 'tutor' ) . '</a>', $course_id ) . '</div>';
39 $free_html = $enroll_btn;
40
41 if ( tutor_utils()->is_course_purchasable() && 'wc' === $monetization ) {
42 $enroll_btn = tutor_course_loop_add_to_cart( false );
43
44 $product_id = tutor_utils()->get_course_product_id( $course_id );
45 $product = function_exists( 'wc_get_product' ) ? wc_get_product( $product_id ) : 0;
46
47 $total_enrolled = (int) tutor_utils()->count_enrolled_users_by_course( $course_id );
48 $maximum_students = (int) tutor_utils()->get_course_settings( $course_id, 'maximum_students' );
49
50 if ( $product && 0 != $maximum_students && $total_enrolled != $maximum_students ) {
51 $total_booked = 100 / $maximum_students * $total_enrolled;
52 $b_total = $total_booked;
53 //phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
54 echo '<div class="tutor-d-flex tutor-align-center tutor-justify-between">
55 <div>
56 <span class="tutor-course-price tutor-fs-6 tutor-fw-bold tutor-color-black">' .
57 $product->get_price_html() . '
58 </span>
59 </div>
60
61 <div class="tutor-course-booking-progress tutor-d-flex tutor-align-center">
62 <div class="tutor-mr-8">
63 <div class="tutor-progress-circle" style="--pro: ' . esc_html( $b_total ) . '%;" area-hidden="true"></div>
64 </div>
65 <div class="tutor-fs-7 tutor-fw-medium tutor-color-black">' .
66 esc_html( $b_total ) . __( '% Booked', 'tutor' ) . '
67 </div>
68 </div>
69 </div>
70 <div class="tutor-course-booking-availability tutor-mt-16">
71 <button class="tutor-btn tutor-btn-outline-primary tutor-btn-md tutor-btn-block">' .
72 apply_filters( 'tutor_course_restrict_new_entry', $enroll_btn, $course_id ) . '
73 </button>
74 </div>';
75 }
76
77 if ( $product && $maximum_students == $total_enrolled && 0 != $maximum_students ) {
78 $price_html = '<div class="tutor-d-flex tutor-align-center tutor-justify-between"><div class="list-item-price tutor-d-flex tutor-align-center"> <span class="price tutor-fs-6 tutor-fw-bold tutor-color-black">' . $product->get_price_html() . ' </span></div>';
79 $restrict = '<div class="list-item-booking booking-full tutor-d-flex tutor-align-center"><div class="booking-progress tutor-d-flex"><span class="tutor-mr-8 tutor-color-warning tutor-icon-circle-info"></span></div><div class="tutor-fs-7 tutor-fw-medium tutor-color-black">' . __( 'Fully Booked', 'tutor' ) . '</div></div></div>';
80 echo wp_kses_post( $price_html );
81 echo wp_kses_post( $restrict );
82 }
83
84 if ( $product && 0 == $maximum_students ) {
85 $price_html = '<div class="tutor-d-flex tutor-align-center tutor-justify-between"><div class="list-item-price tutor-d-flex tutor-align-center"> <span class="price tutor-fs-6 tutor-fw-bold tutor-color-black">' . $product->get_price_html() . ' </span></div>';
86 $cart_html = '<div class="list-item-button"> ' . apply_filters( 'tutor_course_restrict_new_entry', $enroll_btn, $course_id ) . ' </div></div>';
87 echo wp_kses_post( $price_html );
88 echo wp_kses_post( $cart_html );
89 }
90 } else {
91 echo wp_kses_post( $free_html );
92 }
93
94