예제 #1
1
 public function apply_style_inline($content)
 {
     if (in_array($this->get_content_format(), array('text/html', 'multipart/alternative')) && class_exists('DOMDocument')) {
         // get CSS styles
         ob_start();
         learn_press_get_template('emails/email-styles.php');
         $css = apply_filters('learn_press_email_styles', ob_get_clean());
         try {
             LP()->_include('libraries/class-emogrifier.php');
             // apply CSS styles inline for picky email clients
             $emogrifier = new Emogrifier($content, $css);
             $content = $emogrifier->emogrify();
         } catch (Exception $e) {
         }
     }
     return $content;
 }
예제 #2
0
 static function confirm_order($atts = null)
 {
     $atts = shortcode_atts(array('order_id' => !empty($_REQUEST['order_id']) ? intval($_REQUEST['order_id']) : 0), $atts);
     $order_id = null;
     extract($atts);
     ob_start();
     $order = learn_press_get_order($order_id);
     if ($order) {
         learn_press_get_template('order/confirm.php', array('order' => $order));
     }
     return ob_get_clean();
 }
예제 #3
0
}
?>

<?php 
if ($courses) {
    ?>

	<ul class="profile-courses courses-list enrolled">

		<?php 
    foreach ($courses as $post) {
        setup_postdata($post);
        ?>

			<?php 
        learn_press_get_template('profile/tabs/courses/loop.php');
        ?>

		<?php 
    }
    ?>
	</ul>

<?php 
} else {
    ?>

	<?php 
    learn_press_display_message(__('You have not finished any courses yet!', 'learn_press'));
    ?>
예제 #4
0
if ($my_query->have_posts()) {
    while ($my_query->have_posts()) {
        $my_query->the_post();
        learn_press_get_template('profile/user-courses/passed-course.php');
    }
} else {
    do_action('learn_press_before_no_passed_course');
    echo '<p>' . __('You have not finished any courses yet!', 'learn_press') . '</p>';
    do_action('learn_press_after_no_passed_course');
}
do_action('learn_press_after_passed_course');
wp_reset_postdata();
// All own courses
if (user_can($user->ID, 'edit_lpr_courses')) {
    echo '<h3>' . __('All Own Courses', 'learn_press') . '</h3>';
    do_action('learn_press_before_own_course');
    $my_query = learn_press_get_own_courses($user->ID);
    if ($my_query->have_posts()) {
        while ($my_query->have_posts()) {
            $my_query->the_post();
            learn_press_get_template('profile/user-courses/own-course.php');
        }
    } else {
        do_action('learn_press_before_no_own_course');
        echo '<p>' . __('You don\'t have got any published courses yet!', 'learn_press') . '</p>';
        do_action('learn_press_after_no_own_course');
    }
    do_action('learn_press_after_own_course');
    wp_reset_postdata();
}
do_action('learn_press_after_all_courses');
function learn_press_profile_tab_orders_content($current, $tab, $user)
{
    learn_press_get_template('profile/tabs/orders.php', array('user' => $user, 'current' => $current, 'tab' => $tab));
}
예제 #6
0
<?php

global $wp_query;
learn_press_get_template('order/order-details.php', array('order' => $order));
?>
<a href="<?php 
echo learn_press_get_page_link('profile');
?>
"><?php 
_e('My Profile', 'learn_press');
?>
</a>
예제 #7
0
 function get_prev_item_html($current_item = false)
 {
     if ($next_item = $this->get_next_item($current_item, 'prev')) {
         ob_start();
         learn_press_get_template('lesson/prev-button.php', array('item' => $next_item, 'course' => $this));
         return ob_get_clean();
     }
     return false;
 }
예제 #8
0
<?php

do_action('learn_press_before_quiz_results');
do_action('learn_press_before_enrolled_course');
$my_query = learn_press_get_enrolled_courses($user->ID);
$check = 0;
if ($my_query->have_posts()) {
    while ($my_query->have_posts()) {
        $my_query->the_post();
        $quizzes = learn_press_get_quizzes(get_the_ID());
        do_action('learn_press_before_quiz_result');
        foreach ($quizzes as $quiz) {
            if (learn_press_user_has_completed_quiz($user->ID, $quiz)) {
                $check = 1;
                learn_press_get_template('profile/quiz-content.php', array('user_id' => $user->ID, 'quiz_id' => $quiz));
            }
        }
        do_action('learn_press_after_quiz_result');
    }
    if (!$check) {
        do_action('learn_press_before_no_completed_quiz');
        echo '<p>' . __('You have not finished any quizzes yet!', 'learn_press') . '</p>';
        do_action('learn_press_after_no_completed_quiz');
    }
} else {
    do_action('learn_press_before_no_enrolled_course');
    echo '<p>' . __('You have not taken any courses yet!', 'learn_press') . '</p>';
    do_action('learn_press_after_no_enrolled_course');
}
do_action('learn_press_after_enrolled_course');
wp_reset_postdata();
 function get_content_plain()
 {
     ob_start();
     learn_press_get_template($this->template_plain, array('email_heading' => $this->get_heading(), 'footer_text' => $this->get_footer_text(), 'site_title' => $this->get_blogname(), 'course_name' => get_the_title($this->object['course']), 'login_url' => learn_press_get_login_url(), 'user_name' => $this->object['user']->user_nicename, 'plain_text' => true));
     return ob_get_clean();
 }
예제 #10
0
<?php

if (!defined('ABSPATH')) {
    exit;
    // Exit if accessed directly
}
get_header();
?>

    <?php 
do_action('learn_press_before_main_content');
?>
		<?php 
while (have_posts()) {
    the_post();
    learn_press_get_template('course_content.php');
    if (comments_open() || get_comments_number()) {
        comments_template();
    }
}
?>
    <?php 
do_action('learn_press_after_main_content');
get_footer();
예제 #11
0
 static function localize_printed_scripts()
 {
     if (self::$scripts) {
         foreach (self::$scripts as $handle) {
             self::localize_script($handle);
             self::script_params($handle);
             if (!empty(self::$wp_script_codes[$handle])) {
                 learn_press_get_template('global/scripts.php', array('code' => self::$wp_script_codes[$handle]));
                 unset(self::$wp_script_codes[$handle]);
             }
         }
     }
 }
 /**
  * Output the navigation to next and previous questions
  */
 function learn_press_single_quiz_questions_nav()
 {
     learn_press_get_template('single-quiz/nav.php');
 }
예제 #13
0
        $post_type = str_replace('lp_', '', $item->post_type);
        if (!in_array($post_type, array('lesson', 'quiz', 'assignment'))) {
            continue;
        }
        $args = array('item' => $item, 'section' => $section);
        /*switch( $item->post_type ){
        			case LP()->lesson_post_type:
        				$GLOBALS['lesson'] = LP_Lesson::get_lesson( $item );
        				break;
        			case LP()->quiz_post_type:
        				$GLOBALS['quiz'] = LP_Quiz::get_quiz( $item );
        				break;
        			default:
        				do_action( 'learn_press_section_setup_loop_item', $item, $section );
        		}*/
        learn_press_get_template("single-course/section/item-{$post_type}.php", $args);
    }
    ?>
	<?php 
} else {
    ?>

		<li class="course-item section-empty"><?php 
    learn_press_display_message(__('No items in this section', 'learn_press'));
    ?>
</li>

	<?php 
}
?>
</ul>
예제 #14
0
 function tab_quizzes_content()
 {
     learn_press_get_template('profile/tabs/quizzes.php', array('user' => $this));
 }
 function get_content_plain()
 {
     ob_start();
     learn_press_get_template($this->template_plain, array('email_heading' => $this->get_heading(), 'site_title' => $this->get_blogname(), 'course_name' => get_the_title($this->object['course']), 'course_date' => get_the_date($this->object['course']), 'course_link' => get_the_permalink($this->object['course']), 'course_edit_link' => get_edit_post_link($this->object['course']), 'plain_text' => true));
     return ob_get_clean();
 }
 function get_content_plain()
 {
     ob_start();
     learn_press_get_template($this->template_plain, array('email_heading' => $this->get_heading(), 'site_title' => $this->get_blogname(), 'course_id' => $this->object['course'], 'plain_text' => true));
     return ob_get_clean();
 }
예제 #17
0
if ($payment_heading) {
    ?>
	<h3><?php 
    echo $payment_heading;
    ?>
</h3>
<?php 
}
?>

<div id="learn-press-payment" class="learn-press-checkout-payment">
	<ul class="payment-methods">
		<?php 
if (!empty($available_gateways)) {
    foreach ($available_gateways as $gateway) {
        learn_press_get_template('checkout/payment-method.php', array('gateway' => $gateway));
    }
} else {
    $no_gateways_message = __('No available payment methods.', 'learn_press');
    echo '<li>' . apply_filters('learn_press_no_available_payment_methods_message', $no_gateways_message) . '</li>';
}
?>
	</ul>

	<div class="place-order-action">

	<?php 
do_action('learn_press_order_before_submit');
?>

	<?php 
예제 #18
0
 public function learn_press_user_quizzes_tab_content($content, $user)
 {
     ob_start();
     learn_press_get_template('profile/user-quizzes.php', array('content' => $content, 'user' => $user));
     $content .= ob_get_clean();
     return $content;
 }
예제 #19
0
/**
 * Display all notices from queue and clear queue if required
 *
 * @param bool|true $clear
 */
function learn_press_print_notices($clear = true)
{
    if ($notices = LP_Session::get('notices')) {
        // Allow to reorder the position of notices
        $notice_types = apply_filters('learn_press_notice_types', array('error', 'success', 'notice'));
        foreach ($notice_types as $notice_type) {
            if (!empty($notices[$notice_type])) {
                learn_press_get_template("notices/{$notice_type}.php", array('messages' => $notices[$notice_type]));
            }
        }
        // clear queue if required
        if ($clear) {
            learn_press_clear_notices();
        }
    }
}
 static function profile()
 {
     global $wp_query, $wp;
     if (isset($wp_query->query['user'])) {
         $user = get_user_by('login', $wp_query->query['user']);
     } else {
         $user = get_user_by('id', get_current_user_id());
     }
     $output = '';
     ob_start();
     if (!$user) {
         if (empty($wp_query->query['user'])) {
             learn_press_get_template('profile/private-area.php');
         } else {
             learn_press_display_message(sprintf(__('The user %s in not available!', 'learn_press'), $wp_query->query['user']), 'error');
         }
     } else {
         $user = LP_User::get_user($user->id);
         $tabs = learn_press_user_profile_tabs($user);
         if (!empty($wp->query_vars['view'])) {
             $current = $wp->query_vars['view'];
         } else {
             $tab_keys = array_keys($tabs);
             $current = reset($tab_keys);
         }
         if (!learn_press_current_user_can_view_profile_section($current, $user)) {
             learn_press_get_template('profile/private-area.php');
         } else {
             if (!empty($tabs) && !empty($tabs[$current])) {
                 learn_press_get_template('profile/index.php', array('user' => $user, 'tabs' => $tabs, 'current' => $current));
             } else {
                 if ($wp->query_vars['view'] == LP()->settings->get('profile_endpoints.profile-order-details')) {
                     /*
                     						$current_user = wp_get_current_user();
                     						if ( $wp_query->query_vars['user'] != $current_user->user_login ) {
                     							learn_press_get_template( 'profile/private-area.php' );
                     							return;
                     						}*/
                     $order_id = 0;
                     if (!empty($wp->query_vars['id'])) {
                         $order_id = $wp->query_vars['id'];
                     }
                     $order = learn_press_get_order($order_id);
                     if (!$order) {
                         learn_press_display_message(__('Invalid order!', 'learn_press'), 'error');
                     } else {
                         learn_press_get_template('profile/order-details.php', array('user' => $user, 'order' => $order));
                     }
                 }
             }
         }
     }
     $output .= ob_get_clean();
     return $output;
 }
예제 #21
0
 /**
  * Display the description of a lesson in single course page
  */
 function learn_press_course_content_lesson_description()
 {
     learn_press_get_template("course/content-lesson-description.php");
 }
function learn_press_load_question()
{
    $question_id = !empty($_REQUEST['question_id']) ? intval($_REQUEST['question_id']) : 0;
    $quiz_id = !empty($_REQUEST['quiz_id']) ? intval($_REQUEST['quiz_id']) : 0;
    /*$ques = lpr_get_question( $question_id );
    	if( $ques ){
    		$quiz_answers = learn_press_get_question_answers(null, $quiz_id );
    		$ques->render( array(
    			'answer' => isset( $quiz_answers[$question_id] ) ? $quiz_answers[$question_id] : null
    		));
    	}*/
    learn_press_get_template('quiz/form-question.php', array('question_id' => $question_id, 'course_id' => learn_press_get_course_by_quiz($quiz_id)));
    die;
}
예제 #23
0
<section id="primary" class="content-area">
	<main id="main" class="site-main" role="main">

		<?php 
if (have_posts()) {
    ?>

			<header class="page-header">
				<?php 
    the_archive_title('<h1 class="page-title">', '</h1>');
    the_archive_description('<div class="taxonomy-description">', '</div>');
    ?>
			</header><!-- .page-header -->

			<?php 
    // Start the Loop.
    while (have_posts()) {
        the_post();
        learn_press_get_template('archive-course-content.php');
    }
    // Previous/next page navigation.
    learn_press_course_paging_nav();
}
?>

	</main>
	<!-- .site-main -->
</section><!-- .content-area -->
<?php 
get_footer();
예제 #24
0
 public function email_footer($footer_text)
 {
     learn_press_get_template('emails/email-footer.php', array('footer_text' => $footer_text));
 }
예제 #25
0
do_action('learn_press_before_course_curriculum');
?>
    <div class="course-curriculum">
		<h3 class="course-curriculum-title"><?php 
echo $curriculum_heading;
?>
</h3>
        <?php 
if ($curriculum = $course->get_curriculum()) {
    ?>
        <ul class="curriculum-sections">
        <?php 
    foreach ($curriculum as $course_part) {
        ?>
            <?php 
        learn_press_get_template('course/loop-curriculum.php', array('curriculum_course' => $course_part));
        ?>
        <?php 
    }
    ?>
        </ul>
        <?php 
} else {
    ?>
        <?php 
    _e('Curriculum is empty', 'learn_press');
    ?>
        <?php 
}
?>
	</div>
예제 #26
0
    echo $cur_name;
    ?>
        <?php 
    do_action('learn_press_after_section_header');
    ?>
    </h4>
    <?php 
}
?>
    <?php 
if (array_key_exists('lesson_quiz', $curriculum_course)) {
    ?>
    <ul class="section-content">
        <?php 
    foreach ($curriculum_course['lesson_quiz'] as $lesson_quiz) {
        $post_type = str_replace('lpr_', '', get_post_type($lesson_quiz));
        if (!in_array($post_type, array('lesson', 'quiz', 'assignment'))) {
            continue;
        }
        $args = array('lesson_quiz' => $lesson_quiz);
        learn_press_get_template("course/loop-curriculum-{$post_type}.php", $args);
    }
    ?>
    </ul>
    <?php 
}
?>
    <?php 
do_action('learn_press_after_section');
?>
</li>
예제 #27
0
 static function profile()
 {
     global $wp_query;
     if (isset($wp_query->query['user'])) {
         $user = get_user_by('login', $wp_query->query['user']);
     } else {
         $user = get_user_by('id', get_current_user_id());
     }
     $output = '';
     if (!$user) {
         ob_start();
         learn_press_display_message(sprintf(__('The user %s in not available!', 'learn_press'), $wp_query->query['user']), 'error');
         $output .= ob_get_clean();
         return $output;
     }
     ob_start();
     learn_press_get_template('profile/index.php', array('user' => LP_User::get_user($user->id)));
     return ob_get_clean();
 }
예제 #28
0
	<?php 
do_action('learn_press_before_single_course_curriculum');
?>

	<?php 
if ($curriculum = $course->get_curriculum()) {
    ?>

		<ul class="curriculum-sections">

			<?php 
    foreach ($curriculum as $section) {
        ?>

				<?php 
        learn_press_get_template('single-course/loop-section.php', array('section' => $section));
        ?>

			<?php 
    }
    ?>

		</ul>

	<?php 
} else {
    ?>
		<?php 
    echo apply_filters('learn_press_course_curriculum_empty', __('Curriculum is empty', 'learn_press'));
    ?>
	<?php 
	<div class="course-summary">

		<?php 
if (LP()->user->has('enrolled-course', $course->id)) {
    ?>

			<?php 
    learn_press_get_template('single-course/content-learning.php');
    ?>

		<?php 
} else {
    ?>

			<?php 
    learn_press_get_template('single-course/content-landing.php');
    ?>

		<?php 
}
?>
	</div>

	<?php 
do_action('learn_press_after_single_course_summary');
?>

	<?php 
/*
<?php do_action( 'learn_press_before_course_header' ); ?>
<header class="entry-header">