function vibe_course_max_students_check($pid, $course_id) { $max_students = get_post_meta($course_id, 'vibe_max_students', true); if (isset($max_students) && $max_students && $max_students < 9998) { $number = bp_course_count_students_pursuing($course_id); if ($number >= $max_students) { return '?error=full'; } } return $pid; }
function vibe_course_max_students_check($pid, $course_id) { $max_students = get_post_meta($course_id, 'vibe_max_students', true); if (is_numeric($max_students) && $max_students < 9998) { $number = bp_course_count_students_pursuing($course_id); $user_id = get_current_user_id(); $check = bp_course_get_user_course_status($user_id, $course_id); if ($number >= $max_students && !$check) { return '?error=full'; } } $pre_course = get_post_meta($course_id, 'vibe_pre_course', true); if (!empty($pre_course)) { if (is_user_logged_in()) { $user_id = get_current_user_id(); if (is_numeric($pre_course)) { $user_check = get_user_meta($user_id, 'course_status' . $pre_course, true); if ($user_check >= 3) { return $pid; } } elseif (is_array($pre_course)) { foreach ($pre_course as $course_id) { $flag = 0; $user_check = get_user_meta($user_id, 'course_status' . $course_id, true); if ($user_check < 3) { $flag = 1; break; } } if (empty($flag)) { return $pid; } } } return '?error=precourse'; } return $pid; }
function vibe_course_max_students_check($pid, $course_id) { $max_students = get_post_meta($course_id, 'vibe_max_students', true); if (isset($max_students) && $max_students && $max_students < 9998) { $number = bp_course_count_students_pursuing($course_id); if ($number >= $max_students) { return '?error=full'; } } $pre_course = get_post_meta($course_id, 'vibe_pre_course', true); if (isset($pre_course) && is_numeric($pre_course)) { if (is_user_logged_in()) { $user_id = get_current_user_id(); $user_check = get_user_meta($user_id, 'course_status' . $pre_course, true); if ($user_check >= 3) { return $pid; } } return '?error=precourse'; } return $pid; }
function bp_course_add_user_to_course($user_id, $course_id, $duration = NULL, $force = NULL) { $seats = get_post_meta($course_id, 'vibe_max_students', true); $students = bp_course_count_students_pursuing($course_id); if (!empty($seats) && $seats < 9999 && empty($force)) { if ($seats < $students) { return false; } } if (empty($duration)) { $duration = get_post_meta($course_id, 'vibe_duration', true); } $course_duration_parameter = apply_filters('vibe_course_duration_parameter', 86400); $start_date = get_post_meta($course_id, 'vibe_start_date', true); $time = 0; if (isset($start_date) && $start_date) { $time = strtotime($start_date); } if ($time < time()) { $time = time(); } $t = $time + $duration * $course_duration_parameter; update_post_meta($course_id, $user_id, 0); $existing = get_user_meta($user_id, $course_id, true); if (empty($existing)) { update_user_meta($user_id, 'course_status' . $course_id, 1); $accuracy = vibe_get_option('sync_student_count'); if (empty($accuracy) || $accuracy == '0') { $students = get_post_meta($course_id, 'vibe_students', true); } $students++; update_post_meta($course_id, 'vibe_students', $students); } else { update_user_meta($user_id, 'course_status' . $course_id, 2); } update_user_meta($user_id, $course_id, $t); $group_id = get_post_meta($course_id, 'vibe_group', true); if (isset($group_id) && $group_id != '') { groups_join_group($group_id, $user_id); } else { $group_id = ''; } do_action('wplms_course_subscribed', $course_id, $user_id, $group_id); return $t; }