original_string: protected function output_quiz_structure_analysis_table($questionstats) {
          $limitvariants = !$this->table->is_downloading();
          foreach ($questionstats->get_all_slots() as $slot) {
              // Output the data for these question statistics.
              $structureanalysis = $questionstats->structure_analysis_for_one_slot($slot, $limitvariants);
              if (is_null($structureanalysis)) {
                  $this->table->add_separator();
              } else {
                  foreach ($structureanalysis as $row) {
                      $bgcssclass = '';
                      // The only way to identify in this point of the report if a row is a summary row
                      // is checking if it's a instance of calculated_question_summary class.
                      if ($row instanceof \core_question\statistics\questions\calculated_question_summary) {
                          // Apply a custom css class to summary row to remove border and reduce paddings.
                          $bgcssclass = 'quiz_statistics-summaryrow';
  
                          // For question that contain a summary row, we add a "hidden" row in between so the report
                          // display both rows with same background color.
                          $this->table->add_data_keyed([], 'd-none hidden');
                      }
  
                      $this->table->add_data_keyed($this->table->format_row($row), $bgcssclass);
                  }
              }
          }
  
          $this->table->finish_output(!$this->table->is_downloading());
      }
code: protected function output_quiz_structure_analysis_table($questionstats) {
          $limitvariants = !$this->table->is_downloading();
          foreach ($questionstats->get_all_slots() as $slot) {
              // Output the data for these question statistics.
              $structureanalysis = $questionstats->structure_analysis_for_one_slot($slot, $limitvariants);
              if (is_null($structureanalysis)) {
                  $this->table->add_separator();
              } else {
                  foreach ($structureanalysis as $row) {
                      $bgcssclass = '';
                      // The only way to identify in this point of the report if a row is a summary row
                      // is checking if it's a instance of calculated_question_summary class.
                      if ($row instanceof \core_question\statistics\questions\calculated_question_summary) {
                          // Apply a custom css class to summary row to remove border and reduce paddings.
                          $bgcssclass = 'quiz_statistics-summaryrow';
  
                          // For question that contain a summary row, we add a "hidden" row in between so the report
                          // display both rows with same background color.
                          $this->table->add_data_keyed([], 'd-none hidden');
                      }
  
                      $this->table->add_data_keyed($this->table->format_row($row), $bgcssclass);
                  }
              }
          }
  
          $this->table->finish_output(!$this->table->is_downloading());
      }
code_tokens: protected function output_quiz_structure_analysis_table ( $ questionstats ) { $ limitvariants = ! $ this -> table -> is_downloading ( ) ; foreach ( $ questionstats -> get_all_slots ( ) as $ slot ) { // Output the data for these question statistics. $ structureanalysis = $ questionstats -> structure_analysis_for_one_slot ( $ slot , $ limitvariants ) ; if ( is_null ( $ structureanalysis ) ) { $ this -> table -> add_separator ( ) ; } else { foreach ( $ structureanalysis as $ row ) { $ bgcssclass = '' ; // The only way to identify in this point of the report if a row is a summary row // is checking if it's a instance of calculated_question_summary class. if ( $ row instanceof \ core_question \ statistics \ questions \ calculated_question_summary ) { // Apply a custom css class to summary row to remove border and reduce paddings. $ bgcssclass = 'quiz_statistics-summaryrow' ; // For question that contain a summary row, we add a "hidden" row in between so the report // display both rows with same background color. $ this -> table -> add_data_keyed ( [ ] , 'd-none hidden' ) ; } $ this -> table -> add_data_keyed ( $ this -> table -> format_row ( $ row ) , $ bgcssclass ) ; } } } $ this -> table -> finish_output ( ! $ this -> table -> is_downloading ( ) ) ; }
docstring: Output the table that lists all the questions in the quiz with their statistics.
  
  @param \core_question\statistics\questions\all_calculated_for_qubaid_condition $questionstats the stats for all questions in
  the quiz including subqs and
  variants.
docstring_tokens: Output the table that lists all the questions in the quiz with their statistics .