original_string: protected function add_all_values_to_output() {
          $tablecolumns = array_keys($this->columns);
          $tableheaders = $this->headers;
  
          $items = $this->feedbackstructure->get_items(true);
          if (!$this->is_downloading() && !$this->buildforexternal) {
              // In preview mode do not show all columns or the page becomes unreadable.
              // The information message will be displayed to the teacher that the rest of the data can be viewed when downloading.
              $items = array_slice($items, 0, self::PREVIEWCOLUMNSLIMIT, true);
          }
  
          $columnscount = 0;
          $this->hasmorecolumns = max(0, count($items) - self::TABLEJOINLIMIT);
  
          // Add feedback response values.
          foreach ($items as $nr => $item) {
              if ($columnscount++ < self::TABLEJOINLIMIT) {
                  // Mysql has a limit on the number of tables in the join, so we only add limited number of columns here,
                  // the rest will be added in {@link self::build_table()} and {@link self::build_table_chunk()} functions.
                  $this->sql->fields .= ", v{$nr}.value AS val{$nr}";
                  $this->sql->from .= " LEFT OUTER JOIN {feedback_value} v{$nr} " .
                      "ON v{$nr}.completed = c.id AND v{$nr}.item = :itemid{$nr}";
                  $this->sql->params["itemid{$nr}"] = $item->id;
              }
  
              $tablecolumns[] = "val{$nr}";
              $itemobj = feedback_get_item_class($item->typ);
              $tableheaders[] = $itemobj->get_display_name($item);
          }
  
          // Add 'Delete entry' column.
          if (!$this->is_downloading() && has_capability('mod/feedback:deletesubmissions', $this->get_context())) {
              $tablecolumns[] = 'deleteentry';
              $tableheaders[] = '';
          }
  
          $this->define_columns($tablecolumns);
          $this->define_headers($tableheaders);
      }
code: protected function add_all_values_to_output() {
          $tablecolumns = array_keys($this->columns);
          $tableheaders = $this->headers;
  
          $items = $this->feedbackstructure->get_items(true);
          if (!$this->is_downloading() && !$this->buildforexternal) {
              // In preview mode do not show all columns or the page becomes unreadable.
              // The information message will be displayed to the teacher that the rest of the data can be viewed when downloading.
              $items = array_slice($items, 0, self::PREVIEWCOLUMNSLIMIT, true);
          }
  
          $columnscount = 0;
          $this->hasmorecolumns = max(0, count($items) - self::TABLEJOINLIMIT);
  
          // Add feedback response values.
          foreach ($items as $nr => $item) {
              if ($columnscount++ < self::TABLEJOINLIMIT) {
                  // Mysql has a limit on the number of tables in the join, so we only add limited number of columns here,
                  // the rest will be added in {@link self::build_table()} and {@link self::build_table_chunk()} functions.
                  $this->sql->fields .= ", v{$nr}.value AS val{$nr}";
                  $this->sql->from .= " LEFT OUTER JOIN {feedback_value} v{$nr} " .
                      "ON v{$nr}.completed = c.id AND v{$nr}.item = :itemid{$nr}";
                  $this->sql->params["itemid{$nr}"] = $item->id;
              }
  
              $tablecolumns[] = "val{$nr}";
              $itemobj = feedback_get_item_class($item->typ);
              $tableheaders[] = $itemobj->get_display_name($item);
          }
  
          // Add 'Delete entry' column.
          if (!$this->is_downloading() && has_capability('mod/feedback:deletesubmissions', $this->get_context())) {
              $tablecolumns[] = 'deleteentry';
              $tableheaders[] = '';
          }
  
          $this->define_columns($tablecolumns);
          $this->define_headers($tableheaders);
      }
code_tokens: protected function add_all_values_to_output ( ) { $ tablecolumns = array_keys ( $ this -> columns ) ; $ tableheaders = $ this -> headers ; $ items = $ this -> feedbackstructure -> get_items ( true ) ; if ( ! $ this -> is_downloading ( ) && ! $ this -> buildforexternal ) { // In preview mode do not show all columns or the page becomes unreadable. // The information message will be displayed to the teacher that the rest of the data can be viewed when downloading. $ items = array_slice ( $ items , 0 , self :: PREVIEWCOLUMNSLIMIT , true ) ; } $ columnscount = 0 ; $ this -> hasmorecolumns = max ( 0 , count ( $ items ) - self :: TABLEJOINLIMIT ) ; // Add feedback response values. foreach ( $ items as $ nr => $ item ) { if ( $ columnscount ++ < self :: TABLEJOINLIMIT ) { // Mysql has a limit on the number of tables in the join, so we only add limited number of columns here, // the rest will be added in {@link self::build_table()} and {@link self::build_table_chunk()} functions. $ this -> sql -> fields .= ", v{$nr}.value AS val{$nr}" ; $ this -> sql -> from .= " LEFT OUTER JOIN {feedback_value} v{$nr} " . "ON v{$nr}.completed = c.id AND v{$nr}.item = :itemid{$nr}" ; $ this -> sql -> params [ "itemid{$nr}" ] = $ item -> id ; } $ tablecolumns [ ] = "val{$nr}" ; $ itemobj = feedback_get_item_class ( $ item -> typ ) ; $ tableheaders [ ] = $ itemobj -> get_display_name ( $ item ) ; } // Add 'Delete entry' column. if ( ! $ this -> is_downloading ( ) && has_capability ( 'mod/feedback:deletesubmissions' , $ this -> get_context ( ) ) ) { $ tablecolumns [ ] = 'deleteentry' ; $ tableheaders [ ] = '' ; } $ this -> define_columns ( $ tablecolumns ) ; $ this -> define_headers ( $ tableheaders ) ; }
docstring: Adds common values to the table that do not change the number or order of entries and
  are only needed when outputting or downloading data.
docstring_tokens: Adds common values to the table that do not change the number or order of entries and are only needed when outputting or downloading data .