/** * Take this free course */ public static function take_free_course() { _deprecated_function(__CLASS__ . '::' . __FUNCTION__, '1.0'); $course_id = $_POST['course_id']; $check_payment = get_post_meta($course_id, '_lpr_course_payment', true); //check user is logged in if (!is_user_logged_in()) { echo 'not logged in'; die; } $user_id = get_current_user_id(); // check prerequisite $prerequisite = get_post_meta($course_id, '_lpr_course_prerequisite', true); if ($prerequisite) { $course_completed = get_user_meta($user_id, '_lpr_course_completed', true); foreach ($prerequisite as $prerequi) { if ($prerequi && $course_completed) { if (!array_key_exists($prerequi, $course_completed)) { echo 'not prerequisite'; die; } } } } //check payment if ($check_payment == 'free') { $course_taken = get_user_meta($user_id, '_lpr_user_course', true); $course_user = get_post_meta($course_id, '_lpr_course_user', true); if (!$course_taken) { $course_taken = array(); } if (!$course_user) { $course_user = array(); } if (!in_array($course_id, $course_taken)) { array_push($course_taken, $course_id); do_action('learn_press_after_take_course', $user_id, $course_id); } if (!in_array($user_id, $course_user)) { array_push($course_user, $user_id); } update_user_meta($user_id, '_lpr_user_course', $course_taken); update_post_meta($course_id, '_lpr_course_user', $course_user); $start_date = time(); $user_course_start_date[$course_id] = $start_date; update_user_meta($user_id, '_lpr_user_course_start_time', $user_course_start_date); // email notification $student = get_userdata($user_id); $mail_to = $student->user_email; learn_press_send_mail($mail_to, 'enrolled_course', apply_filters('learn_press_var_enrolled_course', array('user_name' => $student->display_name, 'course_name' => get_the_title($course_id)))); } if (file_exists($template = lpr_locate_template_part('course', 'main'))) { require_once $template; } die; }
function learn_press_send_user_email_order($status, $order_id) { return; $status = strtolower($status); if ('completed' == $status) { $order = new LP_Order($order_id); $mail_to = $order->get_user('email'); $instructors = array(); $course_title = ''; $transaction_object = $order->get_items(); $items = $transaction_object->products; $item = array_shift($items); $course = get_post($item['id']); $course_title = get_the_title($item['id']); $instructor = LP_User::get_user($course->post_author); $instructors[$instructor->ID] = $instructor->data->display_name; learn_press_send_mail($mail_to, 'enrolled_course', apply_filters('learn_press_vars_enrolled_course', array('user_name' => $order->get_user('display_name'), 'course_name' => $course_title, 'course_link' => get_permalink($item['id'])), $course, $instructor)); } }
function learn_press_publish_course($new_status, $old_status, $post) { if ($old_status == 'pending' && $new_status == 'publish' && $post->post_type == LP()->course_post_type) { $instructor = get_userdata($post->post_author); $mail_to = $instructor->user_email; learn_press_send_mail($mail_to, 'published_course', apply_filters('learn_press_vars_enrolled_course', array('user_name' => $instructor->display_name, 'course_name' => $post->post_title, 'course_link' => get_permalink($post->ID)), $post, $instructor)); } }