'',
'course_id' => '',
'layout' => 'legacy',
), $atts);
$course_id = (int) isset( $attributes['course_id'] ) ? $attributes['course_id'] : $attributes['ID'];
$layout = isset( $attributes['layout'] ) ? $attributes['layout'] : 'legacy';
ob_start();
if ( 'legacy' === $layout ) {
echo '
';
if ( $course_id && 'academy_courses' === get_post_type( $course_id ) ) {
do_action( 'academy/templates/shortcode/enroll_form_content', $course_id );
do_action( 'academy/templates/shortcode/enroll_price_content', $course_id );
} elseif ( $course_id ) {
echo esc_html__( 'course_id attribute does not match an existing course.', 'academy' );
} else {
echo esc_html__( 'course_id attribute is required.', 'academy' );
}
echo '
';
} else {
echo '';
$enrolled = \Academy\Helper::is_enrolled( $course_id, get_current_user_id(), 'any' );
$course_type = \Academy\Helper::get_course_type( $course_id );
$is_public_course = \Academy\Helper::is_public_course( $course_id );
$prerequisite_courses = apply_filters( 'academy/templates/single_course/prerequisite_courses', false, $course_id );
$monetize_engine = \Academy\Helper::monetization_engine();
$is_surecart_integration = \Academy\Helper::is_plugin_active( 'surecart/surecart.php' ) ? Models\Integration::where( 'integration_id', $course_id )->andWhere( 'model_name', 'product' )->get() : '';
if ( ( $enrolled || $is_public_course ) && empty( $prerequisite_courses ) && ! $is_surecart_integration ) {
\Academy\Helper::get_template( 'shortcode/academy-enroll-form/start-course.php', [
'enrolled' => $enrolled,
'course_id' => $course_id,
'course_type' => $course_type,
'is_public_course' => $is_public_course
] );
} elseif ( $prerequisite_courses ) {
\Academy\Helper::get_template( 'shortcode/academy-enroll-form/course-prerequisite.php', [
'required_courses' => $prerequisite_courses,
'course_type' => $course_type,
'is_free' => 'free' === $course_type ? true : false
] );
} elseif ( 'private' === get_post_status( $course_id ) ) {
\Academy\Helper::get_template( 'shortcode/academy-enroll-form/private-course.php', [ 'course_type' => $course_type ] );
} elseif ( \Academy\Helper::is_course_fully_booked( $course_id ) ) {
\Academy\Helper::get_template( 'shortcode/academy-enroll-form/blocked-enroll.php', [ 'course_type' => $course_type ] );
} else {
\Academy\Helper::get_template( 'shortcode/academy-enroll-form/monetize-engine.php', [
'course_id' => $course_id,
'monetize_engine' => $monetize_engine,
'is_surecart_integration' => $is_surecart_integration
] );
}//end if
echo '
';
}//end if
$output = ob_get_clean();
return apply_filters( 'academy/templates/shortcode/enroll_form', $output );
}
}