protected function output_all_question_response_analysis($qubaids,
                                                             $questions,
                                                             $questionstats,
                                                             $reporturl,
                                                             $whichtries = question_attempt::LAST_TRY) {
        foreach ($questions as $slot => $question) {
            if (question_bank::get_qtype(
                $question->qtype, false)->can_analyse_responses()
            ) {
                if ($questionstats->for_slot($slot)->get_variants()) {
                    foreach ($questionstats->for_slot($slot)->get_variants() as $variantno) {
                        $this->output_individual_question_response_analysis($question,
                                                                            $variantno,
                                                                            $questionstats->for_slot($slot, $variantno)->s,
                                                                            $reporturl,
                                                                            $qubaids,
                                                                            $whichtries);
                    }
                } else {
                    $this->output_individual_question_response_analysis($question,
                                                                        null,
                                                                        $questionstats->for_slot($slot)->s,
                                                                        $reporturl,
                                                                        $qubaids,
                                                                        $whichtries);
                }
            } else if ($subqids = $questionstats->for_slot($slot)->get_sub_question_ids()) {
                foreach ($subqids as $subqid) {
                    if ($variants = $questionstats->for_subq($subqid)->get_variants()) {
                        foreach ($variants as $variantno) {
                            $this->output_individual_question_response_analysis(
                                $questionstats->for_subq($subqid, $variantno)->question,
                                $variantno,
                                $questionstats->for_subq($subqid, $variantno)->s,
                                $reporturl,
                                $qubaids,
                                $whichtries);
                        }
                    } else {
                        $this->output_individual_question_response_analysis(
                            $questionstats->for_subq($subqid)->question,
                            null,
                            $questionstats->for_subq($subqid)->s,
                            $reporturl,
                            $qubaids,
                            $whichtries);

                    }
                }
            }
        }
    }
protected function output_all_question_response_analysis($qubaids,
                                                             $questions,
                                                             $questionstats,
                                                             $reporturl,
                                                             $whichtries = question_attempt::LAST_TRY) {
        foreach ($questions as $slot => $question) {
            if (question_bank::get_qtype(
                $question->qtype, false)->can_analyse_responses()
            ) {
                if ($questionstats->for_slot($slot)->get_variants()) {
                    foreach ($questionstats->for_slot($slot)->get_variants() as $variantno) {
                        $this->output_individual_question_response_analysis($question,
                                                                            $variantno,
                                                                            $questionstats->for_slot($slot, $variantno)->s,
                                                                            $reporturl,
                                                                            $qubaids,
                                                                            $whichtries);
                    }
                } else {
                    $this->output_individual_question_response_analysis($question,
                                                                        null,
                                                                        $questionstats->for_slot($slot)->s,
                                                                        $reporturl,
                                                                        $qubaids,
                                                                        $whichtries);
                }
            } else if ($subqids = $questionstats->for_slot($slot)->get_sub_question_ids()) {
                foreach ($subqids as $subqid) {
                    if ($variants = $questionstats->for_subq($subqid)->get_variants()) {
                        foreach ($variants as $variantno) {
                            $this->output_individual_question_response_analysis(
                                $questionstats->for_subq($subqid, $variantno)->question,
                                $variantno,
                                $questionstats->for_subq($subqid, $variantno)->s,
                                $reporturl,
                                $qubaids,
                                $whichtries);
                        }
                    } else {
                        $this->output_individual_question_response_analysis(
                            $questionstats->for_subq($subqid)->question,
                            null,
                            $questionstats->for_subq($subqid)->s,
                            $reporturl,
                            $qubaids,
                            $whichtries);

                    }
                }
            }
        }
    }
protected function output_all_question_response_analysis ( $ qubaids , $ questions , $ questionstats , $ reporturl , $ whichtries = question_attempt :: LAST_TRY ) { foreach ( $ questions as $ slot => $ question ) { if ( question_bank :: get_qtype ( $ question -> qtype , false ) -> can_analyse_responses ( ) ) { if ( $ questionstats -> for_slot ( $ slot ) -> get_variants ( ) ) { foreach ( $ questionstats -> for_slot ( $ slot ) -> get_variants ( ) as $ variantno ) { $ this -> output_individual_question_response_analysis ( $ question , $ variantno , $ questionstats -> for_slot ( $ slot , $ variantno ) -> s , $ reporturl , $ qubaids , $ whichtries ) ; } } else { $ this -> output_individual_question_response_analysis ( $ question , null , $ questionstats -> for_slot ( $ slot ) -> s , $ reporturl , $ qubaids , $ whichtries ) ; } } else if ( $ subqids = $ questionstats -> for_slot ( $ slot ) -> get_sub_question_ids ( ) ) { foreach ( $ subqids as $ subqid ) { if ( $ variants = $ questionstats -> for_subq ( $ subqid ) -> get_variants ( ) ) { foreach ( $ variants as $ variantno ) { $ this -> output_individual_question_response_analysis ( $ questionstats -> for_subq ( $ subqid , $ variantno ) -> question , $ variantno , $ questionstats -> for_subq ( $ subqid , $ variantno ) -> s , $ reporturl , $ qubaids , $ whichtries ) ; } } else { $ this -> output_individual_question_response_analysis ( $ questionstats -> for_subq ( $ subqid ) -> question , null , $ questionstats -> for_subq ( $ subqid ) -> s , $ reporturl , $ qubaids , $ whichtries ) ; } } } } }
Output all response analysis for all questions, sub-questions and variants. For download in a number of formats.

@param $qubaids
@param $questions
@param $questionstats
@param $reporturl
@param $whichtries string
Output all response analysis for all questions sub - questions and variants . For download in a number of formats .