| Current Path : /home/ereika83/www/wp-content/plugins/sfwd-lms/themes/ld30/templates/modules/ |
| Current File : /home/ereika83/www/wp-content/plugins/sfwd-lms/themes/ld30/templates/modules/progress.php |
<?php
/**
* LearnDash LD30 Displays course progress
*
* @since 3.0.0
*
* @package LearnDash\Templates\LD30
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Fires before the progress bar
*
* @since 3.0.0
*/
$context = ( isset( $context ) ? $context : 'learndash' );
/**
* Fires before the progress bar.
*
* @since 3.0.0
*
* @param int $course_id Course ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-progress-bar-before', $course_id, $user_id );
/**
* Fires before the progress bar for any context.
*
* The dynamic portion of the hook name, `$context`, refers to the context for which the hook is fired,
* such as `course`, `lesson`, `topic`, `quiz`, etc.
*
* @since 3.0.0
*
* @param int $course_id Course ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-' . $context . '-progress-bar-before', $course_id, $user_id );
/**
* In the topic context we're measuring progress through a lesson, not the course itself
*/
if ( 'topic' !== $context ) {
/**
* Filters LearnDash progress arguments.
* This filter will not be called if the context is `topic`.
*
* @since 3.0.0
*
* @param array $progress_args An array of progress arguments.
* @param int $course_id Course ID.
* @param int $user_id User ID.
*/
$progress_args = apply_filters(
'learndash_progress_args',
array(
'array' => true,
'course_id' => $course_id,
'user_id' => $user_id,
),
$course_id,
$user_id,
$context
);
/**
* Filters the progress statistics.
*
* The dynamic portion of the hook name, `$context`, refers to the context of progress,
* such as `course`, `lesson`, `topic`, `quiz`, etc.
*
* @since 3.0.0
*
* @param string $progress_markup The HTML template of users course/lesson progress
*/
$progress = apply_filters( 'learndash-' . $context . '-progress-stats', learndash_course_progress( $progress_args ) );
} else {
//global $post;
/** This filter is documented in themes/ld30/templates/modules/progress.php */
$progress = apply_filters( 'learndash-' . $context . '-progress-stats', learndash_lesson_progress( $post, $course_id ) );
}
if ( $progress ) :
/**
* This is just here for reference
*/ ?>
<div class="ld-progress
<?php
if ( 'course' === $context ) :
?>
ld-progress-inline<?php endif; ?>">
<?php if ( 'focus' === $context ) : ?>
<div class="ld-progress-wrap">
<?php endif; ?>
<div class="ld-progress-heading">
<?php if ( 'topic' === $context ) : ?>
<div class="ld-progress-label">
<?php
echo sprintf(
// translators: placeholder: Lesson Progress.
esc_html_x( '%s Progress', 'Placeholder: Lesson Progress', 'learndash' ),
LearnDash_Custom_Label::get_label( 'lesson' ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Method escapes output
);
?>
</div>
<?php endif; ?>
<div class="ld-progress-stats">
<div class="ld-progress-percentage ld-secondary-color">
<?php
echo sprintf(
// translators: placeholder: Progress percentage.
esc_html_x( '%s%% Complete', 'placeholder: Progress percentage', 'learndash' ),
esc_html( $progress['percentage'] )
);
?>
</div>
<div class="ld-progress-steps">
<?php
if ( 'course' === $context || 'focus' === $context ) :
$course_args = array(
'course_id' => $course_id,
'user_id' => $user_id,
'post_id' => $course_id,
'activity_type' => 'course',
);
$course_activity = learndash_get_user_activity( $course_args );
if ( ! empty( $course_activity->activity_updated ) && 'course' === $context ) :
echo sprintf(
// translators: Last activity date in infobar.
esc_html_x( 'Last activity on %s', 'Last activity date in infobar', 'learndash' ),
esc_html( learndash_adjust_date_time_display( $course_activity->activity_updated ) )
);
else :
echo sprintf(
// translators: placeholders: completed steps, total steps.
esc_html_x( '%1$d/%2$d Steps', 'placeholders: completed steps, total steps', 'learndash' ),
esc_html( $progress['completed'] ),
esc_html( $progress['total'] )
);
endif;
endif;
?>
</div>
</div> <!--/.ld-progress-stats-->
</div>
<div class="ld-progress-bar">
<div class="ld-progress-bar-percentage ld-secondary-background" style="<?php echo esc_attr( 'width:' . $progress['percentage'] . '%' ); ?>"></div>
</div>
<?php if ( 'focus' === $context ) : ?>
</div> <!--/.ld-progress-wrap-->
<?php endif; ?>
</div> <!--/.ld-progress-->
<?php
endif;
/**
* Fires before the course content progress bar.
*
* @since 3.0.0
*
* @param int $course_id Course ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-progress-bar-after', $course_id, $user_id );
/**
* Fires before the course steps for any context.
*
* The dynamic portion of the hook name, `$context`, refers to the context for which the hook is fired,
* such as `course`, `lesson`, `topic`, `quiz`, etc.
*
* @since 3.0.0
*
* @param int $course_id Course ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-' . $context . '-progress-bar-after', $course_id, $user_id );