Example #1
0
 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>";
 }
Example #2
0
 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;
 }