} else {
                                $lesson_terms[] = '<a href="' . get_term_link($term->slug, 'lesson_complexity') . '">' . $term->name . '</a>';
                            }
                        }
                        $lesson_terms = join(", ", $lesson_terms);
                    }
                    $grade_chk = $grade_cls = '';
                    if (is_user_logged_in() && $private_lesson != 'dt-hidden-lesson') {
                        $user_id = get_current_user_id();
                        $course_id = $the_id;
                        $lesson_id = $lesson->ID;
                        $quiz_id = get_post_meta($lesson_id, "lesson-quiz", true);
                        if (!isset($quiz_id) || $quiz_id == '') {
                            $quiz_id = -1;
                        }
                        $dt_gradings = dt_get_user_gradings_array($course_id, $lesson_id, $quiz_id, $user_id);
                        $dt_grade_post = get_posts($dt_gradings);
                        $dt_grade_post_id = isset($dt_grade_post[0]->ID) ? $dt_grade_post[0]->ID : 0;
                        $graded = get_post_meta($dt_grade_post_id, "graded", true);
                        if (isset($graded) && $graded != '') {
                            $grade_chk = '<div class="dt-sc-lesson-completed"> <span class="fa fa-check-circle"> </span> ' . __('Completed', 'dt_themes') . '</div>';
                            $grade_cls = ' dt-lesson-complete';
                        }
                    }
                    $out .= '<li class="' . $private_lesson . $grade_cls . '">';
                    if ($private_lesson != '') {
                        $out .= '<div class="hidden-lesson-overlay"> </div>';
                    }
                    $out .= '<article class="dt_lessons">
										<div class="lesson-title">';
                    if ($private_lesson != '') {
                echo $user_id;
                ?>
"></div>
                    <div id="dt-sc-ajax-load-image" style="display:none;"><img src="<?php 
                echo IAMD_BASE_URL . "images/loading.png";
                ?>
" alt="" /></div>
                    <div id="dt-quiz-questions-container">
                    
						<?php 
                if (isset($_REQUEST['dttype']) && $_REQUEST['dttype'] != '') {
                    dt_list_questions_with_answers($dt_lesson_course, $lessons[0]->ID);
                } else {
                    if (IAMD_USER_ROLE == 's2member_level2' || IAMD_USER_ROLE == 's2member_level3' || IAMD_USER_ROLE == 's2member_level4' || current_user_can($s2_level) || is_user_logged_in() && $private_lesson == '') {
                        $user_id = get_current_user_id();
                        $dt_gradings = dt_get_user_gradings_array($dt_lesson_course, $lessons[0]->ID, $quiz_id, $user_id);
                        $dt_grade_post = get_posts($dt_gradings);
                        $quiz_duration = dttheme_wp_kses(get_post_meta($quiz_id, "quiz-duration", true));
                        $quiz_duration = isset($quiz_duration) && $quiz_duration > 0 ? $quiz_duration : 0;
                        if (isset($dt_grade_post[0])) {
                            $grade = get_post_meta($dt_grade_post[0]->ID, "graded", true);
                            if (isset($grade) && $grade != '') {
                                echo '<div class="dt-sc-info-box">' . __('Your quiz have been graded already, please check your dashboard for futher details!', 'dt_themes') . '</div>';
                            } else {
                                if (dt_can_user_retake_quiz($dt_lesson_course, $lessons[0]->ID, $quiz_id, $user_id)) {
                                    if ($quiz_duration > 0) {
                                        echo '<p class="dt-sc-info-box">';
                                        echo '<strong>' . __('Note: ', 'dt_themes') . '</strong>';
                                        echo sprintf(__('You have to complete the quiz in %dmin(s). Timer will be triggered once you press the "Start Quiz" button.', 'dt_themes'), $quiz_duration);
                                        echo '</p>';
                                    }
Exemple #3
0
function dt_mark_lesson_complete($lesson_id, $course_id)
{
    $user_id = get_current_user_id();
    $dt_gradings = dt_get_user_gradings_array($course_id, $lesson_id, -1, $user_id);
    $dt_grade_post = get_posts($dt_gradings);
    if (!isset($dt_grade_post[0])) {
        $title = '';
        if (isset($user_id) && $user_id >= 0) {
            $user_info = get_userdata($user_id);
            $title .= $user_info->display_name;
        }
        if (isset($lesson_id) && $lesson_id >= 0) {
            $lesson_args = array('post_type' => 'dt_lessons', 'p' => $lesson_id);
            $lesson = get_posts($lesson_args);
            $title .= ' - ' . $lesson[0]->post_title;
        }
        $title .= ' (' . __('Manual Complete', 'dt_themes') . ')';
        $course_args = array('post_type' => 'dt_courses', 'p' => $course_id);
        $course = get_posts($course_args);
        $grade_post = array('post_title' => $title, 'post_status' => 'publish', 'post_type' => 'dt_gradings', 'post_author' => $course[0]->post_author);
        $grade_post_id = wp_insert_post($grade_post);
        update_post_meta($grade_post_id, 'allow-retakes', false);
        update_post_meta($grade_post_id, 'dt-course-id', $course_id);
        update_post_meta($grade_post_id, 'dt-lesson-id', $lesson_id);
        update_post_meta($grade_post_id, 'dt-quiz-id', -1);
        update_post_meta($grade_post_id, 'dt-user-id', $user_id);
        update_post_meta($grade_post_id, 'grade-type', 'manual');
        update_post_meta($grade_post_id, "marks-obtained", 100);
        update_post_meta($grade_post_id, "marks-obtained-percent", '100');
        update_post_meta($grade_post_id, "graded", true);
    }
}
					<?php 
            $lesson_args = array('sort_order' => 'ASC', 'sort_column' => 'menu_order', 'hierarchical' => 1, 'post_type' => 'dt_lessons', 'posts_per_page' => -1, 'meta_key' => 'dt_lesson_course', 'meta_value' => $dt_lesson_course);
            $lessons_array = get_pages($lesson_args);
            if (isset($lessons_array) && count($lessons_array) > 0) {
                echo '<ul>';
                foreach ($lessons_array as $lesson_item) {
                    if ($the_id == $lesson_item->ID) {
                        $current_cls = ' current';
                    } else {
                        $current_cls = '';
                    }
                    $dt_lesson_quiz = get_post_meta($lesson_item->ID, "lesson-quiz", true);
                    if (isset($dt_lesson_quiz) && $dt_lesson_quiz > 0) {
                        $dt_gradings = dt_get_user_gradings_array($dt_lesson_course, $lesson_item->ID, $dt_lesson_quiz, $user_id);
                    } else {
                        $dt_gradings = dt_get_user_gradings_array($dt_lesson_course, $lesson_item->ID, -1, $user_id);
                    }
                    $dt_grade_post = get_posts($dt_gradings);
                    $dt_grade_post_id = $dt_grade_post[0]->ID;
                    $graded = get_post_meta($dt_grade_post_id, "graded", true);
                    if (isset($dt_grade_post[0]) && isset($graded) && $graded != '') {
                        $dt_tooltip_dir = ' dt-sc-tooltip-right';
                        $dt_tooltip_title = 'title="' . __('Completado', 'dt_themes') . '"';
                        $dt_lesson_status = 'dt-lesson-complete';
                    } else {
                        $dt_tooltip_dir = '';
                        $dt_tooltip_title = '';
                        $dt_lesson_status = '';
                    }
                    echo '<li class="' . $dt_lesson_status . $current_cls . '"><a href="' . get_permalink($lesson_item->ID) . '" class="dt-sc-lesson-menu-name ' . $dt_tooltip_dir . '" ' . $dt_tooltip_title . '>' . $lesson_item->post_title . '</a>';
                    $lesson_datas = get_post_meta($lesson_item->ID, '_lesson_settings', true);
Exemple #5
0
function dttheme_get_lesson_details($lessons_hierarchy_array, $lesson_id, $s2_level)
{
    $result = '';
    $j = 1;
    if (isset($lessons_hierarchy_array[$lesson_id])) {
        $result .= '<ol class="dt-sc-lessons-list">';
        foreach ($lessons_hierarchy_array[$lesson_id] as $lesson) {
            $lesson_meta_data = get_post_meta($lesson->ID, '_lesson_settings');
            $lesson_teacher = $lesson_duration = '';
            $private_lesson = !empty($lesson_meta_data[0]['private-lesson']) ? $lesson_meta_data[0]['private-lesson'] : '';
            $lesson_teacher = get_post_meta($lesson->ID, "lesson-teacher", true);
            if ($lesson_teacher != '') {
                $teacher_data = get_post($lesson_teacher);
                if ($private_lesson != '') {
                    $lesson_teacher = '<p> <i class="fa fa-user"> </i>' . $teacher_data->post_title . '</p>';
                } else {
                    $lesson_teacher = '<p> <i class="fa fa-user"> </i><a href="' . get_permalink($teacher_data->ID) . '">' . $teacher_data->post_title . '</a></p>';
                }
            }
            if (isset($lesson_meta_data[0]['lesson-duration']) && $lesson_meta_data[0]['lesson-duration'] != '') {
                $lesson_duration .= '<p> <i class="fa fa-clock-o"> </i>' . $lesson_meta_data[0]['lesson-duration'] . __(' mins ', 'dt_themes') . '</p>';
            }
            if (isset($lesson_meta_data[0]['private-lesson']) && $lesson_meta_data[0]['private-lesson'] != '') {
                if (IAMD_USER_ROLE == 's2member_level2' || IAMD_USER_ROLE == 's2member_level3' || IAMD_USER_ROLE == 's2member_level4' || current_user_can($s2_level)) {
                    $private_lesson = '';
                } else {
                    $private_lesson = 'dt-hidden-lesson';
                }
            } else {
                $private_lesson = '';
            }
            $terms = get_the_terms($lesson->ID, 'lesson_complexity');
            $lesson_terms = '';
            if (isset($terms) && !empty($terms)) {
                $lesson_terms = array();
                foreach ($terms as $term) {
                    if ($private_lesson != '') {
                        $lesson_terms[] = $term->name;
                    } else {
                        $lesson_terms[] = '<a href="' . get_term_link($term->slug, 'lesson_complexity') . '">' . $term->name . '</a>';
                    }
                }
                $lesson_terms = join(", ", $lesson_terms);
            }
            $grade_chk = $grade_cls = '';
            if (is_user_logged_in() && $private_lesson != 'dt-hidden-lesson') {
                $user_id = get_current_user_id();
                $lesson_id = $lesson->ID;
                $course_id = get_post_meta($lesson_id, "dt_lesson_course", true);
                $quiz_id = get_post_meta($lesson_id, "lesson-quiz", true);
                if (!isset($quiz_id) || $quiz_id == '') {
                    $quiz_id = -1;
                }
                $dt_gradings = dt_get_user_gradings_array($course_id, $lesson_id, $quiz_id, $user_id);
                $dt_grade_post = get_posts($dt_gradings);
                $dt_grade_post_id = isset($dt_grade_post[0]->ID) ? $dt_grade_post[0]->ID : 0;
                $graded = get_post_meta($dt_grade_post_id, "graded", true);
                if (isset($graded) && $graded != '') {
                    $grade_chk = '<div class="dt-sc-lesson-completed"> <span class="fa fa-check-circle"> </span> ' . __('Completed', 'dt_themes') . '</div>';
                    $grade_cls = ' dt-lesson-complete';
                }
            }
            $result .= '<li class="' . $private_lesson . $grade_cls . '">';
            if ($private_lesson != '') {
                $result .= '<div class="hidden-lesson-overlay"> </div>';
            }
            $result .= '<article class="dt_lessons">
							<div class="lesson-title">';
            if ($private_lesson != '') {
                $result .= '<h2>' . $lesson->post_title . '</h2>';
            } else {
                $result .= '<h2> <a href="' . get_permalink($lesson->ID) . '" title="' . $lesson->post_title . '">' . $lesson->post_title . '</a> </h2>';
            }
            $result .= $grade_chk;
            $result .= '<div class="lesson-metadata">';
            if ($lesson_terms != '') {
                $result .= '<p> <i class="fa fa-tags"> </i> ' . $lesson_terms . ' </p>';
            }
            $result .= $lesson_duration . $lesson_teacher . '
							   </div>
							</div>
							
							<div class="dt-sc-clear"></div>
							<div class="dt-sc-hr-invisible-small"></div>
							
							<section class="lesson-details">
								' . $lesson->post_excerpt . '
							</section>
						</article>';
            $result .= dttheme_get_lesson_details($lessons_hierarchy_array, $lesson->ID, $s2_level);
            $result .= '</li>';
            $j++;
        }
        $result .= '</ol>';
    }
    return $result;
}