original_string: public function review_form($page, $showall, $displayoptions, $content, $attemptobj) {
          if ($displayoptions->flags != question_display_options::EDITABLE) {
              return $content;
          }
  
          $this->page->requires->js_init_call('M.mod_quiz.init_review_form', null, false,
                  quiz_get_js_module());
  
          $output = '';
          $output .= html_writer::start_tag('form', array('action' => $attemptobj->review_url(null,
                  $page, $showall), 'method' => 'post', 'class' => 'questionflagsaveform'));
          $output .= html_writer::start_tag('div');
          $output .= $content;
          $output .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey',
                  'value' => sesskey()));
          $output .= html_writer::start_tag('div', array('class' => 'submitbtns'));
          $output .= html_writer::empty_tag('input', array('type' => 'submit',
                  'class' => 'questionflagsavebutton btn btn-secondary', 'name' => 'savingflags',
                  'value' => get_string('saveflags', 'question')));
          $output .= html_writer::end_tag('div');
          $output .= html_writer::end_tag('div');
          $output .= html_writer::end_tag('form');
  
          return $output;
      }
code: public function review_form($page, $showall, $displayoptions, $content, $attemptobj) {
          if ($displayoptions->flags != question_display_options::EDITABLE) {
              return $content;
          }
  
          $this->page->requires->js_init_call('M.mod_quiz.init_review_form', null, false,
                  quiz_get_js_module());
  
          $output = '';
          $output .= html_writer::start_tag('form', array('action' => $attemptobj->review_url(null,
                  $page, $showall), 'method' => 'post', 'class' => 'questionflagsaveform'));
          $output .= html_writer::start_tag('div');
          $output .= $content;
          $output .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey',
                  'value' => sesskey()));
          $output .= html_writer::start_tag('div', array('class' => 'submitbtns'));
          $output .= html_writer::empty_tag('input', array('type' => 'submit',
                  'class' => 'questionflagsavebutton btn btn-secondary', 'name' => 'savingflags',
                  'value' => get_string('saveflags', 'question')));
          $output .= html_writer::end_tag('div');
          $output .= html_writer::end_tag('div');
          $output .= html_writer::end_tag('form');
  
          return $output;
      }
code_tokens: public function review_form ( $ page , $ showall , $ displayoptions , $ content , $ attemptobj ) { if ( $ displayoptions -> flags != question_display_options :: EDITABLE ) { return $ content ; } $ this -> page -> requires -> js_init_call ( 'M.mod_quiz.init_review_form' , null , false , quiz_get_js_module ( ) ) ; $ output = '' ; $ output .= html_writer :: start_tag ( 'form' , array ( 'action' => $ attemptobj -> review_url ( null , $ page , $ showall ) , 'method' => 'post' , 'class' => 'questionflagsaveform' ) ) ; $ output .= html_writer :: start_tag ( 'div' ) ; $ output .= $ content ; $ output .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'hidden' , 'name' => 'sesskey' , 'value' => sesskey ( ) ) ) ; $ output .= html_writer :: start_tag ( 'div' , array ( 'class' => 'submitbtns' ) ) ; $ output .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'submit' , 'class' => 'questionflagsavebutton btn btn-secondary' , 'name' => 'savingflags' , 'value' => get_string ( 'saveflags' , 'question' ) ) ) ; $ output .= html_writer :: end_tag ( 'div' ) ; $ output .= html_writer :: end_tag ( 'div' ) ; $ output .= html_writer :: end_tag ( 'form' ) ; return $ output ; }
docstring: Renders the main bit of the review page.
  
  @param array $summarydata contain row data for table
  @param int $page current page number
  @param mod_quiz_display_options $displayoptions instance of mod_quiz_display_options
  @param $content contains each question
  @param quiz_attempt $attemptobj instance of quiz_attempt
  @param bool $showall if true display attempt on one page
docstring_tokens: Renders the main bit of the review page .