| @@ 845-868 (lines=24) @@ | ||
| 842 | case EX_Q_SELECTION_RANDOM: // 2 |
|
| 843 | // This options are not allowed here. |
|
| 844 | break; |
|
| 845 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_ORDERED: // 3 |
|
| 846 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 847 | $this, |
|
| 848 | $this->course['real_id'], |
|
| 849 | 'title ASC', |
|
| 850 | false, |
|
| 851 | true |
|
| 852 | ); |
|
| 853 | ||
| 854 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 855 | $this->id, |
|
| 856 | $question_list, |
|
| 857 | $categoriesAddedInExercise |
|
| 858 | ); |
|
| 859 | ||
| 860 | ||
| 861 | $question_list = $this->pickQuestionsPerCategory( |
|
| 862 | $categoriesAddedInExercise, |
|
| 863 | $question_list, |
|
| 864 | $questions_by_category, |
|
| 865 | true, |
|
| 866 | false |
|
| 867 | ); |
|
| 868 | break; |
|
| 869 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED: // 4 |
|
| 870 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
| 871 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| @@ 870-890 (lines=21) @@ | ||
| 867 | ); |
|
| 868 | break; |
|
| 869 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED: // 4 |
|
| 870 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
| 871 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 872 | $this, |
|
| 873 | $this->course['real_id'], |
|
| 874 | null, |
|
| 875 | true, |
|
| 876 | true |
|
| 877 | ); |
|
| 878 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 879 | $this->id, |
|
| 880 | $question_list, |
|
| 881 | $categoriesAddedInExercise |
|
| 882 | ); |
|
| 883 | $question_list = $this->pickQuestionsPerCategory( |
|
| 884 | $categoriesAddedInExercise, |
|
| 885 | $question_list, |
|
| 886 | $questions_by_category, |
|
| 887 | true, |
|
| 888 | false |
|
| 889 | ); |
|
| 890 | break; |
|
| 891 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_RANDOM: // 5 |
|
| 892 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 893 | $this, |
|
| @@ 891-911 (lines=21) @@ | ||
| 888 | false |
|
| 889 | ); |
|
| 890 | break; |
|
| 891 | case EX_Q_SELECTION_CATEGORIES_ORDERED_QUESTIONS_RANDOM: // 5 |
|
| 892 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 893 | $this, |
|
| 894 | $this->course['real_id'], |
|
| 895 | 'title DESC', |
|
| 896 | false, |
|
| 897 | true |
|
| 898 | ); |
|
| 899 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 900 | $this->id, |
|
| 901 | $question_list, |
|
| 902 | $categoriesAddedInExercise |
|
| 903 | ); |
|
| 904 | $question_list = $this->pickQuestionsPerCategory( |
|
| 905 | $categoriesAddedInExercise, |
|
| 906 | $question_list, |
|
| 907 | $questions_by_category, |
|
| 908 | true, |
|
| 909 | true |
|
| 910 | ); |
|
| 911 | break; |
|
| 912 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM: // 6 |
|
| 913 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: |
|
| 914 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| @@ 913-933 (lines=21) @@ | ||
| 910 | ); |
|
| 911 | break; |
|
| 912 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM: // 6 |
|
| 913 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: |
|
| 914 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 915 | $this, |
|
| 916 | $this->course['real_id'], |
|
| 917 | null, |
|
| 918 | true, |
|
| 919 | true |
|
| 920 | ); |
|
| 921 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 922 | $this->id, |
|
| 923 | $question_list, |
|
| 924 | $categoriesAddedInExercise |
|
| 925 | ); |
|
| 926 | $question_list = $this->pickQuestionsPerCategory( |
|
| 927 | $categoriesAddedInExercise, |
|
| 928 | $question_list, |
|
| 929 | $questions_by_category, |
|
| 930 | true, |
|
| 931 | true |
|
| 932 | ); |
|
| 933 | break; |
|
| 934 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_ORDERED_NO_GROUPED: // 7 |
|
| 935 | break; |
|
| 936 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: // 8 |
|
| @@ 938-958 (lines=21) @@ | ||
| 935 | break; |
|
| 936 | case EX_Q_SELECTION_CATEGORIES_RANDOM_QUESTIONS_RANDOM_NO_GROUPED: // 8 |
|
| 937 | break; |
|
| 938 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_ORDERED: // 9 |
|
| 939 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 940 | $this, |
|
| 941 | $this->course['real_id'], |
|
| 942 | 'root ASC, lft ASC', |
|
| 943 | false, |
|
| 944 | true |
|
| 945 | ); |
|
| 946 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 947 | $this->id, |
|
| 948 | $question_list, |
|
| 949 | $categoriesAddedInExercise |
|
| 950 | ); |
|
| 951 | $question_list = $this->pickQuestionsPerCategory( |
|
| 952 | $categoriesAddedInExercise, |
|
| 953 | $question_list, |
|
| 954 | $questions_by_category, |
|
| 955 | true, |
|
| 956 | false |
|
| 957 | ); |
|
| 958 | break; |
|
| 959 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_RANDOM: // 10 |
|
| 960 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 961 | $this, |
|
| @@ 959-979 (lines=21) @@ | ||
| 956 | false |
|
| 957 | ); |
|
| 958 | break; |
|
| 959 | case EX_Q_SELECTION_CATEGORIES_ORDERED_BY_PARENT_QUESTIONS_RANDOM: // 10 |
|
| 960 | $categoriesAddedInExercise = $cat->getCategoryExerciseTree( |
|
| 961 | $this, |
|
| 962 | $this->course['real_id'], |
|
| 963 | 'root, lft ASC', |
|
| 964 | false, |
|
| 965 | true |
|
| 966 | ); |
|
| 967 | $questions_by_category = TestCategory::getQuestionsByCat( |
|
| 968 | $this->id, |
|
| 969 | $question_list, |
|
| 970 | $categoriesAddedInExercise |
|
| 971 | ); |
|
| 972 | $question_list = $this->pickQuestionsPerCategory( |
|
| 973 | $categoriesAddedInExercise, |
|
| 974 | $question_list, |
|
| 975 | $questions_by_category, |
|
| 976 | true, |
|
| 977 | true |
|
| 978 | ); |
|
| 979 | break; |
|
| 980 | } |
|
| 981 | ||
| 982 | $result['question_list'] = isset($question_list) ? $question_list : array(); |
|