} 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>'; }
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);
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; }