STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-pro/templates/frontend-course-builder.php
SHA-256: 6d87ec7e822ebebdca35f4575af6195114a44587207bdcff5c3f911763b8c79e
<?php
/**
* Frontend course builder.
*
* @package TutorPro\Templates
* @author Themeum <support@themeum.com>
* @link https://themeum.com
* @since 2.0.7
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
use TUTOR\Input;
$course_id = Input::get( 'course_id', 0, Input::TYPE_INT );
global $post;
if ( ! $course_id || tutor()->course_post_type !== get_post_type( $post ) ) {
tutor_permission_denied_template( $course_id );
return;
}
$can_publish_course = (bool) tutor_utils()->get_option( 'instructor_can_publish_course' ) || current_user_can( 'administrator' );
$course_slug = $post->post_name;
$course_permalink = get_the_permalink();
?>
<?php
if ( ! tutor_utils()->is_instructor( get_current_user_id(), true ) || ! tutor_utils()->can_user_edit_course( get_current_user_id(), $course_id ) ) {
tutor_permission_denied_template( $course_id );
return;
}
?>
<?php do_action( 'tutor/dashboard_course_builder_before' ); ?>
<form action="" id="tutor-frontend-course-builder" method="post" enctype="multipart/form-data">
<?php
wp_nonce_field( tutor()->nonce_action, tutor()->nonce );
if ( 'draft' === $post->post_status ) {
?>
<input name="original_publish" type="hidden" id="original_publish" value="Publish">
<?php } ?>
<!-- Sticky header with course action buttons -->
<?php require 'components/sticky-header.php'; ?>
<!-- Course builder body -->
<div class="tutor-container">
<div class="tutor-row">
<div class="tutor-col-12 tutor-col-lg-8 tutor-mb-32 tutor-pr-32">
<input type="hidden" value="tutor_add_course_builder" name="tutor_action" />
<input type="hidden" name="course_ID" id="course_ID" value="<?php echo get_the_ID(); ?>">
<input type="hidden" name="post_ID" id="post_ID" value="<?php echo get_the_ID(); ?>">
<!--since 1.8.0 alert message -->
<?php
$user_id = get_current_user_id();
$expires = get_user_meta( $user_id, 'tutor_frontend_course_message_expires', true );
$message = get_user_meta( $user_id, 'tutor_frontend_course_action_message', true );
if ( $message && $expires && $expires > time() ) {
$show_modal = $message['show_modal'];
$message = $message['message'];
if ( ! $show_modal ) {
?>
<div class="tutor-alert tutor-alert-info">
<?php echo wp_kses_post( $message ); ?>
</div>
<?php } else { ?>
<!-- @todo: move to toast -->
<div id="modal-course-save-feedback" class="tutor-modal tutor-is-active">
<span class="tutor-modal-overlay"></span>
<div class="tutor-modal-window tutor-modal-window-md">
<div class="tutor-modal-content tutor-modal-content-white">
<button class="tutor-iconic-btn tutor-modal-close-o" data-tutor-modal-close>
<span class="tutor-icon-times" area-hidden="true"></span>
</button>
<div class="tutor-modal-body tutor-text-center">
<div class="tutor-py-48">
<img class="tutor-d-inline-block" src="<?php echo esc_url( tutor()->url . 'assets/images/icon-cup.svg' ); ?>" />
<div class="tutor-fs-3 tutor-fw-medium tutor-color-black tutor-mb-12">
<?php esc_html_e( 'Thank You!', 'tutor-pro' ); ?>
</div>
<div class="tutor-fs-6 tutor-color-muted">
<?php echo esc_textarea( $message ); ?></div>
</div>
</div>
</div>
</div>
</div>
<script>
const alertBox = document.getElementById('modal-course-save-feedback');
setTimeout(() => {
if (alertBox) alertBox.classList.remove('tutor-is-active');
}, 5000)
</script>
<?php
}
}
if ( $message || $expires ) {
delete_user_meta( $user_id, 'tutor_frontend_course_message_expires' );
delete_user_meta( $user_id, 'tutor_frontend_course_action_message' );
}
?>
<!--alert message end -->
<?php do_action( 'tutor/dashboard_course_builder_form_field_before' ); ?>
<div class="tutor-course-builder-section tutor-course-builder-info">
<div class="tutor-course-builder-section-title">
<span class="tutor-fs-5 tutor-fw-bold tutor-color-secondary">
<i class="color-text-brand tutor-icon-angle-up tutor-fs-5" area-hidden="true"></i>
<span><?php esc_html_e( 'Course Info', 'tutor-pro' ); ?></span>
</span>
</div>
<!--.tutor-course-builder-section-title-->
<div class="tutor-course-builder-section-content">
<div class="tutor-mb-32">
<label class="tutor-course-field-label tutor-fs-6 tutor-color-black"><?php esc_html_e( 'Course Title', 'tutor-pro' ); ?></label>
<div id="tutor-course-create-title-tooltip-wrapper" class="tooltip-wrap tutor-d-block">
<span class="tooltip-txt tooltip-right tutor-mt-12">
<?php esc_html_e( '255', 'tutor-pro' ); ?>
</span>
<input id="tutor-course-create-title" type="text" name="title" class="tutor-form-control" value="<?php the_title(); ?>" placeholder="<?php esc_html_e( 'ex. Learn Photoshop CS6 from scratch', 'tutor-pro' ); ?>" maxlength="255">
</div>
</div>
<div class="tutor-mb-32">
<label class="tutor-course-field-label tutor-fs-6 tutor-color-black"><?php esc_html_e( 'Course Slug', 'tutor-pro' ); ?></label>
<div id="tutor-course-create-slug-tooltip-wrapper" class="tooltip-wrap tutor-d-block">
<span class="tooltip-txt tooltip-right tutor-mt-12">
<?php esc_html_e( '255', 'tutor-pro' ); ?>
</span>
<input id="tutor-course-slug" type="text" name="post_name" class="tutor-form-control" placeholder="<?php esc_html_e( 'Please enter the course page slug here', 'tutor-pro' ); ?>" value="<?php echo esc_html( $course_slug ); ?>" maxlength="255">
<div class="tutor-fs-7 tutor-has-icon tutor-color-muted tutor-mt-12">
<?php esc_html_e( 'Permalink: ', 'tutor-pro' ); ?>
<a href="<?php echo esc_url( $course_permalink ); ?>" target="_blank">
<?php echo esc_url( $course_permalink ); ?>
</a>
</div>
</div>
</div>
<div class="tutor-mb-32">
<label class="tutor-course-field-label tutor-fs-6 tutor-color-black"><?php esc_html_e( 'About Course', 'tutor-pro' ); ?></label>
<div class="tutor-mb-16">
<?php
$editor_settings = array(
'media_buttons' => false,
'quicktags' => false,
'editor_height' => 150,
'textarea_name' => 'content',
'statusbar' => false,
);
wp_editor( $post->post_content, 'course_description', $editor_settings );
?>
</div>
</div>
<?php do_action( 'tutor/frontend_course_edit/after/description', $post ); ?>
<div class="tutor-frontend-builder-item-scope">
<div class="tutor-form-group">
<label class="tutor-form-label tutor-fs-6">
<?php esc_html_e( 'Choose a category', 'tutor-pro' ); ?>
</label>
<div class="tutor-form-field-course-categories">
<?php
// echo tutor_course_categories_checkbox($course_id).
echo tutor_course_categories_dropdown( $course_id, array( 'classes' => 'tutor_select2' ) ); //phpcs:ignore
?>
</div>
</div>
</div>
<?php do_action( 'tutor/frontend_course_edit/after/category', $post ); ?>
<?php
$monetize_by = tutils()->get_option( 'monetize_by' );
if ( 'wc' === $monetize_by || 'edd' === $monetize_by ) {
$course_price = tutor_utils()->get_raw_course_price( get_the_ID() );
$currency_symbol = tutor_utils()->currency_symbol();
$_tutor_course_price_type = tutils()->price_type();
?>
<div class="tutor-course-price-wrapper tutor-mb-32 tutor-row tutor-align-center">
<div class="tutor-mb-20">
<div class="tutor-course-field-label tutor-fs-6 tutor-mb-3"><?php esc_html_e( 'Course Price', 'tutor-pro' ); ?></div>
<div class="tutor-d-flex tutor-mt-20 tutor-course-price-toggle">
<div class="tutor-form-check tutor-align-center">
<input type="radio" id="tutor_input_price_free" class="tutor-form-check-input tutor-flex-shrink-0" name="tutor_course_price_type" value="free" <?php $_tutor_course_price_type ? checked( $_tutor_course_price_type, 'free' ) : checked( 'true', 'true' ); ?> />
<label for="tutor_input_price_free" class="tutor-fs-6">
<?php esc_html_e( 'Free', 'tutor-pro' ); ?>
</label>
</div>
<div class="tutor-form-check tutor-align-center">
<input type="radio" id="tutor_input_price_paid" class="tutor-form-check-input tutor-flex-shrink-0" name="tutor_course_price_type" value="paid" <?php checked( $_tutor_course_price_type, 'paid' ); ?> />
<label for="tutor_input_price_paid" class="tutor-fs-6">
<?php esc_html_e( 'Paid', 'tutor-pro' ); ?>
</label>
</div>
</div>
</div>
<div class="tutor-mb-12">
<div class="tutor-course-price-row tutor-row <?php echo 'paid' === $_tutor_course_price_type ? 'is-paid tutor-mb-20' : null; ?>">
<div class="tutor-col-6 tutor-col-sm-6 tutor-col-lg-4 tutor-course-price-row-regular">
<div class="tutor-form-label"><?php esc_html_e( 'Regular Price', 'tutor-pro' ); ?></div>
<div class="tutor-form-check tutor-align-center tutor-d-flex">
<label for="tutor_price_paid" class="tutor-amount-field">
<div class="tutor-input-group">
<span class="tutor-input-group-addon">
<?php echo $currency_symbol; //phpcs:ignore ?>
</span>
<input type="number" class="tutor-form-number-verify tutor-form-control" name="course_price" value="<?php echo esc_attr( $course_price->regular_price ); ?>" placeholder="<?php esc_attr_e( 'Set course price', 'tutor-pro' ); ?>" step="any" min="0" pattern="^\d*(\.\d{0,2})?$">
</div>
</label>
</div>
</div>
<div class="tutor-col-6 tutor-col-sm-6 tutor-col-lg-6 tutor-course-price-paid">
<div class="tutor-form-label"><?php esc_html_e( 'Discounted Price', 'tutor-pro' ); ?></div>
<div class="tutor-form-check tutor-align-center tutor-d-flex">
<label class="tutor-amount-field">
<div class="tutor-input-group">
<span class="tutor-input-group-addon">
<?php echo $currency_symbol; //phpcs:ignore ?>
</span>
<input type="number" class="tutor-form-number-verify tutor-form-control" name="course_sale_price" value="<?php echo esc_attr( $course_price->sale_price ); ?>" placeholder="<?php esc_attr_e( 'Set course sale price', 'tutor-pro' ); ?>" step="any" min="0" pattern="^\d*(\.\d{0,2})?$">
</div>
</label>
</div>
</div>
</div>
</div>
</div>
<?php
}
?>
<div class="tutor-mb-32">
<label class="tutor-course-field-label tutor-fs-6"><?php esc_html_e( 'Course Thumbnail', 'tutor-pro' ); ?></label>
<div class="tutor-mb-16">
<?php
tutor_load_template_from_custom_path(
tutor()->path . '/views/fragments/thumbnail-uploader.php',
array(
'media_id' => get_post_thumbnail_id( $course_id ),
'input_name' => 'tutor_course_thumbnail_id',
'placeholder' => tutor()->url . '/assets/images/thumbnail-placeholder.svg',
'borderless' => true,
'background' => '#E3E6EB',
'border' => '#E3E6EB',
),
false
);
?>
</div>
</div>
<?php do_action( 'tutor/frontend_course_edit/after/thumbnail', $post ); ?>
</div>
</div>
<?php do_action( 'tutor/dashboard_course_builder_form_field_after', $post ); ?>
</div>
<!-- Course builder tips right sidebar -->
<div class="tutor-col-12 tutor-col-lg-4 tutor-mb-32 tutor-pl-40">
<div class="tutor-course-builder-upload-tips">
<h3 class="tutor-fs-5 tutor-fw-medium tutor-color-secondary tutor-mb-20">
<?php esc_html_e( 'Course Upload Tips', 'tutor-pro' ); ?>
</h3>
<ul>
<li class="tutor-mb-20"><?php esc_html_e( 'Set the Course Price option or make it free.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Standard size for the course thumbnail is 700x430.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Video section controls the course overview video.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Course Builder is where you create & organize a course.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Add Topics in the Course Builder section to create lessons, quizzes, and assignments.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Prerequisites refers to the fundamental courses to complete before taking this particular course.', 'tutor-pro' ); ?></li>
<li class="tutor-mb-20"><?php esc_html_e( 'Information from the Additional Data section shows up on the course single page.', 'tutor-pro' ); ?></li>
</ul>
</div>
</div>
</div>
</div>
</form>
<?php do_action( 'tutor/dashboard_course_builder_after' ); ?>