Exemplo n.º 1
0
 /**
  * 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));
    }
}