--- quiz/quiz.install +++ quiz/quiz.install @@ -799,3 +799,23 @@ function quiz_uninstall() { ->condition('name', "quiz_%", 'like') ->execute(); } + +/** + * Implementation of hook_modules_enabled(). + */ +function quiz_modules_enabled($modules) { + // Check if quiz module is enabled. + if (in_array('quiz', $modules)) { + // Check if quiz_question module is not enabled + if (!module_exists('quiz_question')) { + // Enable quiz_question module + module_enable(array('quiz_question')); + + // Check if multichoice sub module of quiz module is not enabled + if (!module_exists('multichoice')) { + // Enable multichoice sub module + module_enable(array('multichoice')); + } + } + } +} --- quiz/quiz.module +++ quiz/quiz.module @@ -3617,10 +3617,11 @@ function quiz_get_questions($quiz_nid = $query->join('node_revision', 'nr', 'n.nid = nr.nid'); $query->leftJoin('quiz_node_relationship', 'qnr', 'nr.vid = qnr.child_vid'); - if ($include_all_types === TRUE) { + $question_types = _quiz_get_question_types(); + if ($include_all_types === TRUE && count($question_types) > 0) { $query->condition('n.type', array_keys(_quiz_get_question_types()), 'IN'); } - + if (!is_null($quiz_vid)) { $query->condition('parent_vid', $quiz_vid); $query->condition('parent_nid', $quiz_nid);