diff --git a/classes/class-woothemes-sensei-grading-user-quiz.php b/classes/class-woothemes-sensei-grading-user-quiz.php index 7eff204b6d..b442f7db4f 100755 --- a/classes/class-woothemes-sensei-grading-user-quiz.php +++ b/classes/class-woothemes-sensei-grading-user-quiz.php @@ -92,19 +92,10 @@ public function display() { $type = false; $type_name = ''; - $types = wp_get_post_terms( $question_id, 'question-type' ); - foreach( $types as $t ) { - $type = $t->name; - break; - } - - if( ! $type ) { - $type = 'multiple-choice'; - } + $type = Sensei()->question->get_question_type( $question_id ); $question_answer_notes = $woothemes_sensei->quiz->get_user_question_feedback( $lesson_id, $question_id, $user_id ); - $question_grade_total = get_post_meta( $question_id, '_question_grade', true ); if( ! $question_grade_total || 0 == intval( $question_grade_total ) ) { $question_grade_total = 1; diff --git a/classes/class-woothemes-sensei-lesson.php b/classes/class-woothemes-sensei-lesson.php index 86b553e9e5..35cd093345 100755 --- a/classes/class-woothemes-sensei-lesson.php +++ b/classes/class-woothemes-sensei-lesson.php @@ -778,11 +778,7 @@ public function quiz_panel_questions( $questions = array() ) { $question_id = $question->ID; - $question_type = ''; - $question_types = wp_get_post_terms( $question_id, 'question-type', array( 'fields' => 'names' ) ); - if ( isset( $question_types[0] ) && '' != $question_types[0] ) { - $question_type = $question_types[0]; - } // End If Statement + $question_type = Sensei()->question->get_question_type( $question_id ); $multiple_data = array(); $question_increment = 1; @@ -1937,16 +1933,7 @@ public function lesson_update_question () { $current_user = wp_get_current_user(); $question_data['post_author'] = $current_user->ID; $question_id = $this->lesson_save_question( $question_data ); - $question_types = wp_get_post_terms( $question_id, 'question-type', array( 'fields' => 'names' ) ); - $question_counter = 0; - $question_type = ''; - if ( isset( $question_types[0] ) && '' != $question_types[0] ) { - $question_type = $question_types[0]; - } // End If Statement - - if( ! $question_type ) { - $question_type = 'multiple-choice'; - } + $question_type = Sensei()->question->get_question_type( $question_id ); $question_count = intval( $question_data['question_count'] ); ++$question_count; @@ -2102,14 +2089,7 @@ public function lesson_add_existing_questions() { } add_post_meta( $question_id, '_quiz_question_order' . $quiz_id, $quiz_id . '000' . $question_count ); - - $question_types = wp_get_post_terms( $question_id, 'question-type', array( 'fields' => 'names' ) ); - $question_type = ''; - if ( isset( $question_types[0] ) && '' != $question_types[0] ) { - $question_type = $question_types[0]; - } else { - $question_type = 'multiple-choice'; - } + $question_type = Sensei()->question->get_question_type( $question_id ); $return .= $this->quiz_panel_question( $question_type, $question_count, $question_id ); } diff --git a/classes/class-woothemes-sensei-question.php b/classes/class-woothemes-sensei-question.php index 0f7dfba1d5..17bef99717 100755 --- a/classes/class-woothemes-sensei-question.php +++ b/classes/class-woothemes-sensei-question.php @@ -130,11 +130,8 @@ public function question_edit_panel_metabox( $post_type, $post ) { $metabox_title = __( 'Question', 'woothemes-sensei' ); if( isset( $post->ID ) ) { - $question_type = ''; - $question_types = wp_get_post_terms( $post->ID, 'question-type', array( 'fields' => 'slugs' ) ); - if ( isset( $question_types[0] ) && '' != $question_types[0] ) { - $question_type = $question_types[0]; - } // End If Statement + + $question_type = Sensei()->question->get_question_type( $post->ID ); if( $question_type ) { $type = $this->question_types[ $question_type ]; @@ -166,15 +163,7 @@ public function question_edit_panel() { } else { $question_id = $post->ID; - $question_type = ''; - $question_types = wp_get_post_terms( $question_id, 'question-type', array( 'fields' => 'slugs' ) ); - if ( isset( $question_types[0] ) && '' != $question_types[0] ) { - $question_type = $question_types[0]; - } - - if( ! $question_type ) { - $question_type = 'multiple-choice'; - } + $question_type = Sensei()->question->get_question_type( $post->ID ); $html .= '
'; $html .= $woothemes_sensei->post_types->lesson->quiz_panel_question( $question_type, 0, $question_id, 'question' ); diff --git a/classes/class-woothemes-sensei-utils.php b/classes/class-woothemes-sensei-utils.php index 652ba6305c..1c2e01449f 100755 --- a/classes/class-woothemes-sensei-utils.php +++ b/classes/class-woothemes-sensei-utils.php @@ -517,14 +517,7 @@ public static function sensei_save_quiz_answers( $submitted = false, $user_id = foreach( $submitted as $question_id => $answer ) { // Get question type - $question_types = wp_get_post_terms( $question_id, 'question-type' ); - foreach( $question_types as $type ) { - $question_type = $type->slug; - } - - if( ! $question_type ) { - $question_type = 'multiple-choice'; - } + $question_type = Sensei()->question->get_question_type( $question_id ); // Sanitise answer if( 0 == get_magic_quotes_gpc() ) { diff --git a/tests/factory/Sensei-Factory.php b/tests/factory/Sensei-Factory.php index 801398be2e..3578bd1b16 100644 --- a/tests/factory/Sensei-Factory.php +++ b/tests/factory/Sensei-Factory.php @@ -226,13 +226,7 @@ public function generate_user_quiz_answers( $quiz_id ){ foreach( $quiz_question_posts as $question ){ // get the current question type - $question_types_array = wp_get_post_terms( $question->ID, 'question-type', array( 'fields' => 'slugs' ) ); - - if ( isset( $question_types_array[0] ) && '' != $question_types_array[0] ) { - $type = $question_types_array[0]; - }else{ - $type = 'multiple-choice'; - } + $type = Sensei()->question->get_question_type( $question->ID ); // setup the demo data and store it in the respective array if ('multiple-choice' == $type ) { @@ -494,10 +488,7 @@ public function generate_test_files( $test_user_quiz_answers ){ foreach( $test_user_quiz_answers as $question_id => $answer ){ //Setup the question types - $question_types = wp_get_post_terms( $question_id, 'question-type' ); - foreach( $question_types as $type ) { - $question_type = $type->slug; - } + $question_type = Sensei()->question->get_question_type( $question_id ); if( 'file-upload' == $question_type){ //setup the sample image file location within the test folders diff --git a/tests/test-class-quiz.php b/tests/test-class-quiz.php index 24982b3895..4d6925ff5b 100644 --- a/tests/test-class-quiz.php +++ b/tests/test-class-quiz.php @@ -599,15 +599,7 @@ public function testGetUserQuestionAnswer(){ $question_id = $random_question_id; $answer = $users_saved_answers[ $question_id ]; $old_data_user_id = wp_create_user( 'olddata', 'olddata', 'olddata@test.com' ); - $question_types = wp_get_post_terms( $question_id , 'question-type' ); - - foreach( $question_types as $type ) { - $question_type = $type->slug; - } - - if( ! $question_type ) { - $question_type = 'multiple-choice'; - } + $question_type = Sensei()->question->get_question_type( $question_id ); // Sanitise answer if( 0 == get_magic_quotes_gpc() ) {