Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.
   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  namespace mod_quiz\output;
  18  
  19  use html_writer;
  20  
  21  /**
  22   * Specialisation of {@see navigation_panel_base} for the review quiz page.
  23   *
  24   * This class is not currently renderable or templatable, but it probably should be in the future,
  25   * which is why it is already in the output namespace.
  26   *
  27   * @package   mod_quiz
  28   * @category  output
  29   * @copyright 2008 Tim Hunt
  30   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  31   */
  32  class navigation_panel_review extends navigation_panel_base {
  33      public function get_question_url($slot) {
  34          return $this->attemptobj->review_url($slot, -1, $this->showall, $this->page);
  35      }
  36  
  37      public function render_end_bits(renderer $output) {
  38          $html = '';
  39          if ($this->attemptobj->get_num_pages() > 1) {
  40              if ($this->showall) {
  41                  $html .= html_writer::link($this->attemptobj->review_url(null, 0, false),
  42                          get_string('showeachpage', 'quiz'));
  43              } else {
  44                  $html .= html_writer::link($this->attemptobj->review_url(null, 0, true),
  45                          get_string('showall', 'quiz'));
  46              }
  47          }
  48          $html .= $output->finish_review_link($this->attemptobj);
  49          $html .= $this->render_restart_preview_link($output);
  50          return $html;
  51      }
  52  }