static function enroll_text($content) { global $wpdb, $user_ID, $post; if (@$post->post_type != 'namaste_course') { return $content; } // track the visit if (is_user_logged_in()) { NamasteTrack::visit('course', $post->ID, $user_ID); } // if the shortcode is there don't show this if (strstr($content, '[namaste-enroll]')) { return $content; } // enrolled? $enrolled = false; if (is_user_logged_in()) { $enrolled = $wpdb->get_var($wpdb->prepare("SELECT id FROM " . NAMASTE_STUDENT_COURSES . " WHERE user_id = %d AND course_id = %d AND (status = 'enrolled' OR status='completed')", $user_ID, $post->ID)); } if ($enrolled) { $text = __('You are enrolled in this course. Check "My courses" link in your dashboard to see the lessons and to-do list', 'namaste'); } else { $text = __('You can enroll in this course from your student dashboard. You need to be logged in.', 'namaste'); } return $content . "<p>" . $text . "</p>"; }
static function access_lesson($content) { global $wpdb, $post, $user_ID; if (@$post->post_type != 'namaste_lesson') { return $content; } $_course = new NamasteLMSCourseModel(); if (!is_user_logged_in()) { return __('You need to be logged in to access this lesson.', 'namaste'); } // track visit NamasteTrack::visit('lesson', $post->ID, $user_ID); // manager will always access lesson if (current_user_can('namaste_manage')) { self::mark_accessed(); return $content; } // enrolled in the course? $course_id = get_post_meta($post->ID, 'namaste_course', true); $course = $_course->select($course_id); $enrolled = $wpdb->get_var($wpdb->prepare("SELECT id FROM " . NAMASTE_STUDENT_COURSES . " WHERE user_id = %d AND course_id = %d AND (status = 'enrolled' OR status='completed')", $user_ID, $course_id)); if (!$enrolled) { $content = __('In order to see this lesson you first have to be enrolled in the course', 'namaste') . ' <b>"' . $course->post_title . '"</b>'; // self :: mark_accessed(); return $content; // no need to run further queries } // no access due to filters? (Classes from Namaste PRO etc) list($no_access, $message) = apply_filters('namaste-course-access', array(false, ''), $user_ID, $course_id); if (!empty($no_access)) { return $message; } // no access due to other lesson restrictions based on filters from other plugins list($no_access, $message) = apply_filters('namaste-lesson-access', array(false, ''), $user_ID, $post->ID); if (!empty($no_access)) { return $message; } // can access based on other lesson restriction? $not_completed_ids = self::unsatisfied_complete_requirements($post); if (!empty($not_completed_ids)) { $content = '<p>' . __('Before accessing this lesson you must complete the following lessons:', 'namaste') . '</p>'; $content .= '<ul>'; foreach ($not_completed_ids as $id) { $not_completed = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->posts} WHERE id=%d", $id)); $content .= '<li><a href="' . get_permalink($id) . '">' . $not_completed->post_title . '</a></li>'; } $content .= '</ul>'; // self :: mark_accessed(); return $content; } self::mark_accessed(); return $content; }