@@ 884-907 (lines=24) @@ | ||
881 | case EX_Q_SELECTION_RANDOM: // 2 |
|
882 | // This options are not allowed here. |
|
883 | break; |
|
884 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_ORDERED: // 3 |
|
885 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
886 | $this, |
|
887 | $this->course['real_id'], |
|
888 | 'title ASC', |
|
889 | false, |
|
890 | true |
|
891 | ); |
|
892 | ||
893 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
894 | $this->id, |
|
895 | $question_list, |
|
896 | $categoriesAddedInExercise |
|
897 | ); |
|
898 | ||
899 | ||
900 | $question_list = $this->pickQuestionsPerCategory( |
|
901 | $categoriesAddedInExercise, |
|
902 | $question_list, |
|
903 | $questions_by_category, |
|
904 | true, |
|
905 | false |
|
906 | ); |
|
907 | break; |
|
908 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED: // 4 |
|
909 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
910 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
@@ 909-929 (lines=21) @@ | ||
906 | ); |
|
907 | break; |
|
908 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED: // 4 |
|
909 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
910 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
911 | $this, |
|
912 | $this->course['real_id'], |
|
913 | null, |
|
914 | true, |
|
915 | true |
|
916 | ); |
|
917 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
918 | $this->id, |
|
919 | $question_list, |
|
920 | $categoriesAddedInExercise |
|
921 | ); |
|
922 | $question_list = $this->pickQuestionsPerCategory( |
|
923 | $categoriesAddedInExercise, |
|
924 | $question_list, |
|
925 | $questions_by_category, |
|
926 | true, |
|
927 | false |
|
928 | ); |
|
929 | break; |
|
930 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_RANDOM: // 5 |
|
931 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
932 | $this, |
|
@@ 930-950 (lines=21) @@ | ||
927 | false |
|
928 | ); |
|
929 | break; |
|
930 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_RANDOM: // 5 |
|
931 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
932 | $this, |
|
933 | $this->course['real_id'], |
|
934 | 'title DESC', |
|
935 | false, |
|
936 | true |
|
937 | ); |
|
938 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
939 | $this->id, |
|
940 | $question_list, |
|
941 | $categoriesAddedInExercise |
|
942 | ); |
|
943 | $question_list = $this->pickQuestionsPerCategory( |
|
944 | $categoriesAddedInExercise, |
|
945 | $question_list, |
|
946 | $questions_by_category, |
|
947 | true, |
|
948 | true |
|
949 | ); |
|
950 | break; |
|
951 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM: // 6 |
|
952 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: |
|
953 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
@@ 952-972 (lines=21) @@ | ||
949 | ); |
|
950 | break; |
|
951 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM: // 6 |
|
952 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: |
|
953 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
954 | $this, |
|
955 | $this->course['real_id'], |
|
956 | null, |
|
957 | true, |
|
958 | true |
|
959 | ); |
|
960 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
961 | $this->id, |
|
962 | $question_list, |
|
963 | $categoriesAddedInExercise |
|
964 | ); |
|
965 | $question_list = $this->pickQuestionsPerCategory( |
|
966 | $categoriesAddedInExercise, |
|
967 | $question_list, |
|
968 | $questions_by_category, |
|
969 | true, |
|
970 | true |
|
971 | ); |
|
972 | break; |
|
973 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
974 | break; |
|
975 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: // 8 |
|
@@ 977-997 (lines=21) @@ | ||
974 | break; |
|
975 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: // 8 |
|
976 | break; |
|
977 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_ORDERED: // 9 |
|
978 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
979 | $this, |
|
980 | $this->course['real_id'], |
|
981 | 'root ASC, lft ASC', |
|
982 | false, |
|
983 | true |
|
984 | ); |
|
985 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
986 | $this->id, |
|
987 | $question_list, |
|
988 | $categoriesAddedInExercise |
|
989 | ); |
|
990 | $question_list = $this->pickQuestionsPerCategory( |
|
991 | $categoriesAddedInExercise, |
|
992 | $question_list, |
|
993 | $questions_by_category, |
|
994 | true, |
|
995 | false |
|
996 | ); |
|
997 | break; |
|
998 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_RANDOM: // 10 |
|
999 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
1000 | $this, |
|
@@ 998-1018 (lines=21) @@ | ||
995 | false |
|
996 | ); |
|
997 | break; |
|
998 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_RANDOM: // 10 |
|
999 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
1000 | $this, |
|
1001 | $this->course['real_id'], |
|
1002 | 'root, lft ASC', |
|
1003 | false, |
|
1004 | true |
|
1005 | ); |
|
1006 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
1007 | $this->id, |
|
1008 | $question_list, |
|
1009 | $categoriesAddedInExercise |
|
1010 | ); |
|
1011 | $question_list = $this->pickQuestionsPerCategory( |
|
1012 | $categoriesAddedInExercise, |
|
1013 | $question_list, |
|
1014 | $questions_by_category, |
|
1015 | true, |
|
1016 | true |
|
1017 | ); |
|
1018 | break; |
|
1019 | } |
|
1020 | ||
1021 | $result['question_list'] = isset($question_list) ? $question_list : array(); |