original_string: public function render_grading_interface($questioninfo, $listquestionsurl, $filterform, $paginginfo, $pagingbar, $formaction,
              $hiddeninputs, $gradequestioncontent) {
          $output = '';
  
          $output .= question_engine::initialise_js();
  
          $output .= $this->heading(get_string('gradingquestionx', 'quiz_grading', $questioninfo), 3);
  
          $output .= html_writer::tag('p', html_writer::link($listquestionsurl,
                  get_string('backtothelistofquestions', 'quiz_grading')),
                  ['class' => 'mdl-align']);
  
          $output .= $filterform->render();
  
          $output .= $this->heading(get_string('gradingattemptsxtoyofz', 'quiz_grading', $paginginfo), 3);
  
          if ($pagingbar->count > $pagingbar->pagesize && $pagingbar->order != 'random') {
              $output .= $this->paging_bar($pagingbar->count, $pagingbar->page, $pagingbar->pagesize, $pagingbar->pagingurl);
          }
  
          $output .= html_writer::start_tag('form', [
                  'method' => 'post',
                  'action' => $formaction,
                  'class' => 'mform',
                  'id' => 'manualgradingform'
          ]);
          $output .= html_writer::start_tag('div');
          $output .= html_writer::input_hidden_params(new moodle_url('', $hiddeninputs));
  
          $output .= $gradequestioncontent;
  
          $output .= html_writer::tag('div', html_writer::empty_tag('input', [
                  'type' => 'submit',
                  'class' => 'btn btn-primary',
                  'value' => get_string('saveandnext', 'quiz_grading')
          ]), ['class' => 'mdl-align']);
          $output .= html_writer::end_tag('div') . html_writer::end_tag('form');
  
          return $output;
      }
code: public function render_grading_interface($questioninfo, $listquestionsurl, $filterform, $paginginfo, $pagingbar, $formaction,
              $hiddeninputs, $gradequestioncontent) {
          $output = '';
  
          $output .= question_engine::initialise_js();
  
          $output .= $this->heading(get_string('gradingquestionx', 'quiz_grading', $questioninfo), 3);
  
          $output .= html_writer::tag('p', html_writer::link($listquestionsurl,
                  get_string('backtothelistofquestions', 'quiz_grading')),
                  ['class' => 'mdl-align']);
  
          $output .= $filterform->render();
  
          $output .= $this->heading(get_string('gradingattemptsxtoyofz', 'quiz_grading', $paginginfo), 3);
  
          if ($pagingbar->count > $pagingbar->pagesize && $pagingbar->order != 'random') {
              $output .= $this->paging_bar($pagingbar->count, $pagingbar->page, $pagingbar->pagesize, $pagingbar->pagingurl);
          }
  
          $output .= html_writer::start_tag('form', [
                  'method' => 'post',
                  'action' => $formaction,
                  'class' => 'mform',
                  'id' => 'manualgradingform'
          ]);
          $output .= html_writer::start_tag('div');
          $output .= html_writer::input_hidden_params(new moodle_url('', $hiddeninputs));
  
          $output .= $gradequestioncontent;
  
          $output .= html_writer::tag('div', html_writer::empty_tag('input', [
                  'type' => 'submit',
                  'class' => 'btn btn-primary',
                  'value' => get_string('saveandnext', 'quiz_grading')
          ]), ['class' => 'mdl-align']);
          $output .= html_writer::end_tag('div') . html_writer::end_tag('form');
  
          return $output;
      }
code_tokens: public function render_grading_interface ( $ questioninfo , $ listquestionsurl , $ filterform , $ paginginfo , $ pagingbar , $ formaction , $ hiddeninputs , $ gradequestioncontent ) { $ output = '' ; $ output .= question_engine :: initialise_js ( ) ; $ output .= $ this -> heading ( get_string ( 'gradingquestionx' , 'quiz_grading' , $ questioninfo ) , 3 ) ; $ output .= html_writer :: tag ( 'p' , html_writer :: link ( $ listquestionsurl , get_string ( 'backtothelistofquestions' , 'quiz_grading' ) ) , [ 'class' => 'mdl-align' ] ) ; $ output .= $ filterform -> render ( ) ; $ output .= $ this -> heading ( get_string ( 'gradingattemptsxtoyofz' , 'quiz_grading' , $ paginginfo ) , 3 ) ; if ( $ pagingbar -> count > $ pagingbar -> pagesize && $ pagingbar -> order != 'random' ) { $ output .= $ this -> paging_bar ( $ pagingbar -> count , $ pagingbar -> page , $ pagingbar -> pagesize , $ pagingbar -> pagingurl ) ; } $ output .= html_writer :: start_tag ( 'form' , [ 'method' => 'post' , 'action' => $ formaction , 'class' => 'mform' , 'id' => 'manualgradingform' ] ) ; $ output .= html_writer :: start_tag ( 'div' ) ; $ output .= html_writer :: input_hidden_params ( new moodle_url ( '' , $ hiddeninputs ) ) ; $ output .= $ gradequestioncontent ; $ output .= html_writer :: tag ( 'div' , html_writer :: empty_tag ( 'input' , [ 'type' => 'submit' , 'class' => 'btn btn-primary' , 'value' => get_string ( 'saveandnext' , 'quiz_grading' ) ] ) , [ 'class' => 'mdl-align' ] ) ; $ output .= html_writer :: end_tag ( 'div' ) . html_writer :: end_tag ( 'form' ) ; return $ output ; }
docstring: Render grading page.
  
  @param object $questioninfo Information of a question.
  @param moodle_url $listquestionsurl Url of the page that list all questions.
  @param quiz_grading_settings_form $filterform Question filter form.
  @param object $paginginfo Pagination information.
  @param object $pagingbar Pagination bar information.
  @param moodle_url $formaction Form submit url.
  @param array $hiddeninputs List of hidden input fields.
  @param string $gradequestioncontent HTML string of question content.
  @return string The HTML for the grading interface.
  @throws coding_exception
  @throws moodle_exception
docstring_tokens: Render grading page .