/sites/isave.lt/files/wp-content/themes/buddyboss-theme/learndash/ld30/lesson.php
isset( $course_settings['course_disable_lesson_progression'] ) &&
$course_settings['course_disable_lesson_progression'] === 'on'
)
) {
echo $pagination_urls['next'];
} else {
echo '<span class="next-link empty-post"></span>';
}
?>
</div>
</div>
</div>
<div class="lms-header-title">
<h1><?php the_title(); ?></h1>
</div>
<?php
global $post;
$course_post = learndash_get_setting( $post, 'course' );
$course_data = get_post( $course_post );
$author_id = $course_data->post_author;
learndash_get_template_part(
'template-course-author.php',
array(
'user_id' => $author_id,
),
true
);
?>
</div>
<div class="learndash_content_wrap">
<?php
/**
* If the user needs to complete the previous lesson display an alert
*/
if ( ( isset( $lesson_progression_enabled ) ) && ( true === (bool) $lesson_progression_enabled ) && ( isset( $previous_lesson_completed ) ) && ( true !== $previous_lesson_completed ) ) {
if ( ( ! learndash_is_sample( $post ) ) || ( learndash_is_sample( $post ) && true === ( bool) $has_access ) ) {
$previous_item_id = learndash_user_progress_get_previous_incomplete_step( $user_id, $course_id, $post->ID );
if ( ! empty( $previous_item_id ) ) {
/sites/isave.lt/files/wp-content/themes/buddyboss-theme/learndash/ld30/lesson.php
isset( $course_settings['course_disable_lesson_progression'] ) &&
$course_settings['course_disable_lesson_progression'] === 'on'
)
) {
echo $pagination_urls['next'];
} else {
echo '<span class="next-link empty-post"></span>';
}
?>
</div>
</div>
</div>
<div class="lms-header-title">
<h1><?php the_title(); ?></h1>
</div>
<?php
global $post;
$course_post = learndash_get_setting( $post, 'course' );
$course_data = get_post( $course_post );
$author_id = $course_data->post_author;
learndash_get_template_part(
'template-course-author.php',
array(
'user_id' => $author_id,
),
true
);
?>
</div>
<div class="learndash_content_wrap">
<?php
/**
* If the user needs to complete the previous lesson display an alert
*/
if ( ( isset( $lesson_progression_enabled ) ) && ( true === (bool) $lesson_progression_enabled ) && ( isset( $previous_lesson_completed ) ) && ( true !== $previous_lesson_completed ) ) {
if ( ( ! learndash_is_sample( $post ) ) || ( learndash_is_sample( $post ) && true === ( bool) $has_access ) ) {
$previous_item_id = learndash_user_progress_get_previous_incomplete_step( $user_id, $course_id, $post->ID );
if ( ! empty( $previous_item_id ) ) {
/sites/isave.lt/files/wp-content/plugins/sfwd-lms/includes/class-ld-cpt-instance.php
'steps_last_id' => $post->ID,
)
);
}
learndash_activity_start_lesson( $current_user->ID, $course_id, $post->ID, $started_time );
}
// Added logic for Lesson Videos.
if ( ( defined( 'LEARNDASH_LESSON_VIDEO' ) ) && ( true === LEARNDASH_LESSON_VIDEO ) ) {
if ( $show_content ) {
$ld_course_videos = Learndash_Course_Video::get_instance();
$content = $ld_course_videos->add_video_to_content( $content, $post, (array) $lesson_settings );
}
}
$level = ob_get_level();
ob_start();
$template_file = SFWD_LMS::get_template( 'lesson', null, null, true );
if ( ! empty( $template_file ) ) {
include $template_file;
}
$content = learndash_ob_get_clean( $level );
}
} elseif ( 'sfwd-topic' === $this->post_type ) {
if ( LearnDash_Theme_Register::get_active_theme_instance()->supports_views() ) {
$view = new Views\Topic( $post );
$content = $view->get_html();
} else {
$course_id = learndash_get_course_id( $post );
$lesson_id = learndash_course_get_single_parent_step( $course_id, $post->ID );
if ( $lesson_id ) {
$lesson_post = get_post( $lesson_id );
} else {
$lesson_post = null;
}
$previous_lesson_completed = false;
$previous_topic_completed = false;
/sites/isave.lt/files/wp-includes/class-wp-hook.php
$this->iterations[ $nesting_level ] = $this->priorities;
$num_args = count( $args );
do {
$this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
$priority = $this->current_priority[ $nesting_level ];
foreach ( $this->callbacks[ $priority ] as $the_ ) {
if ( ! $this->doing_action ) {
$args[0] = $value;
}
// Avoid the array_slice() if possible.
if ( 0 === $the_['accepted_args'] ) {
$value = call_user_func( $the_['function'] );
} elseif ( $the_['accepted_args'] >= $num_args ) {
$value = call_user_func_array( $the_['function'], $args );
} else {
$value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
}
}
} while ( false !== next( $this->iterations[ $nesting_level ] ) );
unset( $this->iterations[ $nesting_level ] );
unset( $this->current_priority[ $nesting_level ] );
--$this->nesting_level;
return $value;
}
/**
* Calls the callback functions that have been added to an action hook.
*
* @since 4.7.0
*
* @param array $args Parameters to pass to the callback functions.
/sites/isave.lt/files/wp-includes/plugin.php
$all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
_wp_call_all_hook( $all_args );
}
if ( ! isset( $wp_filter[ $hook_name ] ) ) {
if ( isset( $wp_filter['all'] ) ) {
array_pop( $wp_current_filter );
}
return $value;
}
if ( ! isset( $wp_filter['all'] ) ) {
$wp_current_filter[] = $hook_name;
}
// Pass the value to WP_Hook.
array_unshift( $args, $value );
$filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args );
array_pop( $wp_current_filter );
return $filtered;
}
/**
* Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
*
* @since 3.0.0
*
* @see apply_filters() This function is identical, but the arguments passed to the
* functions hooked to `$hook_name` are supplied using an array.
*
* @global WP_Hook[] $wp_filter Stores all of the filters and actions.
* @global int[] $wp_filters Stores the number of times each filter was triggered.
* @global string[] $wp_current_filter Stores the list of current filters with the current one last.
*
* @param string $hook_name The name of the filter hook.
* @param array $args The arguments supplied to the functions hooked to `$hook_name`.
/sites/isave.lt/files/wp-includes/post-template.php
/**
* Displays the post content.
*
* @since 0.71
*
* @param string $more_link_text Optional. Content for when there is more text.
* @param bool $strip_teaser Optional. Strip teaser content before the more text. Default false.
*/
function the_content( $more_link_text = null, $strip_teaser = false ) {
$content = get_the_content( $more_link_text, $strip_teaser );
/**
* Filters the post content.
*
* @since 0.71
*
* @param string $content Content of the current post.
*/
$content = apply_filters( 'the_content', $content );
$content = str_replace( ']]>', ']]>', $content );
echo $content;
}
/**
* Retrieves the post content.
*
* @since 0.71
* @since 5.2.0 Added the `$post` parameter.
*
* @global int $page Page number of a single post/page.
* @global int $more Boolean indicator for whether single post/page is being viewed.
* @global bool $preview Whether post/page is in preview mode.
* @global array $pages Array of all pages in post/page. Each array element contains
* part of the content separated by the `<!--nextpage-->` tag.
* @global int $multipage Boolean indicator for whether multiple pages are in play.
*
* @param string $more_link_text Optional. Content for when there is more text.
* @param bool $strip_teaser Optional. Strip teaser content before the more text. Default false.
* @param WP_Post|object|int $post Optional. WP_Post instance or Post ID/object. Default null.
/sites/isave.lt/files/wp-content/themes/buddyboss-theme/template-parts/content-sfwd.php
<?php
/**
* Template part for displaying sfwd content
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package BuddyBoss_Theme
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'buddyboss-theme' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<?php if ( get_edit_post_link() ) : ?>
<footer class="entry-footer">
<?php
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'buddyboss-theme' ), array(
'span' => array(
'class' => array(),
),
)
), get_the_title()
), '<span class="edit-link">', '</span>'
);
?>
</footer><!-- .entry-footer -->
/sites/isave.lt/files/wp-includes/template.php
if ( isset( $s ) ) {
$s = esc_attr( $s );
}
/**
* Fires before a template file is loaded.
*
* @since 6.1.0
*
* @param string $_template_file The full path to the template file.
* @param bool $load_once Whether to require_once or require.
* @param array $args Additional arguments passed to the template.
*/
do_action( 'wp_before_load_template', $_template_file, $load_once, $args );
if ( $load_once ) {
require_once $_template_file;
} else {
require $_template_file;
}
/**
* Fires after a template file is loaded.
*
* @since 6.1.0
*
* @param string $_template_file The full path to the template file.
* @param bool $load_once Whether to require_once or require.
* @param array $args Additional arguments passed to the template.
*/
do_action( 'wp_after_load_template', $_template_file, $load_once, $args );
}
/sites/isave.lt/files/wp-includes/template.php
$located = '';
foreach ( (array) $template_names as $template_name ) {
if ( ! $template_name ) {
continue;
}
if ( file_exists( $wp_stylesheet_path . '/' . $template_name ) ) {
$located = $wp_stylesheet_path . '/' . $template_name;
break;
} elseif ( $is_child_theme && file_exists( $wp_template_path . '/' . $template_name ) ) {
$located = $wp_template_path . '/' . $template_name;
break;
} elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
$located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
break;
}
}
if ( $load && '' !== $located ) {
load_template( $located, $load_once, $args );
}
return $located;
}
/**
* Requires the template file with WordPress environment.
*
* The globals are set up for the template file to ensure that the WordPress
* environment is available from within the function. The query variables are
* also available.
*
* @since 1.5.0
* @since 5.5.0 The `$args` parameter was added.
*
* @global array $posts
* @global WP_Post $post Global post object.
* @global bool $wp_did_header
* @global WP_Query $wp_query WordPress Query object.
* @global WP_Rewrite $wp_rewrite WordPress rewrite component.
/sites/isave.lt/files/wp-includes/general-template.php
$templates[] = "{$slug}-{$name}.php";
}
$templates[] = "{$slug}.php";
/**
* Fires before an attempt is made to locate and load a template part.
*
* @since 5.2.0
* @since 5.5.0 The `$args` parameter was added.
*
* @param string $slug The slug name for the generic template.
* @param string $name The name of the specialized template or an empty
* string if there is none.
* @param string[] $templates Array of template files to search for, in order.
* @param array $args Additional arguments passed to the template.
*/
do_action( 'get_template_part', $slug, $name, $templates, $args );
if ( ! locate_template( $templates, true, false, $args ) ) {
return false;
}
}
/**
* Displays search form.
*
* Will first attempt to locate the searchform.php file in either the child or
* the parent, then load it. If it doesn't exist, then the default search form
* will be displayed. The default search form is HTML, which will be displayed.
* There is a filter applied to the search form HTML in order to edit or replace
* it. The filter is {@see 'get_search_form'}.
*
* This function is primarily used by themes which want to hardcode the search
* form into the sidebar and also by the search widget in WordPress.
*
* There is also an action that is called whenever the function is run called,
* {@see 'pre_get_search_form'}. This can be useful for outputting JavaScript that the
* search relies on or various formatting that applies to the beginning of the
* search. To give a few examples of what it can be used for.
/sites/isave.lt/files/wp-content/themes/buddyboss-theme/single-sfwd-lessons.php
*/
get_header();
?>
<div id="primary" class="content-area bb-grid-cell">
<main id="main" class="site-main">
<?php
if ( have_posts() ) :
do_action( THEME_HOOK_PREFIX . '_template_parts_content_top' );
while ( have_posts() ) :
the_post();
if ( 'draft' == get_post_status() ){
do_action( THEME_HOOK_PREFIX . '_single_template_part_content', get_post_type() );
} else {
get_template_part( 'template-parts/content', 'sfwd' );
}
endwhile; // End of the loop.
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_footer();
/sites/isave.lt/files/wp-includes/template-loader.php
}
break;
}
}
if ( ! $template ) {
$template = get_index_template();
}
/**
* Filters the path of the current template before including it.
*
* @since 3.0.0
*
* @param string $template The path of the template to include.
*/
$template = apply_filters( 'template_include', $template );
if ( $template ) {
include $template;
} elseif ( current_user_can( 'switch_themes' ) ) {
$theme = wp_get_theme();
if ( $theme->errors() ) {
wp_die( $theme->errors() );
}
}
return;
}
/sites/isave.lt/files/wp-blog-header.php
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once __DIR__ . '/wp-load.php';
// Set up the WordPress query.
wp();
// Load the theme template.
require_once ABSPATH . WPINC . '/template-loader.php';
}
/sites/isave.lt/files/index.php
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';