static function todo($atts) { global $post, $user_ID; if (!is_user_logged_in()) { return ""; } if ($post->post_type == 'namaste_lesson') { $todo = NamasteLMSLessonModel::todo($post->ID, $user_ID); ob_start(); if (@file_exists(get_stylesheet_directory() . '/namaste/lesson-todo.php')) { require get_stylesheet_directory() . '/namaste/lesson-todo.php'; } else { require NAMASTE_PATH . "/views/lesson-todo.php"; } if (!empty($todo['todo_nothing'])) { _e('This lesson has been completed.', 'namaste'); } $content = ob_get_contents(); ob_end_clean(); return $content; } if ($post->post_type == 'namaste_course') { $_course = new NamasteLMSCourseModel(); $required_lessons = $_course->required_lessons($post->ID, $user_ID); $content = ""; // accept ordered or unordered list as argument $list_tag = empty($atts[0]) ? 'ul' : $atts[0]; //validate the user input if ($list_tag != 'ul' && $list_tag != 'ol') { $list_tag = 'ul'; } if (!empty($required_lessons)) { $content .= "<" . $list_tag . ">\n"; foreach ($required_lessons as $lesson) { $content .= "<li" . ($lesson->namaste_completed ? ' class="namaste-completed" ' : ' class="namaste-incomplete" ') . "><a href='" . get_permalink($lesson->ID) . "'>" . $lesson->post_title . "</a> - "; if ($lesson->namaste_completed) { $content .= __('Completed', 'namaste'); } else { $content .= __('Not completed', 'namaste'); } $content .= "</li>\n"; } $content .= "</" . $list_tag . ">"; } return $content; } }
function namaste_next_lesson_custom($atts) { extract(shortcode_atts(array('class' => 'course-navigation-item', 'text' => 'Lesson'), $atts, 'nnlc')); // selects the next lesson in the course if any if (!is_user_logged_in()) { return ""; } global $post, $user_ID; $_course = new NamasteLMSCourseModel(); $course_id = get_post_meta($post->ID, 'namaste_course', true); if (empty($course_id) && $post->post_type == 'namaste_course') { $course_id = $post->ID; } elseif (empty($course_id)) { return ""; } $required_lessons = $_course->required_lessons($course_id, $user_ID); $next_lesson = ''; if (!empty($required_lessons)) { foreach ($required_lessons as $lesson) { $next_lesson = $lesson->ID; if (!$lesson->namaste_completed) { break; } } } if (empty($required_lessons)) { return "<a class='" . $class . "' href='" . add_query_arg(array('tab' => 'nolessons'), get_permalink($course_id)) . "'>" . $text . " " . __("(Starts soon!)", 'qode') . "</a>"; } return "<a class='" . $class . "' href='" . get_permalink($next_lesson) . "'>" . $text . "</a>"; }