Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 310] [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   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  /**
  18   * Generates a JMeter test plan to performance comparison.
  19   *
  20   * @package tool_generator
  21   * @copyright 2013 David MonllaĆ³
  22   * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23   */
  24  
  25  require(__DIR__ . '/../../../config.php');
  26  require_once($CFG->libdir . '/adminlib.php');
  27  
  28  // Initialise page and check permissions.
  29  admin_externalpage_setup('toolgeneratortestplan');
  30  
  31  // Start page.
  32  echo $OUTPUT->header();
  33  echo $OUTPUT->heading(get_string('maketestplan', 'tool_generator'));
  34  
  35  // Information message.
  36  $context = context_system::instance();
  37  $markdownlink = '[' . tool_generator_testplan_backend::get_repourl() . '](' . tool_generator_testplan_backend::get_repourl() . ')';
  38  echo $OUTPUT->box(format_text(get_string('testplanexplanation', 'tool_generator', $markdownlink),
  39          FORMAT_MARKDOWN, array('context' => $context)));
  40  
  41  // Check debugging is set to DEVELOPER.
  42  if (!$CFG->debugdeveloper) {
  43      echo $OUTPUT->notification(get_string('error_notdebugging', 'tool_generator'));
  44      echo $OUTPUT->footer();
  45      exit;
  46  }
  47  
  48  // Set up the form.
  49  $mform = new tool_generator_make_testplan_form('maketestplan.php');
  50  if ($data = $mform->get_data()) {
  51  
  52      // Creating both test plan and users files.
  53      $testplanfile = tool_generator_testplan_backend::create_testplan_file($data->courseid, $data->size);
  54      $usersfile = tool_generator_testplan_backend::create_users_file($data->courseid, $data->updateuserspassword);
  55  
  56      // Test plan link.
  57      $testplanurl = moodle_url::make_pluginfile_url(
  58          $testplanfile->get_contextid(),
  59          $testplanfile->get_component(),
  60          $testplanfile->get_filearea(),
  61          $testplanfile->get_itemid(),
  62          $testplanfile->get_filepath(),
  63          $testplanfile->get_filename()
  64      );
  65      echo html_writer::div(
  66          html_writer::link($testplanurl, get_string('downloadtestplan', 'tool_generator'))
  67      );
  68  
  69      // Users file link.
  70      $usersfileurl = moodle_url::make_pluginfile_url(
  71          $usersfile->get_contextid(),
  72          $usersfile->get_component(),
  73          $usersfile->get_filearea(),
  74          $usersfile->get_itemid(),
  75          $usersfile->get_filepath(),
  76          $usersfile->get_filename()
  77      );
  78      echo html_writer::div(
  79          html_writer::link($usersfileurl, get_string('downloadusersfile', 'tool_generator'))
  80      );
  81  
  82  } else {
  83      // Display form.
  84      $mform->display();
  85  }
  86  
  87  echo $OUTPUT->footer();