Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
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>";
}