Ejemplo n.º 1
0
/**
 * Update course into user's metadata if order status is "Completed" -> user enrolled course
 * Otherwise, remove course from user's metadata -> user hasn't enrolled course
 *
 * @param $status
 * @param $order_id
 */
function learn_press_active_user_course($status, $order_id)
{
    $order = new LPR_Order($order_id);
    $user = $order->get_user();
    $course_id = learn_press_get_course_by_order($order_id);
    $user_course_time = get_user_meta($user->ID, '_lpr_course_time', true);
    if (strtolower($status) == 'completed') {
        if (empty($user_course_time[$course_id])) {
            $user_course_time[$course_id] = array('start' => time(), 'end' => null);
        }
    } else {
        if (!empty($user_course_time[$course_id])) {
            unset($user_course_time[$course_id]);
        }
    }
    if ($user_course_time) {
        update_user_meta($user->ID, '_lpr_course_time', $user_course_time);
    } else {
        delete_user_meta($user->ID, '_lpr_course_time');
    }
}
Ejemplo n.º 2
0
function learn_press_on_order_status_changed($status, $order_id)
{
    $course_id = learn_press_get_course_by_order($order_id);
    $user_id = get_post_meta($order_id, '_learn_press_customer_id', true);
    $user_courses = get_user_meta($user_id, '_lpr_user_course', true);
    $course_users = get_post_meta($course_id, '_lpr_course_user', true);
    if (strtolower($status) == 'completed') {
        learn_press_increment_user_enrolled($course_id);
        if (is_array($user_courses)) {
            $user_courses[] = $course_id;
        } else {
            $user_courses = array($course_id);
        }
        if (is_array($course_users)) {
            $course_users[] = $user_id;
        } else {
            $course_users = array($user_id);
        }
    } else {
        learn_press_decrement_user_enrolled($course_id);
        if (is_array($user_courses) && false !== ($pos = array_search($course_id, $user_courses))) {
            unset($user_courses[$pos]);
        }
        if (is_array($course_users) && false !== ($pos = array_search($user_id, $course_users))) {
            unset($course_users[$pos]);
        }
    }
    update_user_meta($user_id, '_lpr_user_course', $user_courses);
    update_post_meta($course_id, '_lpr_course_user', $course_users);
}