public function remove_user_from_post()
 {
     global $woothemes_sensei;
     $return = '';
     // Security check
     $nonce = '';
     if (isset($_POST['remove_user_from_post_nonce'])) {
         $nonce = esc_html($_POST['remove_user_from_post_nonce']);
     }
     if (!wp_verify_nonce($nonce, 'remove_user_from_post_nonce')) {
         die($return);
     }
     // Parse POST data
     $data = $_POST['data'];
     $action_data = array();
     parse_str($data, $action_data);
     if ($action_data['user_id'] && $action_data['post_id'] && $action_data['post_type']) {
         $user_id = intval($action_data['user_id']);
         $post_id = intval($action_data['post_id']);
         $post_type = sanitize_text_field($action_data['post_type']);
         $order_id = sanitize_text_field($action_data['order_id']);
         $user = get_userdata($user_id);
         switch ($post_type) {
             case 'course':
                 $removed = WooThemes_Sensei_Utils::sensei_remove_user_from_course($post_id, $user_id);
                 if (!empty($order_id) && is_woocommerce_active()) {
                     $order = new WC_Order($order_id);
                     if (!empty($order)) {
                         $order->update_status('cancelled');
                     }
                 }
                 break;
             case 'lesson':
                 $removed = WooThemes_Sensei_Utils::sensei_remove_user_from_lesson($post_id, $user_id);
                 break;
         }
         if ($removed) {
             $return = 'removed';
         }
     }
     die($return);
 }
 /**
  * Remove a user from a course, deleting all activities across all lessons
  *
  * @param type $course_id
  * @param type $user_id
  * @return boolean
  */
 public static function sensei_remove_user_from_course($course_id = 0, $user_id = 0)
 {
     global $woothemes_sensei;
     if (!$course_id) {
         return false;
     }
     if (intval($user_id) == 0) {
         $user_id = get_current_user_id();
     }
     $lesson_ids = $woothemes_sensei->post_types->course->course_lessons($course_id, 'any', 'ids');
     foreach ($lesson_ids as $lesson_id) {
         WooThemes_Sensei_Utils::sensei_remove_user_from_lesson($lesson_id, $user_id, true);
     }
     // Delete course status
     $args = array('post_id' => $course_id, 'type' => 'sensei_course_status', 'user_id' => $user_id);
     WooThemes_Sensei_Utils::sensei_delete_activities($args);
     do_action('sensei_user_course_reset', $user_id, $course_id);
     return true;
 }
 public function sensei_complete_lesson()
 {
     //		echo "lesson complete task <br>";
     global $post, $woothemes_sensei, $current_user;
     // Handle Quiz Completion
     if (isset($_POST['quiz_complete']) && wp_verify_nonce($_POST['woothemes_sensei_complete_lesson_noonce'], 'woothemes_sensei_complete_lesson_noonce')) {
         $sanitized_submit = esc_html($_POST['quiz_complete']);
         switch ($sanitized_submit) {
             case apply_filters('sensei_complete_lesson_text', __('Complete Lesson', 'woothemes-sensei')):
                 WooThemes_Sensei_Utils::sensei_start_lesson($post->ID, $current_user->ID, $complete = true);
                 break;
             case apply_filters('sensei_reset_lesson_text', __('Reset Lesson', 'woothemes-sensei')):
                 WooThemes_Sensei_Utils::sensei_remove_user_from_lesson($post->ID, $current_user->ID);
                 $this->messages = '<div class="sensei-message note">' . apply_filters('sensei_lesson_reset_text', __('Lesson Reset Successfully.', 'woothemes-sensei')) . '</div>';
                 break;
             default:
                 // Nothing
                 break;
         }
         // End Switch Statement
     }
     // End If Statement
 }
 public function remove_user_from_post()
 {
     global $woothemes_sensei;
     $return = '';
     // Security check
     $nonce = '';
     if (isset($_POST['remove_user_from_post_nonce'])) {
         $nonce = esc_html($_POST['remove_user_from_post_nonce']);
     }
     if (!wp_verify_nonce($nonce, 'remove_user_from_post_nonce')) {
         die($return);
     }
     // Parse POST data
     $data = $_POST['data'];
     $action_data = array();
     parse_str($data, $action_data);
     if ($action_data['user_id'] && $action_data['post_id'] && $action_data['post_type']) {
         $user_id = intval($action_data['user_id']);
         $post_id = intval($action_data['post_id']);
         $post_type = sanitize_text_field($action_data['post_type']);
         $user = get_userdata($user_id);
         switch ($post_type) {
             case 'course':
                 $removed = WooThemes_Sensei_Utils::sensei_remove_user_from_course($post_id, $user_id);
                 do_action('sensei_user_course_reset', $user_id, $post_id);
                 break;
             case 'lesson':
                 $removed = WooThemes_Sensei_Utils::sensei_remove_user_from_lesson($post_id, $user_id);
                 do_action('sensei_user_lesson_reset', $user_id, $post_id);
                 break;
         }
         if ($removed) {
             $return = 'removed';
         }
     }
     die($return);
 }