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