public static function get_response_grade($response_id, $data = '')
 {
     $grade_data = get_post_meta($response_id, 'response_grade');
     $module_id = wp_get_post_parent_id($response_id);
     $autograde_modules = Unit_Module::auto_grade_modules();
     $module_type = get_post_meta($module_id, 'module_type', true);
     // Check if this needs to be auto graded
     if (in_array($module_type, $autograde_modules) && 100 > $grade_data[0]['grade']) {
         $grade = $grade_data[0]['grade'];
         $response = get_post($response_id);
         $student_id = $response->post_author;
         $unit_id = get_post_ancestors($module_id);
         $unit_id = $unit_id[0];
         $course_id = get_post_meta($unit_id, 'course_id', true);
         // Multiple or single correct answer?
         $correct_answers = get_post_meta($module_id, 'checked_answer', true);
         $correct_answers = empty($correct_answers) ? get_post_meta($module_id, 'checked_answers', true) : $correct_answers;
         if (!is_array($correct_answers)) {
             if (trim($response->post_content) == trim($correct_answers)) {
                 $grade = 100;
             }
         } else {
             $student_answers = get_post_meta($response_id, 'student_checked_answers');
             if (count($student_answers) !== 0) {
                 $cleaned_answers = array();
                 foreach ($correct_answers as $answer) {
                     $value = stripslashes($answer);
                     $value = strip_tags($value);
                     $value = htmlentities($value);
                     $cleaned_answers[] = $value;
                 }
                 $right_answers = $cleaned_answers;
                 $cleaned_response = array();
                 foreach ($student_answers as $answer) {
                     $value = stripslashes($answer);
                     $value = strip_tags($value);
                     $value = htmlentities($value);
                     $cleaned_response[] = $value;
                 }
                 $chosen_answers = $cleaned_response;
                 $grade = 0;
                 foreach ($chosen_answers as $chosen_answer) {
                     if (in_array($chosen_answer, $right_answers)) {
                         $grade = $grade + 100;
                     } else {
                         //$response_grade = $response_grade + 0;//this line can be empty as well : )
                     }
                 }
                 if (count($chosen_answers) >= count($right_answers)) {
                     $grade_cnt = count($chosen_answers);
                 } else {
                     $grade_cnt = count($right_answers);
                 }
                 $grade = round($grade / $grade_cnt, 0);
             }
         }
         Unit_Module::save_response_grade($response_id, $grade, $student_id, $course_id, $unit_id, $module_id);
     }
     if ($grade_data) {
         if ($data !== '') {
             return $grade_data[0][$data];
         } else {
             return $grade_data[0];
         }
     } else {
     }
 }